Script
Scripts管理者
WireGuardインストール(Amazon Linux2)
Getting Started(全てVPN通信)
もはやGetting Startedではないけど。。。
結論から言うと
- IP Forward対応
- サーバ設定変更
- クライアント設定変更
IP Foward対応
/etc/sysctl.confに以下を記載。
sysctl反映。
$ sysctl -p
サーバ設定変更
[Interface]
PrivateKey = XXXXXXXXXXXXXXX
Address = 192.168.100.1/32
ListenPort = 51821
PostUp = iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; #追記
PostDown = iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; #追記
[Peer]
PublicKey = XXXXXXXXXXXXXXX
AllowedIPs = 192.168.100.2/32
Interface:PostUpは、WireGuard起動時にグローバルIPを持っているインタフェースであるeth0にフォワードするように設定。
Interface:PostDownは、WireGuard停止時にPostUpでの設定を停止するように設定。
クライアント設定
[Interface]
PrivateKey = XXXXXXXXXXXXXXX
Address = 192.168.100.2/32
DNS = 8.8.8.8 #追記
[Peer]
PublicKey = XXXXXXXXXXXXXXX
AllowedIPs = 0.0.0.0/0 #変更
Endpoint = xxx.xxx.xxx.xxx:51821
DNSは、とりあえずGoogleの(8.8.8.8)を設定。ここを設定しないとインターネットに接続できなかった。サーバ側でデフォルトで設定できないものなのか・・・
AllowedIPsは、0.0.0.0/0に変更し、全てのパケットをサーバに送信するように設定。
上記設定でVPNをつないでみて、無事グローバルIPが変わっていれば成功!!
おまけ
今回はAWSでの対応だったので、Security GroupでUDPポート空けたけど、サクラVPSの場合は、ufwコマンドで空けないとダメなのかな・・・
$ ufw allow 51821/udp
参考記事