iptable的一些疑問

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

iptable的一些疑問

文章Milx » 週五 2月 03, 2006 10:35 pm

引自http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-6.html#ss6.1

There is a specialized case of Source NAT called masquerading: it should only be used for dynamically-assigned IP addresses, such as standard dialups (for static IP addresses, use SNAT above).

為什麼他建議Masquerading適用於dynamically-assigned IP addresses

如果Masquerading用於static IP addresses會有什麼結果?
差異在哪裡?

引自http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-4.html#ss4.1

# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
為什麼需要這一行?
有更詳細的說明嗎?

架設nat有無可能被當作跳板呢(被同網域的設成gateway)?
Milx
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週五 11月 25, 2005 10:08 pm

文章d2207197 » 週六 2月 04, 2006 7:29 pm

MASQUERADE 會比 SNAT 耗資源,效能較差
所以能用 SNAT 就盡量用 SNAT 囉。

把 /proc/sys/net/ipv4/ip_forward 設成 1 是開啟 forward 功能,也就是能轉送別人的封包。

請問您的「被同網域的設成gateway」的同網域,是指 public IP 的同網域嗎?
只要打開 ip_forward,不必設 iptables 的 NAT,在 public IP 同網域的電腦應該可以連到 private IP 網域的其他電腦,只要把 gateway 設成你那台電腦就行了。所以這時設一下防火牆會比較好。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章willie0220 » 週六 2月 04, 2006 8:03 pm

就我所讀的文件中,我的理解是這樣的:
若是你的client端是浮動ip,那麼使用MASQUERADE是比較適合的。
因為如果你的client因為網路問題斷線,
此時client端若馬上又上線,可能會被分配到不同ip
此時MASQUERADE會察覺到client端ip變動,而改變其內部的對應表
讓client端可以馬上正常恢復連線

但是若是SNAT,他還是會記住你之前的ip,直到逾時了,才會捨棄該ip的資訊

所以結論就是:
若是client是浮動ip架構,就使用MASQUERADE,否則就是用SNAT
willie0220
可愛的小學生
可愛的小學生
 
文章: 70
註冊時間: 週二 1月 13, 2004 9:04 pm

文章Milx » 週六 2月 04, 2006 9:07 pm

我的情形是這樣的
學校分配每個人一個ip(140.xxx.xxx.xxx)和一個插孔
學校會驗證卡號和ip(經過登記)

而我有兩台電腦 想讓兩台電腦都上網
所以我一台要做nat
作nat主機這一台有一張網卡 兩個網路介面(140.xxx.xxx.xxx和private ip)

而nat功能我只想讓特定的電腦使用(不想被其他140.xxx.xxx.xxx的ip設為gateway)




d2207197 寫:把 /proc/sys/net/ipv4/ip_forward 設成 1 是開啟 forward 功能,也就是能轉送別人的封包。

別人是指誰呢?
Milx
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週五 11月 25, 2005 10:08 pm

文章d2207197 » 週日 2月 05, 2006 12:33 am

不想其他 140.xxx.xxx.xxx 的電腦從你的電腦連出去的話,在 iptables 的 NAT 上面設限就行了,用 -s 參數。像這樣
代碼: 選擇全部
iptables -t nat -A POSTROUTING -j SNAT --to 140.xxx.xxx.xxx -s 192.168.0.0/24 -o eth0


別人,就是除了自己以外叫做別人。
她設 gateway 為你,那你就會幫忙 routing 她的封包,把封包從你的 routing table 所設的裝置送出去。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章訪客 » 週日 2月 05, 2006 5:08 pm

d2207197 寫:
代碼: 選擇全部
iptables -t nat -A POSTROUTING -j SNAT --to 140.xxx.xxx.xxx -s 192.168.0.0/24 -o eth0



謝謝大大的回覆

可是這樣設的話 別人把他自己ip改成192.168.0.0/24中的一個
是不是也會連到我

就算加上判別卡號 也可以改變卡號
還有其他限制的方法嗎?
訪客
 

文章d2207197 » 週日 2月 05, 2006 5:19 pm

那就要看線路怎麼接了
如果那台電腦可以直接連到你設 192.168.0.x 的那個網卡,她如此設當然可以連到你

若她無法直接連到你設 192.168.0.x 的網卡,只能連到你 140.x.x.x 的網卡,當然無法連囉。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章Milx » 週日 2月 05, 2006 6:22 pm

謝謝大大們的回覆

:-D
Milx
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週五 11月 25, 2005 10:08 pm


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron