本文是介紹管理Linux系統網絡性能技巧的文章,主要介紹了route、netstat、tcpdump三種網絡管理測試工具的使用方法及其可實現的功能。
route
在配置網絡時,要為機器指定接收數據包時該包要經過的路徑。在Linux系統中,提供一個命令route,這個命令可以為ifconfig命令配置的網卡設置靜態路由。這種設置工作通常在/etc/rc.d/rc.inet1中引入,在系統引導時進行。
我們通過幾個例子來說明如何使用route命令:
route add -net 127.0.0.0
這個命令將向路由表中添加一個指定地址或者網絡的路由。注意此時網絡為A類地址,掩碼被設置為255.0.0.0,這個新添加的條目被連接到lo設備上。
route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0
這個命令為IP地址為xxx.xxx.xxx.xxx的主機增加一個路由,它的網絡掩碼被設置為255.255.255.0。
route del -net xxx.xxx.xxx.xxx
此命令將刪除xxx.xxx.xxx.xxx這個網絡的路由。
使用route命令還可以很方便地對整個網絡的路由信息進行管理,其輸出結果是網絡的路由表。如下所示:
-----------------------------------------------------------------
[root@lee /root]#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0
10.10.8.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default dgc8.njupt.edu 0.0.0.0 UG 0 0 0 eth0
default dgc8.njupt.edu 0.0.0.0 UG 1 0 0 eth0
[root@lee /root]#
-----------------------------------------------------------------
輸出結果中各個字段的含義是:
·Destination表示路由的目標IP地址。
·Gateway表示網關使用的主機名或者是IP地址。上面輸出的"*"表示沒有網關。
·Genmask表示路由的網絡掩碼。在把它與路由的目標地址進行比較之前,內核通過Genmask和數據包的IP地址進行按位"與"操作來設置路由。
·Flags是表示路由的標志。可用的標志及其意義是:U表示路由在啟動,H表示target是一台主機,G表示使用網關,R表示對動態路由進行復位設置;D表示動態安裝路由,M表示修改路由,!表示拒絕路由。
·Metric表示路由的單位開銷量。
·Ref表示依賴本路由現狀的其它路由數目。
·Use表示路由表條目被使用的數目。
·Iface表示路由所發送的包的目的網絡。
通過查看這些輸出信息,我們就可以方便地管理網絡的路由表了。
netstat
netstat命令是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。在計算機上執行netstat後,其輸出結果如下所示:
-----------------------------------------------------------------
[root@lee /root]#netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Types State I-Node Path
Unix 5 [ ] DGRAM 460 /dev/log
Unix 0 [ ] STREAM CONNECTED 173 @00000014
Unix 0 [ ] DGRAM 662
Unix 0 [ ] DGRAM 631
Unix 0 [ ] DGRAM 544
Unix 0 [ ] DGRAM 484
Unix 0 [ ] DGRAM 470
[root@lee /root]#