[問題]又是nat......

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

版主: 阿信

[問題]又是nat......

文章訪客 » 週六 8月 02, 2003 4:26 pm

抱歉又發新主題
之前那個也許太亂了
加上我表達的也不清不楚.......... :crying:

我想我這樣說好了

有一台電腦透過nat發出一封包要求資料
經nat 時,nat會將來源改成自已的ip
再將其對應關係記下,再送出

等到了回應的封包傳回來時,利用之前所記下的對應關係
傳送回真正發送要求之電腦

現在真正發出要求電腦接收到他要的東西了
就關了電腦,睡覺去

那這時nat 裡那對應關係還在嗎?

正常來說,應該要有個機制去清除那些不用的記錄吧?
如果有那清除的機制是什麼呢?

抱歉!
麻煩大家了,謝謝...
訪客
 

re:[問題]又是nat......

文章阿信 » 週六 8月 02, 2003 4:38 pm

nat table中的對應表並不會因為client ip斷電而clean掉紀錄。

清除的方式就是用iptables -t nat -D xxxx,但這是要自己手動清除,除非是自己寫程式或是網路上有人已經實作了這部份。

但小弟有點好奇...有必要auto clean嗎?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]又是nat......

文章訪客 » 週六 8月 02, 2003 5:36 pm

阿信 寫:nat table中的對應表並不會因為client ip斷電而clean掉紀錄。

清除的方式就是用iptables -t nat -D xxxx,但這是要自己手動清除,除非是自己寫程式或是網路上有人已經實作了這部份。

但小弟有點好奇...有必要auto clean嗎?


可是我在實做中就是會被清掉....

現在的情形是
有二台電腦
a在nat下,b是真實ip

先透過a連到b,然後,將a連到b斷線
再利用 b抓到這封包的ip,連到a
可是失敗....
(若那table沒被清除的話,那應該可以連的進來....)

ps. 斷線之後,a已用socket 建立server等待連線
訪客
 

re:[問題]又是nat......

文章阿信 » 週六 8月 02, 2003 10:24 pm

看來有點奇怪呢。

你下iptables的參數是如何呢?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[問題]又是nat......

文章cychang » 週二 8月 05, 2003 2:57 am

我覺得問題基本上在於對 NAT 概念的誤解。
因為,在沒有特殊設定的情況下,
NAT 內部的的電腦是沒有辦法接受外部電腦的連線。

我建議看一下 netfilter 網站的 NAT HOWTO,
6.3 節所提的觀念特別注意看一下。
如果也能把 Tutorials 裡面的 "Iptables connection tracking" 這篇文章看懂,
那會更容易了解 NAT 如何紀錄連線的關係。
cychang
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週四 6月 19, 2003 10:48 pm
來自: Taipei

Re: [問題]又是nat......

文章jesse.sung » 週二 8月 05, 2003 9:07 am

Anonymous 寫:正常來說,應該要有個機制去清除那些不用的記錄吧?
如果有那清除的機制是什麼呢?

看起來不同的 protocol 會有不一樣的清除時限, 不過我只用了十分鐘 google/grep, 我不能保證我說的沒有問題....
也許訪客兄可以參考一下 kernel source 中 net/ipv4/netfilter/ 的部份, 我們再討論討論...
頭像
jesse.sung
程式開發組
程式開發組
 
文章: 654
註冊時間: 週三 9月 04, 2002 9:43 am

re:[問題]又是nat......

文章訪客 » 週三 8月 13, 2003 2:07 pm

阿信 寫:看來有點奇怪呢。

你下iptables的參數是如何呢?


抱歉,因為有突發事件
所以晚了那麼久......

下的參數是
iptable -t nat -A POSTROUTING -O eth0 -s 192.168.1.0/24 -j MDSQUERADE

只是做個轉送而已.......
訪客
 

Re: [問題]又是nat......

文章訪客 » 週三 8月 13, 2003 2:10 pm

jesse.sung 寫:
Anonymous 寫:正常來說,應該要有個機制去清除那些不用的記錄吧?
如果有那清除的機制是什麼呢?

看起來不同的 protocol 會有不一樣的清除時限, 不過我只用了十分鐘 google/grep, 我不能保證我說的沒有問題....
也許訪客兄可以參考一下 kernel source 中 net/ipv4/netfilter/ 的部份, 我們再討論討論...


在net/ipv4/netfilter/ 裡面的檔都是compiler過的 .o 檔說~
沒看到有文字檔的說明檔耶~
訪客
 

re:[問題]又是nat......

文章訪客 » 週三 8月 13, 2003 8:34 pm

cychang 寫:我覺得問題基本上在於對 NAT 概念的誤解。
因為,在沒有特殊設定的情況下,
NAT 內部的的電腦是沒有辦法接受外部電腦的連線。

我建議看一下 netfilter 網站的 NAT HOWTO,
6.3 節所提的觀念特別注意看一下。
如果也能把 Tutorials 裡面的 "Iptables connection tracking" 這篇文章看懂,
那會更容易了解 NAT 如何紀錄連線的關係。


大大的意思是nat 會擋掉要求連線的封包嗎?
因為用udp試過了
之前所說的方法,若用udp來試的話
是成功的.........
訪客
 

re:[問題]又是nat......

文章訪客 » 週三 8月 13, 2003 11:55 pm

Anonymous 寫:大大的意思是nat 會擋掉要求連線的封包嗎?
因為用udp試過了
之前所說的方法,若用udp來試的話
是成功的.........

你用 UDP 會成功是因為它是 stateless protocol,
所以在 timout 之前,其對應關係都還是存在的。
這個 timeout 你可以看 /usr/src/linux/net/ipv4/netfilter/ip_conntrack_proto_udp.c
代碼: 選擇全部
#define UDP_TIMEOUT (30*HZ)
#define UDP_STREAM_TIMEOUT (180*HZ)


但是 TCP 可以被追蹤紀錄它的連線狀態,
當其連線結束後,自然其對應關係也會跟著結束。
當然要讓它的對應關係保持一段時間也是可能的,
可是我沒有實際經驗,沒辦法說明 :ooops:

我還是建議你讀一下 Iptables connection tracking
希望能解決你的問題。
不過如果我誤解你的問題,也請不要笑我喔 :-P
訪客
 


回到 debian server

誰在線上

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