CentOS添加静态路由支持多网卡多网关


之前一直没有配置过两个网卡分别使用不同的IP,走不同的网关,google了下就有了下面的手工添加路由的脚本:

#!/bin/sh
ip route add 10.1.1.0/24 dev br0 src 10.1.1.10 table bond0
ip route add default via 10.1.1.1 dev br0 table bond0
ip rule add from 10.1.1.10/32 table bond0
ip rule add to 10.1.1.10/32 table bond0

ip route add 192.168.1.0/24 dev br1 src 192.168.1.10 table bond1
ip route add default via 192.168.1.1 dev br1 table bond1
ip rule add from 192.168.1.10/32 table bond1
ip rule add to 192.168.1.10/32 table bond1

后来想了想这样的问题系统肯定已经支持得很好了,只是没有找到配置方法,于是找了下红帽的文档,发现可以像下面这样配置:

配置静态路由


一个网卡的话不需要静态路由的,如果多个网卡的话可以手工配置静态路由,特别是多个网卡走不同的子网的时候。

route -n 查看当前路由信息

静态路由配置文件路径 /etc/sysconfig/network-scripts/route-interface_name 就和网卡的配置文件路径结构差不多,比如ifcfg-eth0变成了route-eth0

eth0网卡的静态路由就保存在这个文件里面。这个文件可以有两种格式:IP命令参数格式   和   网络/掩码指令格式

IP命令参数模式:

1)第一行定义默认路由:

default via X.X.X.X dev interface


X.X.X.X 是默认路由的IP. interface是可以连接到默认路由的网卡接口名.


2)静态路由一行一个:

X.X.X.X/X via X.X.X.X dev interface


X.X.X.X/X 是网络和掩码. X.X.X.Xinterface 是各自网段的网关IP和网卡接口.


配置示例 route-eth0:

默认网关 192.168.0.1, 接口eth0. 两条静态路由到 10.10.10.0/24 和172.16.1.0/24 :

default via 192.168.0.1 dev eth0
10.10.10.0/24 via 10.10.10.1 dev eth1
172.16.1.0/24 via 192.168.0.1 dev eth0

网络/掩码指令格式:

route-interface文件的第二种格式.下面是样板:

ADDRESS0=X.X.X.XNETMASK0=X.X.X.XGATEWAY0=X.X.X.X

  • ADDRESS0=X.X.X.X静态路由的网络编号.


  • NETMASK0=X.X.X.X上面那行设置子网掩码 .


  • GATEWAY0=X.X.X.X 能够连接到 ADDRESS0=X.X.X.X 这个网络的网关


配置示例 route-eth0:

默认网关 192.168.0.1, 接口 eth0. 两条到10.10.10.0/24 和172.16.1.0/24 的静态路由:

ADDRESS0=10.10.10.0
NETMASK0=255.255.255.0
GATEWAY0=10.10.10.1
ADDRESS1=172.16.1.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.0.1


ADDRESS0, ADDRESS1, ADDRESS2, 这样的编号必须是一个接一个的数字.

如果有dhcp的话,配置静态路由没有必要的。



#!/bin/sh
ip route add 125.77.198.192/27 dev em1 src 125.77.198.198 table dianxin
ip route add default via 125.77.198.193 dev em1 table dianxin
ip rule add from 125.77.198.198/32 table dianxin
ip rule add to 125.77.198.198/32 table dianxin

ip route add 36.250.75.192/26 dev em3 src 36.250.75.216 table liantong
ip route add default via 36.250.75.193 dev em3 table liantong
ip rule add from 36.250.75.216/32 table liantong
ip rule add to 36.250.75.216/32 table liantong