route的用法简介
打印当前的路由表: route -n 常用参数: add:添加一条新路由。 del:删除一条路由。 -net:目标地址是一个网络。 -host:目标地址是一个主机。 netmask:当添加一个网络路由时,需要使用网络掩码。 gw:路由数据包通过网关。注意,你指定的网关必须能够达到。 metric:设置路由跳数。 # route 命令添加的路由,机器重启或者网卡重启后就没掉了,在linux下设置永久路由的方法: 1.在/etc/rc.local里添加 2.在/etc/sysconfig/network里添加到末尾 3./etc/sysconfig/static-router : any net x.x.x.x/24 gw y.y.y.y route add default gw 192.168.1.254 route del default gw 192.168.1.254 route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0 route add -host ip dev lo:1 route del -host ip 若是已经正确配置过IP,但想调整默认网关,如何操作呢? 【调整默认网关的实例】 查看路由: [root@test44 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.200.0 0.0.0.0 255.255.255.0 U 0 0 0 em2 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 em2 0.0.0.0 10.0.200.128 0.0.0.0 UG 0 0 0 em2 增加默认网关 [root@test44 ~]# route add default gw 10.0.200.2 && route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.200.0 0.0.0.0 255.255.255.0 U 0 0 0 em2 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 em2 0.0.0.0 10.0.200.2 0.0.0.0 UG 0 0 0 em2 0.0.0.0 10.0.200.128 0.0.0.0 UG 0 0 0 em2 默认路由只有一条,因此要删除旧的已失效的那条默认路由 [root@test44 ~]# route del default gw 10.0.200.128 && route -n && ping qq.com Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.200.0 0.0.0.0 255.255.255.0 U 0 0 0 em2 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 em2 0.0.0.0 10.0.200.2 0.0.0.0 UG 0 0 0 em2 最后,记得更新一下配置文件: [root@test44 ~]# sed -i 's/200.128/200.2/' /etc/sysconfig/network-scripts/ifcfg-em1 && cat /etc/sysconfig/network-scripts/ifcfg-em1 删除单条路由的方式: [root@test222 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 [root@test222 ~]# route del -net 10.0.0.0 netmask 255.0.0.0 gw 0.0.0.0 [root@test222 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 [root@test222 ~]# route del default gw 10.0.0.1 [root@test222 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 如果有2个网卡eth0和eth1,都是static配置了gateway,则最终生效的gateway是第二个gateway中配置的。 此时,可以增加一条路由规则, 例如,调整配置文件“/etc/rc.local”: echo 'route add -net 10.0.96.0/20 eth0 >> /etc/rc.local 或者,调整配置文件“/etc/sysconfig/static-routes”: echo 'any net 10.0.96.0/20 eth0 >> /etc/sysconfig/static-routes 理由是: # cat /etc/init.d/network |grep static-routes --color -A 3 # Add non interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route add -$args done fi 如果eth1是dhcp获取的,则可以指定gateway添加到文件: /etc/sysconfig/network 格式是: GATEWAY=10.0.100.1 然后,可以重启network试试效果: service network restart