linux网络路由管理之二(多ISP出口负载均衡)

应用场景:办公点多运营商出口负载均衡场景

第一:分割访问(Split access)

#1:在linux router 上创建两个路由表,CT,CM 添加到/etc/iproute2/rt_tables
    echo "200 CT" >> /etc/iproute2/rt_tables
    echo "300 CM" >> /etc/iproute2/rt_tables

#linux开启转发,关闭防火墙设置
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p
    systemctl stop firewalld

#各部分代表值
    电信路由表:  CT
    电信接口:   eth0
    电信 IP:  IP0
    电信网关:   CT-GW
    电信网段:   CT_NET
    移动路由表:  CM
    移动接口:   eth1
    移动 IP:  IP1
    移动网关:   CM-GW
    移动网段:   CM_NET
    办公区接口:  eth2
    办公区网段:  LC_NET

#在公网ISP接口eth0 eth1的配置文件中都配置号网关,若是pppoe或者dhcp 它自己提供了,可以不必手动操作

在 CT 路由表中设定,如果要到达 $CT_NET ,需要从网卡 $eth0 出去
在 CM 路由表中设定,如果要到达 $CM_NET ,需要从网卡 $eth1 出去
    ip route add $CT_NET dev $eth0 src $IP0 table CT
    ip route add default via $CT-GW table CT
    ip route add $CM_NET dev $eth1 src $IP1 table CM
    ip route add default via $CM-GW table CM

#添加策略路由(这些实际上选择了要使用的路由表。如果您已经具有相应的源地址,则要确保路由出指定的接口)
    ip rule add from $IP0 table CT
    ip rule add from $IP1 table CM

#这组命令可确保从特定接口传入流量的能进入两张不同的路由表。(这里是接下联的)
    ip route add $LC_NET     dev $eth2 table CT
    ip route add $LC_NET     dev $eth2 table CM
    ip route add 127.0.0.0/8 dev lo   table CT
    ip route add 127.0.0.0/8 dev lo   table CM 

#源NAT配置,(在公网接口的出方向都要写)
    iptables -t nat -A POSTROUTING -s $LC_NET -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s $LC_NET -o eth1 -j MASQUERADE

#NAT场景举例
    ip route add 10.0.2.0/24 dev enp0s3 src 10.0.2.15 table CT
    ip route add default via 10.0.2.2 table CT
    ip route add 192.168.60.0/24 dev enp0s8 src 192.168.60.45 table CM
    ip route add default via 192.168.60.3 table CM

    ip rule add from 10.0.2.15 table CT
    ip rule add from 192.168.60.45 table CM

    ip route add 192.168.2.0/24 dev enp0s3 table CT
    ip route add 127.0.0.0/8 dev lo   table CT
    ip route add 192.168.2.0/24 dev enp0s8 table CM
    ip route add 127.0.0.0/8 dev lo   table CM 

    iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o enp0s3 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o enp0s8 -j MASQUERADE

第二:负载均衡(Load balancing)

默认基于目的IP的负载均衡,实现路由器本身及local network都能实现负载均衡,并且是容错形式

这将平衡两个提供商之间的路由。可以对权重 参数进行调整,以偏向一个提供者而不是另一个提供者。注意,平衡不是完美的,因为它是基于路由的,并且路由被缓存。
这意味着到常用站点的路由将始终通过同一提供商进行。

    ip route add default scope global nexthop via $P1 dev $eth0 weight 1 nexthop via $P2 dev $eth1 weight 1

    #ip route add default scope global nexthop via 10.0.2.2 dev enp0s3 weight 1 nexthop via 192.168.60.3 dev enp0s8 weight 1

第三:测试local network中网络主机是否可以访问外网

    1:测试 本地主机是否可以访问 外网
    2:分别交替 ifdown 路由器的 isp网卡接口,观察本地主机的网络是否出现了 中断  
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/110.html
谢谢你请我吃辣条谢谢你请我吃辣条

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

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

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

暂无评论

发表回复

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

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

文章目录