일대일 가상 IP 변환

일대일 가상 IP 변환

나는 여러 개의 WAN IP를 가지고 있으며 이를 여러 개의 LAN IP로 변환하고 싶지만 일부 포트만 엽니다. 변환하려는 WAN IP는 라우터가 인터넷에 연결하는 데 사용하는 기본 WAN IP가 아닙니다.

예를 들어, WAN IP 216.58.216.238을 LAN IP 10.10.10.10으로 변환하고 포트 80 및 443을 열려고 합니다.

처음에는 , , , , , , ifconfig인터페이스가 표시됩니다 .br0eth0eth1eth2lovlan1vlan2

vlan2나에게 할당된 외부 IP 주소입니다.

어떻게 번역하나요?

지금까지 시도한 내용은 다음과 같습니다.

ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0 up
iptables -t nat -A PREROUTING -i eth0 -d 216.58.216.238 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.10:80
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238

그러나 이것은 작동하지 않는 것 같습니다. 216.58.216.238:80 포트를 사용하는 외부 네트워크에서 10.10.10.10:80 서비스에 접속할 수 없습니다.

재부팅 후 나를 실행하면 ifconfig몇 가지 추가 인터페이스가 표시됩니다. 예를 들어: eth0:1. eth0과 동일한 HWaddr을 가지고 있고 vlan2, 올바른 외부 IP 주소가 할당되어 있지만 inet addr네트워크 외부에서는 여전히 장치를 볼 수 없습니다.

실행하면 iptables -t nat -vnL뭔가 등록된 것 같습니다. 예를 들어 다음과 같습니다.

Chain PREROUTING (policy ACCEPT 5212 packets, 475K bytes)
pkts bytes target prot opt in    out  source      destination
...
0    0     DNAT   tcp  --  eth0  *    0.0.0.0/0   216.58.216.238     tcp dpt:80 to 10.10.10.10:80
...

액세스를 허용하려면 무엇을 변경해야 하는지에 대한 아이디어가 있나요?

편집하다.

다음 명령을 사용하면 서비스가 제대로 작동하도록 할 수 있지만 모든 포트가 통과하도록 허용합니다. iptables에는 많은 스위치와 옵션이 있습니다.

ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0
iptables -t nat -I PREROUTING -d 216.58.216.238 -j DNAT --to 10.10.10.10
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238

관련 정보