我们在 Proxmox 服务器上运行了一个代理 LXC 容器,该服务器具有多个 IP(和 mac 地址),没有任何问题。托管公司 (OVH) 的指示是为每个 IP 添加其自己的虚拟 MAC,所有这些 IP 都指向主机默认网关。正如所解释的,这已经运行了一段时间,直到我们现在升级。
在 Debian 9 上,出于某种未知原因(可能与网络配置命名更改有关),相同的设置似乎仅适用于第一个 IP,但不适用于后续 IP。我读过类似的问题发生在 CentOS 上,因为它不允许不同的接口指向同一个网关。
Proxmox 通过在 /etc/network/interfaces 上添加发布规则解决了这个问题(至少到 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,并找到创建 IP ROUTE 规则的方法,该规则的工作类似于:
ip route add default via xx.XX.XX.254 dev eth2
但不清楚为什么它不努力实施 - 仅声明容器上的第一个 IP/MAC 地址并使用新语法将其他 IP 添加到同一接口
ip address add 94.xx.xx.xx/32 dev eth2 label eth2:extraIP1
,但这种方法需要对所有 ip 使用单个虚拟 MAC 地址,从我们的角度来看,这是在拥有各种IP的原因
任何帮助将不胜感激,或者一些关于在哪里修补建议的更改的指导......本身作为 PVE 坚持覆盖该文件。
- /if-up.d/
- /interfaces.d/
- interfaces.tail(据说 PVE 在接口末尾使用)