linux 策略路由实例解析
2016-06-28 11:08
459 查看
1.前言
公司的服务器为了避免单点故障采用了双ISP接入。即联通和电信都接入。联通的线路为100M,作为首选,电信的线路为30M,当联通线路出现故障的时候,先切换到电信线路救急。
但是因为电信的线路闲着就是浪费,结合业务的需求下,在一台主服务器中同时配置了电信的公网ip和一个私网ip,这个私网ip映射的是联通的公网ip。
那么问题就出现了,路由怎么配置,当有数据需要传输的时候,他会选择哪个线路出去,如果你配上两个网关的话会出现问题吗?很显然linux没有那么智能。这个时候策略路由就闪耀登场了。
2.操作
(1)配置ip
bond0:192.168.0.36 映射的联通的ip,网关为192.168.0.1(此处做的链路聚合,不在赘述)
eth1:1.202.XXX.XX
网卡按如上配置,映射的网卡文件中有网关选项,直接配置的公网ip地址没有配置网关
[root@bjzhonggc network-scripts]# vim ifcfg-bond0
DEVICE=bond0 //做的链路聚合,不在赘述
IPADDR=192.168.0.3 //ip地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.0.1 //网关
BROADCAST=192.168.0.255 //广播地址
NM_CONTROLLED=yes //允许NetworkManager管理(图形化界面)
ONBOOT=yes //开机自启
BOOTPROTO=none //静态ip
TYPE=Ethernet //类型以太网
IPV6INIT=no //ipv6不允许
USERCTL=no //不允许非root用户控制该设备
![](http://s2.51cto.com/wyfs02/M00/83/60/wKioL1dx47SBcicuAAAh-snIu1U526.png)
[root@bjzhonggc network-scripts]# vim ifcfg-eth1
DEVICE=eth1
HWADDR=78:2B:CB:69:39:77
NM_CONTROLLED=yes
ONBOOT=yes
IPADDR=1.202.197.87
BOOTPROTO=none
NETMASK=255.255.255.240
TYPE=Ethernet
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no
![](http://s5.51cto.com/wyfs02/M00/83/61/wKiom1dx5D6id0dlAAAhsSCwi9E116.png)
(2)增加路由表
[root@bjzhonggc ~]# vim /etc/iproute2/rt_tables
251 cnc //增加一个路由表 cnc,优先级为251
252 tel //增加一个路由表tel,优先级为252
![](http://s3.51cto.com/wyfs02/M01/83/61/wKiom1dx5iTjVbaVAAADgWL8tTc229.png)
(3) 配置路由
ip route add default via 192.168.0.1 dev bond0 table cnc //在cnc表中增加路由条目
ip route add default via 1.202.XXX.XX dev eth1 table tel //在tel表中增加路由条目
ip rule add from 192.168.0.0/24 table cnc //192.168.0.0/24使用cnc路由表
ip rule add from 1.202.XXX.XX/28 table tel //1.202.XXX.XX/28使用tel路由表
(4)查看路由表
![](http://s3.51cto.com/wyfs02/M00/83/60/wKioL1dx6d6yEXLpAAAx4bhl_Ds813.png)
本文出自 “庭中有奇树” 博客,请务必保留此出处http://zhangdl.blog.51cto.com/11050780/1793546
公司的服务器为了避免单点故障采用了双ISP接入。即联通和电信都接入。联通的线路为100M,作为首选,电信的线路为30M,当联通线路出现故障的时候,先切换到电信线路救急。
但是因为电信的线路闲着就是浪费,结合业务的需求下,在一台主服务器中同时配置了电信的公网ip和一个私网ip,这个私网ip映射的是联通的公网ip。
那么问题就出现了,路由怎么配置,当有数据需要传输的时候,他会选择哪个线路出去,如果你配上两个网关的话会出现问题吗?很显然linux没有那么智能。这个时候策略路由就闪耀登场了。
2.操作
(1)配置ip
bond0:192.168.0.36 映射的联通的ip,网关为192.168.0.1(此处做的链路聚合,不在赘述)
eth1:1.202.XXX.XX
网卡按如上配置,映射的网卡文件中有网关选项,直接配置的公网ip地址没有配置网关
[root@bjzhonggc network-scripts]# vim ifcfg-bond0
DEVICE=bond0 //做的链路聚合,不在赘述
IPADDR=192.168.0.3 //ip地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.0.1 //网关
BROADCAST=192.168.0.255 //广播地址
NM_CONTROLLED=yes //允许NetworkManager管理(图形化界面)
ONBOOT=yes //开机自启
BOOTPROTO=none //静态ip
TYPE=Ethernet //类型以太网
IPV6INIT=no //ipv6不允许
USERCTL=no //不允许非root用户控制该设备
![](http://s2.51cto.com/wyfs02/M00/83/60/wKioL1dx47SBcicuAAAh-snIu1U526.png)
[root@bjzhonggc network-scripts]# vim ifcfg-eth1
DEVICE=eth1
HWADDR=78:2B:CB:69:39:77
NM_CONTROLLED=yes
ONBOOT=yes
IPADDR=1.202.197.87
BOOTPROTO=none
NETMASK=255.255.255.240
TYPE=Ethernet
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no
![](http://s5.51cto.com/wyfs02/M00/83/61/wKiom1dx5D6id0dlAAAhsSCwi9E116.png)
(2)增加路由表
[root@bjzhonggc ~]# vim /etc/iproute2/rt_tables
251 cnc //增加一个路由表 cnc,优先级为251
252 tel //增加一个路由表tel,优先级为252
![](http://s3.51cto.com/wyfs02/M01/83/61/wKiom1dx5iTjVbaVAAADgWL8tTc229.png)
(3) 配置路由
ip route add default via 192.168.0.1 dev bond0 table cnc //在cnc表中增加路由条目
ip route add default via 1.202.XXX.XX dev eth1 table tel //在tel表中增加路由条目
ip rule add from 192.168.0.0/24 table cnc //192.168.0.0/24使用cnc路由表
ip rule add from 1.202.XXX.XX/28 table tel //1.202.XXX.XX/28使用tel路由表
(4)查看路由表
![](http://s3.51cto.com/wyfs02/M00/83/60/wKioL1dx6d6yEXLpAAAx4bhl_Ds813.png)
本文出自 “庭中有奇树” 博客,请务必保留此出处http://zhangdl.blog.51cto.com/11050780/1793546
相关文章推荐
- Linux下文件内容查阅命令
- linux 定时备份mysql数据库
- SCp上传文件到阿里云服务器
- 在Linux环境下mysql的root密码忘记解决方法,修改root密码
- linux内核SPI总线驱动分析(一)
- Unix哲学
- 编译Linux内核4.6.3使其支持NTFS文件系统
- Linux 常用命令
- (5)linux下编译安装配置php
- (4)linux下安装配置Mysql
- Linux mint cinnamon 64bit 17.3 使用体验(二)
- 史上最经典的Linux内核学习方法论
- NFS实现linux系统间文件共享
- 10个你可能没用过的linux命令
- (2)磁盘和文件系统
- Linux信号(signal) 机制分析
- (6)用户和用户组
- (3)linux系统的目录结构
- linux查看cpu、内存、版本信息
- (2)linux基础系统调优