前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >策略路由 – 让你的CVM服务器用两条腿走路

策略路由 – 让你的CVM服务器用两条腿走路

原创
作者头像
缘、妙不可言
发布2019-09-09 21:22:03
1.2K0
发布2019-09-09 21:22:03
举报
文章被收录于专栏:深夜咖啡小屋深夜咖啡小屋

对于PC来说,一台电脑一般最多就两张网卡(有线+无线)。只要能上网,哪管是走的哪张网卡。然鹅,对于服务器来说,N多张网卡(N > 2)是正常不过的事情,如何在多网卡多网关下正常、合理地工作,这就就需要各种交换机以及本文的策略路由来配合了。

  • 首先来科普下 策略路由 和 路由策略 的区别。

路由策略。(Route-Policy) 路由策略是通过修改路由表的路由条目来控制数据流量的可达性。即对接受和发布的路由进过滤。这种方式称为路由策略

策略路由。(Traffic-Policy) 策略路由是通过用户制定的策略进行转发,且该策略优于路由表的转发。这种方式称为策略路由。 由此可知,路由策略是基于路由表进行流量的转发,而策略路由是基于策略进行流量的转发。两者都为了控制网络流量的可达性或调整网络流量的路径。

  • 首先来张图,介绍下本文的网络环境

简易网络拓扑
简易网络拓扑

服务器有两个网口,eth0和eth1

eth0 : 地址10.16.0.5 ,网关 10.16.0.1 ,掩码 255.255.255.0,对应公网IP 1.2.3.4

eth1 : 地址10.16.254.5,网关10.16.254.1,掩码255.255.255.0,对应公网IP 5.6.7.8

  • 正式开始:
  1. 修改/etc/iproute2/rt_tables文件,追加以下两行
代码语言:javascript
复制
252  e0
251  e1

解释:这里我们自定义了两个策略路由表,假设e0对应eth0,e1对应eth1,以便操作

2.编辑启动脚本 /etc/rc.local,增加下面内容

代码语言:javascript
复制
ip route flush table e0
ip route add default via 10.16.0.1 dev eth0 src 10.16.0.5 table e0
ip rule add from 10.16.0.1 table e0

ip route flush table e1
ip route add default via 10.16.254.1 dev eth1 src 10.16.254.5 table e1
ip rule add from 10.16.254.5 table e1

OK,理论上重启后服务器就能被不同的IP访问到并正常收发数据

然鹅too young,第2中rc.local这种N多年的老掉牙的东东,一点也不好用,时灵时不灵的,而且一点也不优雅(rc.local万金油时代已经过去了_(:з」∠)_

3.现代化的网络管理,当然是得用network或者NetworkManager啦,无视第二步,我们继续来

(1)新增 /etc/sysconfig/network-scripts/rule-eth0 文件,增加以下内容

代码语言:javascript
复制
from 10.16.0.5 table e0

(2)新增 /etc/sysconfig/network-scripts/rule-eth1 文件,增加以下内容

代码语言:javascript
复制
from 10.16.254.5 table e1

(3)编辑或新增 /etc/sysconfig/network-scripts/route-eth0 文件,增加以下内容

代码语言:javascript
复制
10.16.0.0/24 dev eth0 src 10.16.0.5 table e0
default via 10.16.0.1 table e0

(4)编辑或新增 /etc/sysconfig/network-scripts/route-eth1 文件,增加以下内容

代码语言:javascript
复制
10.16.254.0/24 dev eth1 src 10.16.254.5 table e1
default via 10.16.254.1 table e1

至此大功告成,service network restart 重启网络体验一下

At last,你说不知道服务器访问外网默认走哪个网关?骚年,给你的网卡加个Metric,爱往哪走往哪走~

参考资料:《CentOS双线双IP配置

ポリシーベースルーティングの設定について

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档