具有多个 IP 地址的 LXC 桥

具有多个 IP 地址的 LXC 桥

在尝试使用 LXC 容器设置小型服务器时,我遇到了一个问题:

我想分配 4 个不同的 IP 地址:1 个地址用于主机,3 个位于不同网络中的地址用于容器。

使用虚拟接口(eth0:1、eth0:2 等)设置 4 个 IP 地址完全没有问题 - 但 LXC 不适用于这些虚拟接口。

主机的 IP 地址为 2.2.2.2(网络掩码为 255.255.252.0)。3 个容器 IP 地址分别为 33.33.33.33、33.33.33.44 和 33.33.33.55。所有 IP 地址的网络掩码均为:255.255.255.255。

我在为主机和容器设置网络时遇到了困难。其他帖子解释了类似的设置,具有不同但可控制的子网(将 LXC 容器桥接到具有不同 IP 范围的主机网络)或建议使用虚拟接口(同一主机上同一子网内的多个 IP 地址) 而我们在这里无法做到这一点。

这是我的配置:

主机:接口文件

source /etc/network/interfaces.d/*  

auto lo                            
iface lo inet loopback              

auto br0                        
iface br0 inet static          
    address 2.2.2.2  
    netmask 255.255.252.0  
    broadcast 2.2.2.255
    gateway 2.2.2.1    
    bridge_ports eth0      
    bridge_fd 0            
    bridge_maxwait 0        

auto br0:1                    
iface br0:1 inet static        
    address 33.33.33.33
    netmask 255.255.255.255
auto br0:2                    
iface br0:2 inet static        
    address 33.33.33.44
    netmask 255.255.255.255

auto br0:3                    
iface br0:3 inet static        
    address 33.33.33.55
    netmask 255.255.255.255

这是我知道的唯一将多个 IP 地址绑定到一个接口的方法。网桥需要监听容器的 IP 地址来检索数据包,不是吗?

容器:interfaces 文件

文件很小,因为所有参数都保存在 LXC 配置中。

auto lo                
iface lo inet loopback

auto eth0              
iface eth0 inet manual

LXC:网络配置

这是我的 LXC 配置文件的网络部分:

lxc.network.type = veth                  
lxc.network.flags = up                  
lxc.network.link = br0                  
lxc.network.name = eth0                  
lxc.network.ipv4 = 33.33.33.33/32    
lxc.network.ipv4.gateway = 2.2.2.2

但是,连接就是不起作用。虽然为容器分配了地址,但是从容器发送的 IP 数据包却无法到达主机。

ip以下是和的输出route

root@container:~# route -n                                                      
Kernel IP routing table                                                      
Destination     Gateway   Genmask         Flags Metric Ref    Use Iface
0.0.0.0         2.2.2.2   0.0.0.0         UG    0      0        0 eth0
2.2.2.2         0.0.0.0   255.255.255.255 UH    0      0        0 eth0



root@container:~# ip 
1: lo: <LOOPBACK,UP,LOWER_UPmtu 65536 qdisc noqueue state UNKNOWN group 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:
    inet 127.0.0.1/8 scope host 
       valid_lft forever preferred_lft 
    inet6 ::1/128 scope 
       valid_lft forever preferred_lft 
15: eth0: <BROADCAST,MULTICAST,UP,LOWER_UPmtu 1500 qdisc pfifo_fast state UP
group default qlen 1000    
    link/ether ae:af:7c:e4:b5:4d brd ff:ff:ff:ff:ff:
    inet 33.33.33.33/32 brd 255.255.255.255 scope global 
       valid_lft forever preferred_lft 
    inet6 fe80::acaf:7cff:fee4:b54d/64 scope 
       valid_lft forever preferred_lft forever  

主持人给出了相同的详细信息:

root@host:~# route -n                                                        
Routing Table 
Destination     Router      Genmask         Flags Metric Ref    Use Iface  
2.2.2.0         0.0.0.0     255.255.252.0   U     0      0        0 br0    
0.0.0.0         2.2.2.1     0.0.0.0         UG    0      0        0 br0    

root@host:~# ip 
1: lo: <LOOPBACK,UP,LOWER_UPmtu 65536 qdisc noqueue state UNKNOWN group 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:
    inet 127.0.0.1/8 scope host 
       valid_lft forever preferred_lft        
    inet6 ::1/128 scope 
       valid_lft forever preferred_lft 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UPmtu 1500 qdisc pfifo_fast master br0
state UP group default qlen 1000  
    link/ether 2e:cf:22:12:dd:e2 brd ff:ff:ff:ff:ff:
16: veth93SMLW: <BROADCAST,MULTICAST,UP,LOWER_UPmtu 1500 qdisc pfifo_fast state
UP group default qlen 1000      
    link/ether dd:c1:1e:68:90:47 brd ff:ff:ff:ff:ff:
    inet6 fe80::fcc1:1eff:fe68:9047/64 scope 
       valid_lft forever preferred_lft 
17: br0: <BROADCAST,MULTICAST,UP,LOWER_UPmtu 1500 qdisc noqueue state UP group
default                          
    link/ether 4d:cf:22:12:dd:e2 brd ff:ff:ff:ff:ff:
    inet 2.2.2.2/22 brd 1.1.1.255 scope global 
       valid_lft forever preferred_lft 
    inet 33.33.33.33/32 brd 2.2.2.2 scope global br0:
       valid_lft forever preferred_lft 
    inet 33.33.33.44/32 brd 3.3.3.3 scope global br0:
       valid_lft forever preferred_lft 
    inet 33.33.33.55/32 brd 4.4.4.4 scope global br0:
       valid_lft forever preferred_lft 
    inet6 fe80::829:caff:fece:bbd7/64 scope                             
       valid_lft forever preferred_lft forever      

你能提示一下我把哪一部分配置搞乱了吗?

感谢您的帮助!

相关内容