文章目录
应用场景:办公点多运营商出口负载均衡场景
第一:分割访问(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网卡接口,观察本地主机的网络是否出现了 中断
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论