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.X
和 interface
是各自网段的网关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