基于iproute的命令,route命令实际就是对Iptable的操作:
(1)显示当前路由表:# route
Kernel IP routing table
Destination Gateway Genmask Flage Metric Ref Use Iface
192.168.100.0 * 255.255.255.0 U 0 0 0 etn0
127.0.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.100.5 0.0.0.0 UG 0 0 0 eth0
第一行说明将通向192.168.100.0(同eth0设备相关联的网络)的网络流量发往何处。
第二行说明将通向127.0.0.1(localhost或自环网络设备地址)的网络流量发往何处。
第三行说明将上面两种以外的数据发往何处。
Destination:目的IP地址。
Gateway:指的是一台主机,接受发给指定Destination的数据包。因为这个输出是发自一台主机的(而不是一个作为专门路由器的计算机的),所以路由字段可以是星号(*)或是默认网关;星号表示Destination是在主机所属的网络(因此不需要路由),默认网关指的是将所有非本地的流量都发送到的一个指定。
Flags:9个单字母的标志位,表示路由表条目的信息。U表示路由启动;G表示路由指向网关、大多数其他标志只用于专门的路由器,而不是一台单机,表示路由是如何通过路由守护进程来创建和更新。
Metric:到达指定网络所需的中转数(路由器的数目)。
Ref:对这个路由的引用次数。
Use:这个路由器被路由软件查寻的次数,可以粗略估计通向指定网络地址的网络流量。
Iface:表示目的地址以及指定网络的数据包应该发往的网络接口。
(2)route命令的使用
route工具主要功能是管理Linux系统内核中的路由表。它最大的用途就是用来设定静态的路由表项,通常是在系统用ifconfig配置网络接口(例如网卡等)后,用它来设定主机或者一网段的IP地址应该通过什么接口发送等。
Route工具有复杂的调用参数。
调用格式如下:
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask
Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I]
[reject] [mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw]
[netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help]
主要参数说明如下:
-v 使用冗余输出模式。
-A family
指定特定的地址族(例如"inet"、"inet6")。
-n 使用数字显示的地址(例如,202.38.75.75)而不是去解释域名。
-e 使用与netstat相同的输出格式。
-ee 参数会产生很长的输出,包括内核路由表的几乎所有信息。
-net 目标(target)是一个网段。
-host 目标(target)是一个单独的主机。
-F 显示内核FIB路由表。结果可能被-e 和-ee参数改变。
-C 显示内核中路由缓存信息。
del 删除一个路由表项。
add 增加一个路由表项。
target 配置的目的网段或者主机。可以是IP,或者是网络或主机名。
netmask Nm
用来指明要添加的路由表项的网络掩码。
gw Gw 任何通往目的(target )的IP分组都要通过这个网关。
metric M
设置路由表中该项的尺度域(metric field)为M。
mss M 设置TCP的最大分片长度(MSS)M bytes。
系统缺省值是536。
window W
设置TCP发送窗口的尺寸为W bytes。
irtt I 设置TCP的初始化回路时间(irtt)I毫秒(1-12000)。
缺省情况下按照RFC 1122 规定是300ms。
reject 安装一个阻塞型的路由,这样可能会有路由查找失败。
mod, dyn, reinstate
添加或者修改一个动态路由表项。主要用来测试和诊断。
dev If 强行使用某个特定的输出接口(If),而不用系统去寻找接口。
下面举几个配置的例子:
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
添加一条路由表项,网段192.56.76.x 应该从接口"eth0"走。
route add default gw mango-gw
添加一条缺省路由(如果没有其他匹配的路由项,就使用这个路由规则)。
"mango-gw"是一个主机名, 而通往这个主机的路由规则应该事先已经设置好了。
route add ipx4 sl0
给主机"ipx4"添加一条路由规则,使用SLIP接口sl0。
# route add default gw 192.168.1.254
添加缺省默认路由,主机接入互联网必需使用。
# route add -host 192.168.1.1 dev eth0
添加到主机路由的方法,此处使用本地ETH0接口,视情况需要而添加。
# route add -host 10.20.30.40 gw 192.168.1.254
添加到主机路由的方法,此时使用网关192.168.1.254,识情况需要而添加。
# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
添加到网络路由的方法,此处使用本地ETH0接口,可视情况需要而添加。
# route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.254
添加到网络路由的方法,此处使用网关192.168.1.254,可视情况需要而添加。
# route add -net 192.168.0.0/24 dev eth0
另一种到网络路由,掩码简写而已。
#route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
#也就是route del 前面添加时写的语句。