iT邦幫忙

0

iptable port forward to IP

各位前輩,小弟在這邊請問一個問題
我有一台Firewall-1,下面接一個Lan
我現在新建一台新的Firewall-2,要作頻寬分流
現在我在Firewall-1下一個iptable command
$iptables -t nat -A PREROUTING -s 10.0.12.129 -i $lanIf -d ! $lanIP -p tcp --dport 80 -j DNAT --to-destination 10.0.12.210:80
讓這個10.0.12.129這個IP的80port 從10.0.12.210這個Firwall-2出去
可能因為我做了兩次NAT,他找不到原始的來源,所以我無法上網,想在這邊請問各位前輩,iptable有沒有什麼command可以做到我所要的要求,謝謝大家!

2 個回答

6
逮丸逮丸
iT邦大師 1 級 ‧ 2011-03-28 11:34:24
最佳解答

照您:

kc19800322提到:
--to-destination 10.0.12.210:80

應該是要在 10.0.12.210 上架一個 squid proxy 且 port 是 80 的,
這樣應就可通。

您所用的這個語法,
是比較常在做 transparent proxy 會用到的類似語法。

看更多先前的回應...收起先前的回應...

我在10.0.12.210 Firewall-2上有架一個squid,而且使用transparent proxy
我在Firewall-1有做transparent proxy,我想Lan分成兩部分,一部份透過Firewall-2上網去,所以我在transparent proxy command上面再加一條我剛剛那個command,讓他繞到Firewall-2去上網,會不會是因為兩次NAT,導致這樣無法上網?

如果在內部的一般PC設 10.0.12.210、port 80 為proxy的話,是否通呢?

假如Gateway指向10.0.12.210,是可以通的!

該ip可當gateway,跟該ip的port 80是listen的狀態是兩回事。
iptables 不會自動去listen、接收 port 80的任何query。
一台linux啟用可被forward封包,並不表示本身就有proxy的功能…
這可能要用TCP/IP協定來了解原理上的運作,
實務上能當gateway並不表示本身就是proxy。

2
harrier7
iT邦研究生 2 級 ‧ 2011-03-31 15:34:00

比較複雜一點的 iptables 建議可用 http://www.fwbuilder.org/index2.html 來設計。

我要發表回答

立即登入回答