CentOS添加永久静态路由

 

在使用双网卡,同时使用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所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。

 

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

 

默认路由已经被添加到路由表里面了