CentOS 6.x添加静态路由方法汇总
在很多情况下都需要为服务器添加静态路由,本文介绍几种常见方法以及每种方法的优缺点。
可以用以下命令查看当前路由,两个都可以:
route -n
netstat -rn
一、使用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.0 netmask 255.255.255.0 eth0
# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
# route add -net 192.168.1.0/24 eth1
在网上可能会查到这样的内容:
-net后面加的是地址段,并且要和后面的掩码相对应,不然很容易出现这样的错误:
//添加默认网关
# route add default gw 192.168.2.1
//删除路由
# route del –host 192.168.1.11 dev eth0
使用route命令这种方式是最快的,但是机器重启或者网卡重启之后就会消失。
整个过程可以用下图验证
二、在rc.local里面添加
在rc.local添加的是开机启动之后执行的一些操作,要添加路由还是通过添加route命令实现:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.1.1
这个方法最大的缺点就是要通过重启服务器才能使路由生效,而且会造成NFS无法自动挂载的问题(并未验证),因为rc.local里面的操作是在所有的服务启动之后执行的,NFS服务启动的时候没有静态路由,所以无法挂载。
三、在/etc/sysconfig/network文件中添加默认网关
在文件中添加以下内容:
GATEWAY=gw-ip或者GATEWAY=gw-dev
这个操作产生的效果如下:
这种方法只有网卡重启才会生效,并且会替代原先的默认网关,所以这种设置适用于一个网关的情况。
如果网关设置错误会产生以下信息:
四、在/etc/sysconfig/static-route中添加路由
如果你有多个网卡,并且有多个网关,就要通过这种方式设置路由,重启网卡设置就会生效。添加的内容和route命令相似:
any host 192.168.1.11 gw 192.168.1.1
any net 192.168.2.0/24 gw 192.168.1.1
any net 192.168.3.0/24 gw 192.168.67.2
整个过程如下图所示:
在上面几种方式中,最后一个是用得最多的,个人认为也是最好用的。