克服非对称路由,同时在不同的ISP之间迁移

我们正在从一组地址迁移到另一组地址,都是/ 24,并尝试尽量减less迁移过程中的停机时间。 理想情况下,我们将在closures旧电路的同时运行一段时间。 总共有4个互联网连接,每对都运行BGP。

然后,每个路由器都被路由到思科ASA,思科ASA连接到在该子网上连接了多个服务器的交换机。

元网络 - 图

在上图中,左边部分是今天所存在的,我正在寻找右边。

我连接了ASA,并且在10.20.20.0/24子网上都有这两个,第一个ASA接口为10.20.20.1,第二个ASA接口为10.20.20.254。

这里的问题是,所有的服务器都有10.20.20.1作为它们的默认路由,我真的很想把stream量路由回去。就是说,internet – > ASA#2 – > server – >返回ASA#2。 就像今天一样,当然,它会将响应发送回ASA#1,并且找不到它的翻译。

我是否以错误的方式去做这件事?

编辑:我应该提到,外面的#1和外面的#2有不同的公共/ 24networking。 我们正在从ISP提供的块迁移到我们自己的块。

这就是我最终做的事情:

#!/bin/sh echo 200 asa1 >> /etc/iproute2/rt_tables echo 201 asa2 >> /etc/iproute2/rt_tables ip route add table asa1 default via 10.20.20.1 dev eth0 metric 100 ip route add table asa2 default via 10.20.20.254 dev eth0 metric 100 ip rule add prio 100 from all fwmark 1 lookup asa1 ip rule add prio 110 from all fwmark 2 lookup asa2 echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark iptables -t mangle -A INPUT -m mac --mac-source $(MAC_ASA1) -j MARK set-mark 1 iptables -t mangle -A INPUT -m mac --mac-source $(MAC_ASA2) -j MARK --set-mark 2 iptables -t mangle -A INPUT -j CONNMARK --save-mark 

MAC_ASA1 / MAC_ASA2replace为ASA上连接的接口的硬件地址。 这可以从ARP表中收集。

您还必须注意以太网设备的名称,特别是如果您使用新的样式接口名称的systemd。