在使用双网卡,同时使用2个网关的时候就需要加一条静态路由了。当然还有很多时候会需要加路由。
操作系统版本centos-6.4 64bit
一:使用route 命令添加
1、使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由
route add –host 192.168.1.11 dev eth0
route add –host 192.168.1.12 gw 192.168.1.1
//添加到网络的路由
route add –net 192.168.1.11 netmask 255.255.255.0 dev eth0
route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1
route add –net 192.168.1.0/24 dev eth1
//添加默认网关
route add default gw 192.168.2.1
//删除路由
route del –host 192.168.1.11 dev eth0
2、还可以使用ip命令来添加、删除路由
ip route add default via 172.16.10.2 dev eth0
ip route add 172.16.1.0/24 via 172.16.10.2 dev eth0
格式如下:
ip route
default via gateway dev interface
ip/netmask via gateway dev interface
二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
2.在/etc/sysconfig/network里添加到末尾
方法:
GATEWAY=gw-ip
或者
GATEWAY=gw-dev
3./etc/sysconfig/static-routes :
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
如果在rc.local中添加路由会造成NFS无法自动挂载问题,所以使用static-routes的方法是最好的。无论重启系统和service network restart 都会生效。
解决NFS问题的描述:
按照linux启动的顺序,rc.local里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在NFS之后才被执行的,那也就是说在NFS启动的时候,服务器上的静态路由是没有被添加的,所以NFS挂载不能成功。
4、在/etc/sysconfig/network-script/route-interface下添加路由(每个接口一个文件,如果没有就创建一个,只能添加针对该接口的路由)
格式如下:
network/prefix via gateway dev intf
例如给eth0添加一个默认网关:
vim /etc/sysconfig/network-scripts/route-eth0
添加如下内容(可以省略dev eth0)
0.0.0.0/0 via 172.16.10.2 dev eth0
ps:注意这里的掩码是0而不是32,因为这里是网段而不是路由。
保存退出后,service network restart。
使用route -n或netstat -r查看路由表。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.16.10.2 0.0.0.0 UG 0 0 0 eth0
默认路由已经被添加到路由表里面了。
注意如果有两块网卡,需要设置默认路由才能访问internet。
所有添加静态路由的方法在centos6.4上面均经过验证,正确无误。