centos7使用rt_tables巧妙配置多网卡多路由实现…
2020-03-01 16:02:43来源:博客园 阅读 ()
centos7使用rt_tables巧妙配置多网卡多路由实现策略路由
路由表和策略路由的区别
通常我们维护静态路由表会手工填写所有IP地址段的路由规则,使用命令或者写入配置文件永久生效,以常见的操作系统Windows/Linux/AIX为例
#Windows静态路由
--键入 route -p add [目标] [mask <网络掩码>] [网关] [metric <度量值>] [if <接口>]
route print
route delete
route -p add 172.16.19.0 mask 255.255.255.0 198.15.0.1
#RHEL静态路由
vi /etc/sysconfig/network
default via 192.168.3.1 dev eth0
10.211.6.0/24 via 192.168.3.1 dev eth0
10.0.0.0/8 via 10.212.52.1 dev eth1
#SuSE静态路由
vi /etc/sysconfig/network/routes
default 192.168.3.1 - -
10.211.6.0 192.168.3.1 255.255.255.0 eth0
10.0.0.0 10.212.52.1 255.0.0.0 eth1
#AIX静态路由
smitty mkroute
172.20.14.0/24 gw 172.23.14.254
这种办法针对少量的规则还可以轻松应对,但规则一旦增加麻烦也就接踵而至,网段地址不断变化就必须及时更新路由表,否则其他用户就无法访问。如果可以根据用户访问进来的路径设定策略路由就会方便很多,而rt_tables就是为此而生
rt_tables
rt_tables简单来说就是通过给表的命名使得管理简单化
大部分人习惯直接将路由表优先级号码直接作为表的名称来使用,这样做的好处是非常直观和简明的表达了表所在优先级的位置,但是当表的优先级结构出现变动时,我们对巨大的路由表的修改就显得很烦琐和费事了。
在/etc/iproute2/目录下,有这么一个文件rt_tables,只要对它进行改动,我们将很容易的完成路由表优先级结构的变动。(数值越小优先级别越高)
当路由表的优先级发生变化的时候,我们只需要编辑/etc/iproute2/rt_tables这个文件就可以直接改变路由表的优先级次序。
[root@peter-host ~]# vim /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
Linux最多可以支持255张路由表,其中有3张表是内置的:
表255 本地路由表(Local table) 本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
表254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。
表253 默认路由表 (Default table) 一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。
表 0 保留
因为VPC网络没有其他网段,所以此处就以同网段的示例:
原有网卡eth0
[root@peter-host network-scripts]# cat ifcfg-eth0 BOOTPROTO=dhcp DEVICE=eth0 ONBOOT=yes TYPE=Ethernet USERCTL=no IPV6INIT=yes DHCPV6C=yes
新增网卡eth1,ip为自动获取的
从其他机器ping这两个ip,只有eth0网卡可以通信,eth1不可以
1、编辑路由策略
#编辑rt_tables
echo "251 net_251" >> /etc/iproute2/rt_tables
echo "252 net_252" >> /etc/iproute2/rt_tables
# 查看
[root@peter-host ~]# vim /etc/iproute2/rt_tables
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
#################添加下面两行(数值越小优先级别越高)
251 net_251
252 net_252
2、添加路由规则
#清空net_251的路由表
ip route flush table net_251
# 添加一个路由规则到 net_251 表,这条规则是 net_251 这个路由表中数据包默认使用源 IP 192.168.0.33 通过 eth0 走网关 192.168.0.1
ip route add default via 192.168.0.1 dev eth0 src 192.168.0.33 table net_251
#来自 192.168.0.33 的数据包,使用 net_251 路由表的路由规则
ip rule add from 192.168.0.1 table net_251
#清空net_252的路由表
ip route flush table net_252
# 添加一个路由规则到 net_252 表,这条规则是 net_252 这个路由表中数据包默认使用源 IP 192.168.0.207 通过 eth1 走网关 192.168.0.1
ip route add default via 192.168.0.1 dev eth0 src 192.168.0.207 table net_252
#来自 192.168.0.207 的数据包,使用 net_252 路由表的路由规则
ip rule add from 192.168.0.1 table net_252
#添加默认网关
route add default gw 192.168.0.1
3、如果需要自启动生效可以写进配置文件也可以加入rc.local
vim /etc/rc.local
ip route flush table net_251
ip route add default via 192.168.0.1 dev eth0 src 192.168.0.33 table net_251
ip rule add from 192.168.0.33 table net_251
ip route flush table net_252
ip route add default via 192.168.0.1 dev eth1 src 192.168.0.207 table net_252
ip rule add from 192.168.0.207 table net_252
route add default gw 192.168.0.1
4、给文件添加 执行权限使其开机执行
chmod u+x /etc/rc.d/rc.local
5、重启系统
6、在其他主机上测试ping这两个ip是否可以通信,此时就可以正常使用了
查看路由表:
网关
原文链接:https://www.cnblogs.com/fengdejiyixx/p/12389641.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 树莓派使用 OLED 屏显示图片及文字 2020-06-05
- centos7下安装mysql6初始化安装密码 2020-06-05
- CentOS7.6 源码安装 libevent-2.1.8-stable 2020-06-04
- 附020.Nginx-ingress部署及使用 2020-06-02
- CentOS7修改主机名 2020-06-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash