route 命令主要用于查看并编辑主机的IP路由表,主机的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]
参数解释:
-A : 用于指定地址族 (如 inet)。
-F :在内核的FIB(forwarding information base)路由表上操作,为默认配置。
-C :在内核的路由缓存cache上操作。
-n :以IP格式显示路由表。
-e :以netstat格式显示路由表。
-ee : 显示一个包含路由表所有参数的行。
add : 在路由表中添加一个新的路由。
del : 在路由表中删除一个指定的路由。
-v 或 --verbose :显示命令的执行过程。
以下参数需要和add、del配合使用:
-net : 表明目标是网络。
-host : 表明目标是主机。
dev : 指定设备或接口。
gw :指定目标主机或网络的网关。
irtt I : 设置初始路由寻址时间(initial round trip time),以毫秒为单位。
metric M : 设置路由表Metric 域,以MB为单位。
mod 、 dyn 、reinstate:设置动态路由。
mss M :设置TCP的 MSS(maximum segment size 最大报文长度),以MB为单位。
netmask NM : 设置目标主机或网络的子网掩码。
reject : 拒绝数据包发送到特定的路由器或主机上。
target : 目标主机或网络
window W : 设置通过该路由连接的TCP窗口大小,以MB为单位。
$ route -n ##以IP格式显示路由表。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
如以上显示的信息,Destination 列描述的是目标 主机/网络 的IP地址;Gateway 列描述的是能够到达目标 主机/网络的网关;Genmask 列描述的是目标 主机/网络 的子网掩码;Flags 列描述的是路由表的当前状态,U表示路由表处于启动状态,H表示目标是主机,G表示使用网关;Iface 列描述了当前的网络接口。
$ route add default gw 192.168.1.121 eth0 ##设置访问外网的默认网关为192.168.1.121
$ route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 ##为路由表添加一个到网络192.168.1.0的静态路由,其中子网掩码为255.255.255.0,网关为192.168.1.1,设备接口为eth0
$ route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 ##删除一条静态路由
$ route add -net 10.0.0.0 netmask 255.255.255.0 reject ## 在路由表中添加一条规则,拒绝数据包路由到私有网络 10.0.0.0