Используя iptables
на моем маршрутизаторе (dd-wrt), я бы хотел перенаправлять запросы на маршрутизатор через порт 64738 из локальной сети на IP (192.168.10.14) в глобальной сети. Это противоположно норме (пересылка запроса из глобальной сети и IP-адрес в локальной сети), и я не могу заставить его работать. Вот что я думаю должно работать (но не работает):
root@DD-WRT:~# iptables -t nat -A PREROUTING -p tcp -i vlan0 --dport 64738 -j DNAT --to-destination 192.168.10.14:64738
root@DD-WRT:~# iptables -t nat -A PREROUTING -p udp -i vlan0 --dport 64738 -j DNAT --to-destination 192.168.10.14:64738
root@DD-WRT:~# iptables -A FORWARD -p tcp -d 192.168.10.14 --dport 64738 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
root@DD-WRT:~# iptables -A FORWARD -p udp -d 192.168.10.14 --dport 64738 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Но попытка подключения (IP-адрес маршрутизатора здесь 192.168.9.2) завершается неудачно:
# nmap -p 64738 192.168.9.2
Starting Nmap 6.40 ( http://nmap.org ) at 2013-10-05 22:21 EDT
Nmap scan report for rr-netgear.501s.lyndrew.com (192.168.9.2)
Host is up (0.00024s latency).
PORT STATE SERVICE
64738/tcp closed unknown
MAC Address: 4C:60:DE:FF:7E:88 (Netgear)
Обратите внимание, что использование действующего IP-адреса WAN работает нормально:
# nmap -p 64738 192.168.10.14
Starting Nmap 6.40 ( http://nmap.org ) at 2013-10-05 22:21 EDT
Nmap scan report for raspi01.dmz.501s.lyndrew.com (192.168.10.14)
Host is up (0.0091s latency).
PORT STATE SERVICE
64738/tcp open unknown
Что мне делать?