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]#
-----------------------------------------------------------------bitscn.com
