
일부 Road Warrior 장치(C)에 대한 VPN 서버로 실행되는 Wireguard와 함께 Ubuntu 16.04(B)를 실행하는 AWS EC2에 한 대의 시스템이 있습니다.
아래에 스케치해 보겠습니다.
+-----+ +-----+ +-----+
| | ---------------------------> | | -------------------------> | |
| 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
(B)를 통해 (A)에서 (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