При попытке настроить небольшой сервер с контейнерами LXC я столкнулся с проблемой:
Я хочу назначить 4 разных IP-адреса: 1 адрес для хоста и 3 адреса в другой сети для контейнеров.
Настройка 4 IP-адресов с использованием виртуальных интерфейсов (eth0: 1, eth0: 2 и т. Д.) Вообще не проблема, но LXC не работает с этими виртуальными интерфейсами.
IP-адрес хоста - 2.2.2.2 (маска сети 255.255.252.0). Три IP-адреса контейнера: 33.33.33.33, 33.33.33.44 и 33.33.33.55. Сетевая маска для всех: 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-адреса контейнера для получения пакетов, не так ли?
Маленький файл, так как все параметры хранятся в конфигурации LXC.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
Это сетевая часть моего файла конфигурации 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
У вас есть подсказки, в какой части конфигурации я испортил?
Спасибо за вашу помощь!