
AWS EC2 に Ubuntu 16.04 を実行するマシンが 1 台あり (B)、一部の Road Warrior デバイス用の VPN サーバーとして Wireguard が実行されています (C)。
以下にスケッチしてみます:
+-----+ +-----+ +-----+
| | ---------------------------> | | -------------------------> | |
| A | 172.30.0.5/16 172.30.0.6/16 | B | 10.70.0.1/24 10.70.0.2/32 | C |
| | ens5 eth0 | | wg0 wg0 | |
+-----+ +-----+ +-----+
10.70.0.0/24
(A) 宛のトラフィックを (B) 経由で (C) にルーティングしたい。
次の設定を試しました:
ホスト(A)の場合:
ip route add 10.70.0.0/24 via 172.30.0.6
EC2 セキュリティ グループは、 との間のすべてのトラフィックを許可します172.16.0.0/12
。
ホスト(B)の場合:
sysctl -w net.ipv4.ip_forward 1
ufw allow from 172.16.0.0/12
ufw route allow out on wg0
iptables -t nat -A POSTROUTING -s 172.16.0.0/12 -o wg0 -j MASQUERADE
ここで説明されているように、すべてのインターフェースで転送が有効になっていることを確認しました。https://askubuntu.com/a/923292
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.wg0.forwarding = 1
EC2 セキュリティ グループは、 との間のすべてのトラフィックを許可します172.16.0.0/12
。
DEFAULT_FORWARD_POLICY="ACCEPT"
に設定してみました/etc/default/ufw
。
他に何が欠けているのかわかりません。パケットを通過させることができません。ホスト (B) では、チェーンiptables
を通過するパケットは確認されません。FORWARD
iptables -nv -L FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ufw-before-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-before-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-after-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-reject-forward all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ufw-track-forward all -- * * 0.0.0.0/0 0.0.0.0/0