Linux多网卡多路由实现策略路由

  • A+
所属分类:系统知识 系统运维

用途:

服务器做前端负载均衡(如lvs)时,同时支持双线(电信、联通)路由转发

说明:

我们通过linux的rt_tables实现,rt_tables  简单来说就是通过给表的命名使得管理简单化。

我们先看看linux的rt_tables默认配置文件,如下:

[root@k10390v /home/xubo-iri]# more /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

其中:

表255 本地路由表(Local table) 本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
表254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。
表253 默认路由表 (Default table) 一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。
表 0 保留。

Linux官网给的是改文件最多可以支持255个路由表,也就是说除去其中有3个内置的表,我们还可以自定义252个,每个表中对应相关配置格式如下:

ip route flush table  表名
ip route add default via  添加到表中ip的网关  dev   网卡名称   src    要添加到表中的ip地址   table     表名
ip rule add from  ip地址   table 表名

实现方法:

电信IP信息:ip 101.195.116.179 netmask 255.255.255.0 gw 101.195.116.1

网通IP信息:ip 123.121.52.187 netmask 255.255.255.0 gw 123.121.52.1

eth0网卡配置电信IP,eth1网卡配置网通IP,两网卡都不要配置网关。

首先,需要在/etc/iproute2/rt_tables定义两个表名,

echo "252 ctcc">>/etc/iproute2/rt_tables

echo "251 cucc">>/etc/iproute2/rt_tables

ctcc 电信,cucc联通,表名称订完了,我们就需要增加表内容了,服务器分别执行如下命令:

 ip route flush table ctcc
 ip route add default via 101.195.116.1 dev eth0 src 101.195.116.179 table ctcc
 ip route add from 101.195.116.179 table ctcc
 ip route flush table cucc
 ip route add default via 123.121.52.1 dev eth1 src 123.121.52.187 table cucc
 ip route add from 123.121.52.187 table cucc
如上命令可以加到自启动中,以便于重启后自动加载

 

 

 

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar