> CentOS > CentOS入门 >

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.X
NETMASK0=X.X.X.X
GATEWAY0=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

 

ADDRESS0ADDRESS1ADDRESS2, 这样的编号必须是一个接一个的数字.

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

 

(责任编辑:IT)