> CentOS > CentOS入门 >

CentOS添加永久静态路由

如何在CentOS里添加永久静态路由?这里总结一下,做个备忘录。
参考RedHatEnterprise6的官方文档:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html

我们的服务器一般启用两个网卡,一个配内网地址,一个配外网地址,但我们一般只为外网卡配置默认网关。因为如果两个网卡都配置默认网关的话,数据包出去的时候会不知道该走哪个网关。
本机跟其它机器通信时,会把数据包发送到默认网关,然后默认网关把数据包转发到目的主机。由于配置了外网网卡的默认网关,所以本机与目的主机的外网IP进行通信是OK的;但是与内网IP进行通信就没办法了,因为默认网关无法到达内网网段。(当然,如果这台LINUX机器开启了路由转发就另当别论了。)
为了与内网网段中的机器进行通信,我们写一条静态路由,来指定一个通向内网网段的路径。本文讲的就是如何在CentOS中添加永久静态路由。

添加永久静态路由的方法是,把路由表写入/etc/sysconfig/network-scripts/route-interface配置文件中。interface是你的网卡,如eth1的静态路由配置文件就是route-eth1。
route-interface配置文件有两种写法:ip命令格式和network/netmask格式:
ip命令格式:
1.defaultviagatewaydevinterface//gateway替换成你的默认网关,interface替换成你的网卡2.ip/netmaskviagatewaydevinterface3.…//根据需要添加更多的静态路由4.…network/netmask指令格式:
1.ADDRESS0=网段,该网段即你想要到达的网段2.NETMASK0=掩码3.GATEWAY0=网关地址,该网关为本网卡的出口网关,它能够到达ADDRESS04.…//根据需要添加更多的静态路由5....我们以第一种ip命令格式为例进行说明。
按照官方网站的说法,路由表中的default路由可以省略,因为使用的是默认网关。
重点是第二条路由,它指向了我们所希望到达的特定网段。ip/netmask是你想要到达的网段,gateway是本网卡的出口网关,interface指定网卡。


我们看一段网上的示例,该配置为网卡eth0添加了两条静态路由:
1.10.0.0.0/8via10.126.40.2542.192.168.188.0/22via10.126.40.254上述配置添加了两条静态路由,分别指向了10.0.0.0/8网段,以及192.168.188.0/22网段。10.126.40.254即是eth0的出口网关。
上述配置来自于:http://www.m690.com/?p=346。

我自己的服务器配置示例,为网卡eth1配置了两条静态路由:
1.GATEWAY0=10.10.14.2542.NETMASK0=255.255.0.03.ADDRESS0=192.168.0.04.5.GATEWAY1=10.10.14.2546.NETMASK1=255.255.0.07.ADDRESS1=10.10.0.0我们也是添加了两条静态路由,分别指向了10.10.0.0/16网段和192.168.0.0/16网段,使用网卡eth1的出口网关10.10.14.254。
官方提示,使用该格式时,如果有多条静态路由,每条静态路由必须按顺序编号,如ADDRESS0,ADDRESS1,ADDRESS2等,不能跳着编号。

注:网上有资料说,第二条路由中的gateway是下一跳的网关。我特地去问了网络部的同事,他说那是不对的,那个gateway实际上是本网卡的出口网关。
第一条default路由中的gateway,即是外网网卡的默认网关。
第二条路由中的gateway(网卡的出口网关)和default路由中的gateway(默认网关)有什么区别?RedHatEnterprise6的官方文档中说:TheX.X.X.X(指网卡的出口网关)addressdoesnothavetobethedefaultgatewayIPaddress。Inmostcases,X.X.X.XwillbeanIPaddressinadifferentsubnet,andinterfacewillbetheinterfacethatisconnectedto,orcanreach,thatsubnet。
文档中所说的differentsubnet指的是与默认网关不同的子网,该子网必须与interface的IP在同一网段。这里的子网一般是指内网网卡所在子网,这里的gateway一般是指内网网卡的网关。

(责任编辑:IT)