我们有一个代理LXC容器在Proxmox服务器上运行,具有多个IP(和MAC地址),没有任何问题。托管公司(OVH)的指示是添加每个IP及其自己的虚拟mac,所有虚拟mac都指向主机默认网关。正如所解释的那样,在我们现在升级之前,它已经工作了一段时间。
在Debian 9上出于某种未知原因(可能与网络配置命名更改有关),相同的设置似乎只适用于第一个IP但不适用于后续IP。我已经读过类似的问题在CentOS上发生,因为它不允许不同的接口指向同一个网关。
Proxmox通过在/ etc / network / interfaces上添加post up规则解决了这个问题(至少达到了Deb8):
# --- BEGIN PVE ---
post-up ip route add xx.XX.XX.254 dev eth2
post-up ip route add default via XX.XX.XX.254 dev eth2
pre-down ip route del default via xx.XX.XX.254 dev eth2
pre-down ip route del xx.XX.XX.254 dev eth2
# END PVE ---
这似乎只在第一个界面上有效,但在其余界面上失败。
由于我们没有找到行为从Deb8变为Deb9的原因,我们只能想到以下形式的解决方案:
ip route add default via xx.XX.XX.254 dev eth2
但不清楚为什么它不能很难实现ip address add 94.xx.xx.xx/32 dev eth2 label eth2:extraIP1
,但此方法将需要使用单个虚拟MAC地址到所有ips,这是从我们的观点中移除的有各种IP的原因任何帮助将不胜感激,或者一些关于在何处修补建议的更改的指导......为了不重写我们在重新启动或定义更改时的更改,理想情况下仅在ethX已经上升时(不能在接口定义中执行此操作)本身PVE坚持覆盖该文件。
在没有找到为什么debian 8容器与debian 9上的不同行为之后,我们通过应用第二个解决方案并改变我们过去定义容器的方式来解决它。这是:
if [ "$IFACE" = eth0 ]; then
ip address add XXXXXXXX/32 dev eth0 label eth0:ip2
ip address add XXXXXXXX/32 dev eth0 label eth0:ip3
fi
和/if-post-down.d/上删除(del)类似的一个
我们确实有一个额外的net1本地内部IP定义没有问题。