
Tengo una máquina en AWS EC2 que ejecuta Ubuntu 16.04 (B) con Wireguard ejecutándose como servidor VPN para algunos dispositivos Road Warrior (C).
Intentaré esbozarlo a continuación:
+-----+ +-----+ +-----+
| | ---------------------------> | | -------------------------> | |
| 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 | |
+-----+ +-----+ +-----+
Quiero enrutar el tráfico dirigido 10.70.0.0/24
desde (A) a (C) a través de (B).
Intenté la siguiente configuración:
En el anfitrión (A):
ip route add 10.70.0.0/24 via 172.30.0.6
El grupo de seguridad EC2 permite todo el tráfico hacia y desde 172.16.0.0/12
.
En el anfitrión (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
He verificado que el reenvío esté habilitado para todas las interfaces como se describe aquí:https://askubuntu.com/a/923292
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.wg0.forwarding = 1
El grupo de seguridad EC2 permite todo el tráfico hacia y desde 172.16.0.0/12
.
Incluso intenté DEFAULT_FORWARD_POLICY="ACCEPT"
configurar /etc/default/ufw
.
No tengo idea de qué más falta aquí, no puedo hacer pasar ningún paquete. En el host (B) iptables
no ve ningún paquete pasando por su FORWARD
cadena:
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