最近、WireGuard について多くのことを耳にしています。最近 Kali リポジトリに追加されたので、大騒ぎが何であるかを簡単に試してみようと思いました。全体として、これは VPN ソリューションを構成するのに非常に優れた迅速なソリューションであり、チェックする価値があるかもしれません.
はじめに
WireGuard がレポジトリに追加されているため、インストールは素晴らしく簡単です:
apt install wireguard resolvconf
そして出発です。次は構成の時間です。ここで WireGuard が真価を発揮しました。起動と実行にほとんど時間がかからなかったからです。
サーバー上で、公開鍵と秘密鍵のペアを生成し、初期構成ファイルをセットアップする必要があります。
wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat > /etc/wireguard/wg0.conf << EOF
[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-
[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.222.222.2/32
EOF
そして、クライアントで同じプロセスを実行して、キー ペアと構成を確立します。
wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat /etc/wireguard/wg0.conf << EOF
[Interface]
Address = 10.222.222.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8
[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
EOF
これらは非常に単純な構成ですが、いくつか指摘する価値があります。まず、キー ペアからの出力を必要に応じて configs に配置する必要があります。さらに、クライアントの DNS 行は、DNS リークがローカルのデフォルト DNS サーバーを使用するのを防ぐのに役立ちます。必要に応じて、変更したい場合と変更したくない場合があります。
ただし、最も重要なのは「AllowedIPs」行です。これにより、IP が VPN を通過するかしないかが制御されます。この場合、VPN サーバーを介してすべてをルーティングするようにクライアントをセットアップします。これについては後で詳しく説明しますが、この基本的な構成を実行する方法を見てみましょう。
トンネルの開始と停止はとても簡単です。
# The VPN can be enabled using
wg-quick up wg0
# To disable the VPN:
wg-quick down wg0
# Information about the connection can be retrieved with following command:
wg show
そしてもちろん、サーバーで IP マスカレードと IP 転送を有効にする必要があります。
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
したがって、これで従来の VPN 構成ができました。標準の VPN セットアップを取得するだけの場合は、この時点で完了です。 OpenVPN を使用する場合と比較して、これにはいくつかの利点があります。たとえば、このソリューションははるかに高速であるように思われ、構成がはるかに単純であり、サーバーがパケットを持たないパケットに応答しないという点で、少しステルスです。それらにリンクされた適切なキーペア。しかし、ISO of Doom 構成を反映するように構成を変更し、起動時にサーバーに自動接続するクライアントを用意して、サーバーがクライアント ネットワークを経由してアクセスできるようにすることは興味深いかもしれないと考えました。
ドゥームのワイヤーガード!
まず最初に、クライアントで、IP 転送とマスカレードをすばやく設定しましょう。
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
それが完了したら、構成にいくつかのマイナーな変更を加えます。まず、サーバーで「AllowedIPs」行を変更して、レポート サイトにプライベート ネットワークを配置します。これは次のようになります:
[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-
[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.200.200.2/32, 192.168.2.0/24
サーバー上でその 1 行を変更したら、クライアントの「AllowedIPs」行を調整して、すべてを VPN サーバーにルーティングするオプションを削除します。
[Interface]
Address = 10.200.200.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8
[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 10.200.200.0/24
PersistentKeepalive = 21
以上です!
[email protected]:~# ping 192.168.2.22
PING 192.168.2.22 (192.168.2.22) 56(84) bytes of data.
64 bytes from 192.168.2.22: icmp_seq=19 ttl=63 time=50.2 ms
64 bytes from 192.168.2.22: icmp_seq=20 ttl=63 time=53.4 ms
64 bytes from 192.168.2.22: icmp_seq=21 ttl=63 time=48.1 ms
これで、VPN サーバーは WireGuard VPN の反対側のサブネットにアクセスできます。
まとめ
選択した VPN として WireGuard が OpenVPN に取って代わるのか、それとも最新の話題が最新のおもちゃを使用することへの興奮にすぎないのかは、時がたてばわかります.いずれにせよ、それをテストして、それが適切である場合に使用できることは素晴らしいことです.ここで見てきたように、セットアップは間違いなく簡単で、ユーザー ケースでは比較的汎用性があります。