How to check NAT session on Ubuntu 14.04

今天弟說家裡的網路感覺變慢,原本猜想是剛換上的ASUS Wifi AP是不是不給力,又說就算走線的也頓頓的.除了重開小烏龜後想說的確沒有在linux上trace這部分,於是花點時間學習一下.先來看看session handle是不是有問題.


Iptable的最大session number?如何調知session狀態?
Linux NAT是PAT(Port Address Translation)技術的實現,主要是為了爭取一台Host能夠support最多的連線數目,採port的follow是最可行的,不考慮reserve port,該欄位是4個byte的表示空間也就是0~65535.查看nf_conntrack_max果然沒錯.

scottj@ubuntu:~$ cat /proc/sys/net/nf_conntrack_max
65536
scottj@ubuntu:~$

再來是看session內容或是計算目前建立的連線數目,一開始想到的是netstat.不過卻不夠精緻.

中途爬文去裝了netstat-nat,不過卻不知為何說我的net_filter module沒掛進kernel,可能與ufw有關,我的確是繞過ufw直接對iptables來自己管理的,最後爬到了”/proc/net/ip_conntrack” table,不過我的系統上沒有該文件.原來安裝conntrack就有了.

果然是準確多了,也可以看到更詳細的連線資料.這樣對於debug來說就方便許多.再來也有看到一套ApacheBench是用來測試session的輕量級工具.Linux 透過apache2-utils就可以找到這個小程式.或直接敲”sudo apt-get install apache2-utils”來安裝.不過還是需要由NAT內部的電腦來發起這個session才是檢視NAT Server handle session的能力,不過這可能要回嘉才能來玩了.

Facebook Comments
Scottj Written by:

史考特 喜歡3C 愛拍照