有關NAT MASQUERADE的問題 - Linux

Table of Contents


各位前輩好
小弟最近再研究MASQUERADE的問題
碰到了一點瓶頸 希望各位前輩賜教 以下是問題描述
NAT的主機eth0 為192.168.1.1
而另外有一部機器會經過這個NAT往外送封包
假設此機器ip為 192.168.2.2
在此情況下我使用了MASQUERADE的方法
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
結果一切正常 也就是192.168.2.2的封包會被MASQUERADE成192.168.1.1再往外送

但現在問題來了 因為某些關係的因素
我必須先將192.168.2.2的封包攔截並將IP修改成192.168.3.3再送給NAT做MASQUERADE
但是此時的MASQUERADE卻不work了 我抓封包所抓出的source ip 還是192.168.3.3
並不是MASQUERADE後的192.168.1.1

但假如我在iptables中filter的FORWARD中加入
iptables -A FORWARD -s 192.168.3.3 -j DROP的話
封包是確實會被DROP掉 表示應該的確是有進入iptables的判斷
那為何MASQUERADE卻不work呢

小弟為初學者 希望各位前輩能給予意見!
謝謝

--

All Comments

Lauren avatarLauren2011-03-20
走eth1出去了?