나는 여러 개의 WAN IP를 가지고 있으며 이를 여러 개의 LAN IP로 변환하고 싶지만 일부 포트만 엽니다. 변환하려는 WAN IP는 라우터가 인터넷에 연결하는 데 사용하는 기본 WAN IP가 아닙니다.
예를 들어, WAN IP 216.58.216.238을 LAN IP 10.10.10.10으로 변환하고 포트 80 및 443을 열려고 합니다.
처음에는 , , , , , , ifconfig
인터페이스가 표시됩니다 .br0
eth0
eth1
eth2
lo
vlan1
vlan2
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