更改 OpenVZ 路由以通过 ip 故障转移

更改 OpenVZ 路由以通过 ip 故障转移

我有一台专用服务器,它有自己的 IP,还有另一个引用第一个 IP(故障转移)的服务器。

我希望将在此专用服务器上运行的 Proxmox 虚拟机 (openvz) 的网关更改为通过故障转移 IP 而不是主机主服务器的 IP。

一旦连接到虚拟机,当我执行跟踪路由时

VE# traceroute www.google.fr

traceroute to www.google.fr (209.85.229.104), 30 hops max, 60 byte packets
 1  MY_SERVER_NAME.ovh.net (xxx.xxx.xxx.xxx FIRST_IP_MAIN_SERVER)  0.021 ms  0.010 ms  0.009 ms

第一行告诉我主机主服务器的 IP。我希望 traceroute 显示第二个 IP 故障转移。

VE# route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.0.2.1       *               255.255.255.255 UH    0      0        0 venet0
default         192.0.2.1       0.0.0.0         UG    0      0        0 venet0

使用 iptables

HOST# iptables -t nat -L

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere            
MASQUERADE  all  --  anywhere             anywhere            
SNAT       tcp  --  anywhere             10.10.101.2         tcp dpt:www state NEW,RELATED,ESTABLISHED,UNTRACKED to:SECOND_IP_FAILOVER
SNAT       all  --  10.10.101.2          anywhere            to:SECOND_IP_FAILOVER

10.10.101.2是虚拟机IP(接口venet0)

有任何想法吗 ?

答案1

我不太确定我是否理解正确,但也许基于源的路由是你想要的吗?

基本上你要做以下事情:

ip rule add from 10.10.101.2 table 42
ip route add 10.10.101.2/24 dev eth0 table 42
ip route add default dev eth0 via $gateway table 42

除了表标识符 42,您还可以选择任意数字(或符号名称,如果您通过 映射它们/etc/iproute2/rt_tables),但有些是保留的。

您的配置可能有点不同,例如,我不知道您的网关并猜测了网络掩码。

相关内容