运行 Ubuntu 的 EC2 实例作为 Wireguard 网络的路由器

运行 Ubuntu 的 EC2 实例作为 Wireguard 网络的路由器

我在 AWS EC2 中有一台机器运行 Ubuntu 16.04 (B),其中 Wireguard 作为某些 Road Warrior 设备的 VPN 服务器运行 (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) 发往 (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

相关内容