여러 가상 인터페이스의 iptables 라우팅

여러 가상 인터페이스의 iptables 라우팅

외부에는 Azure vm1의 공개 인터페이스인 1.1.1.1이 있습니다. VM1의 내부 IP는 192.168.1.1입니다. 동일한 인터페이스에 연결되고 내부적으로 각각 192.168.1.2에 매핑되는 1.1.1.2(가상)와 몇 가지 유사한 버전도 있습니다. 이는 라우터용이며 요청된 공용 IP에 따라 포트 3389(및 기타)가 외부 IP로 전달되어야 합니다. 예를 들어, 1.1.1.1:3389가 요청되면 iptables는 이를 포트 5000에서 2.2.2.2로 전달해야 하지만, 1.1.1.2:3389가 요청되면 ip 테이블은 이를 포트 5000에서 2.2.2.3으로 전달해야 합니다. . 지금까지 나는 다음을 설정했습니다.

iptables -I INPUT -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 1.1.1.1 --dport 3389 -j DNAT --to-destination 2.2.2.2:5000
sudo iptables -t nat -A PREROUTING -p tcp -d 1.1.1.2 --dport 3389 -j DNAT --to-destination 2.2.2.3:5000
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I FORWARD -j ACCEPT
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward=1`

하지만 작동하지 않습니다. 조언해주세요.

관련 정보