LXC CentOS 容器无法使用多个 IP 地址

LXC CentOS 容器无法使用多个 IP 地址

希望有人能帮助我,因为我一直在拔掉我仅存的头发(虽然不多)试图解决这个问题。

我无法为任何 CentOS 7 容器分配多个 IP,只有第一个适配器/IP 正常工作。这只发生在 RHEL(特别是 CentOS 7)容器上。我在任何 Debian 容器中都没有遇到这个问题,这就是让我如此困惑的地方。

服务器位于 OVH 网络上,在 OVH 管理器界面中使用虚拟 MAC 配置所有 IP。

所有基于 Debian 的容器都可以很好地与多个 IP 和网络适配器配合使用,但出于某种原因,任何 CentOS 7 容器都只能与添加到容器中的第一个 IP 配合使用。我尝试使用来自其他子网的不同故障转移 IP,但都没有成功。

我能够从主机节点 ping 通 CentOS 容器的主 IP,但无法 ping 通从主机添加的任何其他 IP。

这是/etc/network/interfaces来自主机节点的文件:

# The loopback network interface
auto lo
iface lo inet loopback

iface eth2 inet manual

# for Routing
auto vmbr1
iface vmbr1 inet manual
        post-up /etc/pve/kvm-networking.sh
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0


# vmbr0: Bridging. Make sure to use only MAC adresses that were assigned to you.
auto vmbr0
iface vmbr0 inet static
        address 149.x.x.155
        netmask 255.255.255.0
        network 149.x.x.0
        broadcast 149.x.x.255
        gateway 149.x.x.254
        bridge_ports eth2
        bridge_stp off
        bridge_fd 0

iface vmbr0 inet6 static
        address 2607:5300:0061:039b::
        netmask 64
        post-up /sbin/ip -f inet6 route add 2607:5300:0061:03ff:ff:ff:ff:ff dev vmbr0
        post-up /sbin/ip -f inet6 route add default via 2607:5300:0061:03ff:ff:ff:ff:ff
        pre-down /sbin/ip -f inet6 route del default via 2607:5300:0061:03ff:ff:ff:ff:ff
        pre-down /sbin/ip -f inet6 route del 2607:5300:0061:03ff:ff:ff:ff:ff dev vmbr0

ip link以下是客户机(CentOS 7)容器中的结果:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
84: eth0@if85: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT qlen 1000
    link/ether 02:00:00:xx:xx:e9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
86: eth1@if87: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT qlen 1000
    link/ether 02:00:00:xx:xx:30 brd ff:ff:ff:ff:ff:ff link-netnsid 0

这是/etc/sysconfig/network-scripts/ifcfg-eth0文件:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=167.xxx.xxx.214
NETMASK=255.255.255.255
GATEWAY=149.xxx.xxx.254

这是/etc/sysconfig/network-scripts/ifcfg-eth1文件:

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
IPADDR=167.xxx.xxx.215
NETMASK=255.255.255.255
GATEWAY=149.xxx.xxx.254

伙计们,我是不是漏掉了什么?我完全被这个问题难住了,因为它似乎只是 RHEL(特别是 CentOS)的一个问题……任何有助于解决这个问题的建议、评论或想法都将不胜感激!

谢谢!

运行Proxmox:

proxmox-ve: 4.4-84 (running kernel: 4.4.44-1-pve)
pve-manager: 4.4-12 (running version: 4.4-12/e71b7a74)
pve-kernel-4.4.35-2-pve: 4.4.35-79
pve-kernel-4.4.44-1-pve: 4.4.44-84
pve-kernel-4.4.19-1-pve: 4.4.19-66
lvm2: 2.02.116-pve3
corosync-pve: 2.4.2-2~pve4+1
libqb0: 1.0-1
pve-cluster: 4.0-48
qemu-server: 4.0-109
pve-firmware: 1.1-10
libpve-common-perl: 4.0-92
libpve-access-control: 4.0-23
libpve-storage-perl: 4.0-76
pve-libspice-server1: 0.12.8-2
vncterm: 1.3-1
pve-docs: 4.4-3
pve-qemu-kvm: 2.7.1-4
pve-container: 1.0-96
pve-firewall: 2.0-33
pve-ha-manager: 1.0-40
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u3
lxc-pve: 2.0.7-4
lxcfs: 2.0.6-pve1
criu: 1.6.0-1
novnc-pve: 0.5-8
smartmontools: 6.5+svn4324-1~pve80
zfsutils: 0.6.5.9-pve15~bpo80

答案1

近 6 年后再次遇到这个问题,我发现了我自己的问题,下面是我解决问题的方法:

使用普通桥接配置(不需要使用路由)

对于 OVH 中的 CentOS 或 AlmaLinux,您需要使用相同的 MAC 地址然后像平常一样添加。

利润!

相关内容