我有两个主机,我安装了XCP 1.6。 这些机器在Hetzner举办。
每个主机当前都有一个公共IP和一个额外的IP分配。 每台主机上都有一个guest用户,可以使用额外的failover-ip来访问这个guest用户。
“正常”的IP设置工作得很好。 我为访客configuration了IP,并将他们的eth0的MAC设置为Hetzner提供的虚拟MAC。
现在的问题是故障转移IP。 这个IP可以dynamic地在物理服务器之间重新路由并且将被路由到它们的物理IP。
据我了解,这意味着我必须将IP路由到访客虚拟机,使用主机作为网关(因为Hetzner希望stream量来自主机的MAC)。
在客户端,我添加了这样的故障转移IP:
iface eth0:1 inet static address xx.xx.4.170 netmask 255.255.255.255 <= provided by Hetzner broadcast xx.xx.4.170 <= provided by Hetzner gateway xx.xx.10.214 <= IP of the host
使用这个接口从客人ping主机和其他系统似乎工作:
ping -I eth0:1 xx.xx.10.214 PING xx.xx.10.214 (xx.xx.10.214) from xx.xx.10.242 eth0:1: 56(84) bytes of data. 64 bytes from xx.xx.10.214: icmp_req=1 ttl=64 time=0.618 ms 64 bytes from xx.xx.10.214: icmp_req=2 ttl=64 time=0.082 ms 64 bytes from xx.xx.10.214: icmp_req=3 ttl=64 time=0.140 ms --- xx.xx.10.214 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms
当我尝试ssh到故障转移IP,我只到达主机系统。
有人可以指点我正确的步骤路由传入stream量通过故障转移IP到客人VM?
问题是,我添加了一个路由到虚拟机使用route add而不是ip route add 。
此外,现在还可以删除用于删除icmp请求的防火墙规则。