linux网络路由管理之四(Linux国内多线业务实现方式)

Linux内核能最多可以支持255张路由表,其中有3张表是内置的:(注意每张路由表可以包含任意数目的路由条目)

[root@BJ-aliyun ~]# cat /etc/iproute2/rt_tables
255 local
254 main
253 default
0   unspec
注意:如果没有为ip route命令指定表 ,则内核将采用main 路由表。该路线命令只操纵main路由表
#补充:传统的route工具和,ip 工具都只修改local 以及 main表项,不指定默认是操作 main 路由表

#linux刷新路由表
    ip route flush cache
    ip route flush table JS-DX
    ip route flush table 100

更多知识可参考:
Linux进行IP层网络管理的指南
Linux高级路由和流量控制
linux-内核&网络相关文档
linux-ipv6相关知识
https://wiki.linuxfoundation.org/networking/netem

场景一:多线单网卡

请参看该文章,这里只介绍了,系统如何 打多个vlan标签,后面跟普通配置IP没有区别
https://boke.wsfnk.com/archives/468.html

场景二:多线多网卡配置(实现原理:linux策略性路由)

#第一:系统环境:这里以redhat7系列做配置案例
    eno1 电信IP 111.111.111.111/24 网关.1
    eno2 移动IP 222.222.222.222/24 网关.1

#第二:网卡配置(PS:两个网卡配置文件,指不指定网关都不影响,因为后面走的都是策略路由)
    cat /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE=Ethernet
BOOTPROTO=static
NAME=eno1
DEVICE=eno1
ONBOOT=yes
IPADDR=111.111.111.111
PREFIX=24
GATEWAY=111.111.111.1
DNS1=8.8.8.8

    cat /etc/sysconfig/network-scripts/ifcfg-eno2
TYPE=Ethernet
BOOTPROTO=static
NAME=eno2
DEVICE=eno2
ONBOOT=yes
IPADDR=222.222.222.222
PREFIX=24
GATEWAY=222.222.222.1
DNS1=8.8.8.8

#第三:添加策略路由(注意,table表不要对错了)
    #计划:teble 100 表示电信,table 200 表示移动
    ip route flush table 100
    ip rou add default via 111.111.111.1 dev eno1 src 111.111.111.111 table 100 prio 50
    ip rule add from 111.111.111.111 table 100

    ip route flush table 200
    ip rou add default via 222.222.222.1 dev eno2 src 222.222.222.222 table 200 prio 50
    ip rule add from 222.222.222.222 table 200

#第四:添加到开机自启
    chmod +x /etc/rc.d/rc.local

[root@localhost ~]# cat /etc/rc.local 
ip route flush table 100
ip rou add default via 111.111.111.1 dev eno1 src 111.111.111.111 table 100 prio 50
ip rule add from 111.111.111.111 table 100

ip route flush table 200
ip rou add default via 222.222.222.1 dev eno2 src 222.222.222.222 table 200 prio 50
ip rule add from 222.222.222.222 table 200

#第五:验证测试
    #A:列出路由策略数据库(RPDB)
[root@BJ-aliyun ~]# ip rule show
0:  from all lookup local 
32764:  from 111.111.111.111 lookup 100 
32765:  from 222.222.222.222 lookup 200 
32766:  from all lookup main 
32767:  from all lookup default

    #B:网络测试

    #C:删除策略路由
        ip rule del from  111.111.111.111
        or
        ip rule del prio 32764

###############   或者这样  #########
1. 先增加三个路由表 
echo "200 sh" >> /etc/iproute2/rt_tables
echo "201 sz" >> /etc/iproute2/rt_tables
echo "202 bj" >> /etc/iproute2/rt_tables

2. 给每个路由表添加默认路由和直连路由
ip route add default via 172.16.2.1 dev eth3 table sh
ip route add 172.16.2.0/24 dev eth3 src 172.16.2.254 table sh
ip route add default via 172.16.1.1 dev eth2 table sz
ip route add 172.16.1.0/24 dev eth2 src 172.16.1.254 table sz
ip route add default via 172.16.3.1 dev eth4 table bj
ip route add 172.16.3.0/24 dev eth4 src 172.16.3.254 table bj

3. 配置策略路由,使数据原路返回
ip rule add from 172.16.1.254 table sh
ip rule add from 172.16.2.254 table sz
ip rule add from 172.16.3.254 table bj
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/404.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2023/2/18作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录