web-dev-qa-db-ja.com

iptablesが動作しないポートを転送していますか?

ネットワークのルーターとして要求しているubuntuサーバー(14.04.1)があります。インターネットに接続するインターフェースeth0と、10.0.0.0ネットワークに接続するための2番目のインターフェースeth1があります。

Eth0に向けられたTCPトラフィック(この例では、IPが118.94.79.113であるとします)を、ポート27016の10.0.0.1のアドレスを持つeth1に転送しようとしています。

次のコマンドを順番に試しました。

Sudo echo "1" > /proc/sys/net/ipv4/ip_forward

Sudo sysctl net.ipv4.ip_forward=1

Sudo iptables -t nat -A PREROUTING -p tcp --dport 27016 -j DNAT --to-destination 10.0.0.104:27016

Sudo iptables -t nat -A POSTROUTING -j MASQUERADE

しかし、これはまったく機能しないようです。118.94.79.113:27016に接続して、10.0.0.104:27016で実行されているアプリケーションにアクセスできません。それは2つのインターフェースにまたがっていることと関係がありますか?

6
Trotski94

-i eth0PREROUTINGエントリに、-o eth0POSTROUTINGエントリに追加して、Sudo iptables -A FORWARD -i eth1 -j ACCEPTを実行してみてください

2
Ben