У меня есть куча 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
но это, похоже, не работает. Я не могу получить доступ к своему сервису на 10.10.10.10:80 из внешней сети, используя порт 216.58.216.238:80.
запустив ifconfig
после перезагрузки, я получаю несколько дополнительных интерфейсов, которые появляются. Например: eth0:1
. У него тот же HWaddr, что eth0
и 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