2013-08-05 16 views
6

我想定義iptables的一個規則在Ubuntu POSTROUTING如下:iptables的POSTROUTING與SNAT的paritcular目的地IP

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -p tcp -d xxx.xx.xx.8 -j SNAT --to-source xxx.xx.xx.238 

它意味着目的地,IP xxx.xx.xx.8(一oublic IP),我想讓它的源IP爲xxx.xx.xx.238。

上述規則不起作用。 任何建議。 謝謝。

回答

6

我自己得到的解決方案如下: 我在子接口(eth0:0)中添加了一個新的IP,使用了我所需的NATting IP。例如xxx.xx.xx.238與eth0:0。 現在我在IPTABLE添加一條新的規則爲

$IPTABLES -t nat -A POSTROUTING -o eth0.0 -p tcp -d xxx.xx.xx.8 -j SNAT --to-source xxx.xx.xx.238 

訪問IP xxx.xx.xx.8中的應用程序時,它將NATting IP顯示爲xxx.xx.xx.238。

+0

「-d」參數對我有幫助, ,你打算寫「eth0.0」嗎?因爲你寫的子接口是「eth0:0」 – W4rlock

+0

是的,對於子接口我們需要在iptables規則中寫成eth0.0。我已經使用IP xxx.xx.xx.238作爲eth0:0子接口。 – Shyamkkhadka