web-dev-qa-db-ja.com

LANポートをWAN Ip with iptablesにポート転送するにはどうすればよいですか?

ルーター(dd-wrt)でiptablesを使用して、LANからWAN上のIP(192.168.10.14)にポート64738でルーターにリクエストを転送したいと思います。これは標準の反対であり(WANからLAN上の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)

実際のWAN IPを押すと正常に機能することに注意してください:

# 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

私は何をすべきですか?

3

最初に問題を分析します。

  1. TCPとUDPの両方を実行する必要がありますか?
  2. 両方向にNAT)を設定しましたか?(順方向ルート+逆方向ルート)
  3. 最初にフィルタリングをオフにします。 (すべてのルールを受け入れるを使用)

また、完全なiptablesをダンプして、サポートできるようにします

iptables -L

ps:ここに逆方向のルートは見当たりませんでした。なぜうまくいかなかったのでしょうか

1
user218473

これはうまくいきました:

iptables -t nat -A PREROUTING -i br0 -p tcp -d 192.168.9.2 --dport 64738 -j DNAT --to-destination 192.168.10.14:64738
iptables -t nat -A PREROUTING -i br0 -p udp -d 192.168.9.2 --dport 64738 -j DNAT --to-destination 192.168.10.14:64738
0