2009年2月18日

[linux-users:108209] Re: iptablesでポートフォワード

中司と申します。

On Wed, 18 Feb 2009 12:56:08 +0900
SHIMODA Masa-aki 下田正明 <shimoda.masaaki@xxxxx> wrote:

> 鈴木さん
>
> 下田です。

> 通常のTCP/IP通信では行きと帰りの経路が変わることは問題になりませんが、
> NATが絡む場合は行きも帰りもNATを行ったノードを必ず経由させる必要があります。
>
>
> よって、パケットの経路が
> 行き : .3 -> .1(ここで宛先を.1から.2へ変換) -> .2
> 帰り : .2 -> .1(ここで送信元を.2から.1へ変換) -> .3
>
> となるように、
> 1.) .1のNATテーブルに、SNAT or SNAPT(IPマスカレード)の設定を追加する、または
> 2.) .2のルーティングテーブルに、.3宛は.1に投げるルーティングを個別に追加する
>
> のどちらかを実施すれば通信はできるようになると思います。(どちらも動作未確認)
> 1.) [root@xxxxx ~]# iptables -t nat -A PREROUTING (その他条件追加) -j MASQUERADE
> 2.) [root@xxxxx ~]# route add -host 192.168.11.3 gw 192.168.11.1
>
> ただし、副作用も大きいので設計/設定は慎重に行ってください。(特に2.)の方)
>
1.)の方ですが、
以下の設定でつながるようです。
但し、鈴木さんが実施しようとしている、srcのIP毎に転送先を変えるのは
試していません。うまくいったら教えて下さい。

iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101
iptables -A FORWARD -p tcp -d 192.168.0.101 --dport 80 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


構成は同じようなもので、すべてVMwareのゲストOS。
 192.168.0.49(client) : Ubuntu
 192.168.0.102(GW) : CentOS (iptables 設定)
 192.168.0.101(www) : vine4.2
 ( .49 -> .102 -> 101 ) でアクセスしました。


投稿者 xml-rpc : 2009年2月18日 22:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/82343
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。