iptables ポートフォワーディングについて
ポートフォワーディングの設定を行いたくて試しにやっているのですが、
うまくいかないので教えていただけないでしょうか。
WinXPクライアント(192.168.1.22)
|
Linuxルーター(eth0=192.168.1.40, eth1=192.168.2.41)起動しているサーバーはssh,telnet,ftp,http,postgresです。
|
LinuxWebサーバー(eth0=192.168.2.81 port=80)起動しているサーバーはssh,telnet,ftp,http,postgres,cvspserverです。
WinXPクライアントからLinuxWebサーバーにアクセスしたいのですが、以下のように設定しても
WinXPクライアントのブラウザには「サーバーが見つかりません」と表示されてしまいます。
他に追記すべき設定、お気づき等ございましたら教えてください。よろしくお願いします。
Linuxルーターのiptables設定内容(service iptables stopを行った後、以下を設定しております)
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.2.81:80
iptables -A FORWARD -d 192.168.2.81 -p tcp --dport 80 -j ACCEPT
-------------------------------------------------------------
上記設定後iptables -Lとしてみたら以下のように表示されました。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere 192.168.2.81 tcp dpt:http
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
さらにservice iptables saveをして
cat /etc/sysconfig/iptablesとしてみたところ以下のように表示されました。
# Generated by iptables-save v1.3.5 on Sat Jan 30 11:46:10 2010
*nat
:PREROUTING ACCEPT [2:280]
:POSTROUTING ACCEPT [2:115]
:OUTPUT ACCEPT [2:115]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.81:80
COMMIT
# Completed on Sat Jan 30 11:46:10 2010
# Generated by iptables-save v1.3.5 on Sat Jan 30 11:46:10 2010
*filter
:INPUT ACCEPT [148:9894]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [169:16447]
-A FORWARD -d 192.168.2.81 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Sat Jan 30 11:46:10 2010
-------------------------------------------------------------
ちなみに以下のように設定してWinXPクライアントからsshで192.168.1.40の10000ポートに接続すると接続できました。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to 192.168.2.41:22
-------------------------------------------------------------
以下のように設定してWinXPクライアントから「telnet 192.168.1.40 10000」コマンドを発行してみるとしていない
時と比べて「接続中: 192.168.1.40...」となっている時間が長いので何かしら影響しているのかなと思います。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to 192.168.2.81:23
お礼
ご回答ありがとうございます。 ですが、ルールは any か ネットワークアドレス指定 でしか、記述しているので、名前解決ではないと考えています。 せっかくアドバイス頂いたのに、すみません。