Назад | Перейти на главную страницу

Как назначить IPv4-адрес второму сетевому интерфейсу контейнера LXC?

Я использую контейнер lxc, который хочу подключить к двум разным мостам (br0 и br1). Когда я настраиваю файл конфигурации контейнера (/var/lib/lxc/testcontainer/config), как показано ниже, только первому интерфейсу назначается IP-адрес:

lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:e6:16:c5

lxc.network.type = veth
lxc.network.link = br1
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:c5:16:c5

Это подтверждается с помощью lxc-ls:

NAME              STATE   AUTOSTART GROUPS IPV4          IPV6 
testcontainer     RUNNING 1         -      192.168.1.6   -    

И используя ifconfig из контейнера:

eth0      Link encap:Ethernet  HWaddr 00:16:3e:e6:16:c5  
          inet addr:192.168.1.6  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fee6:16c5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:440 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48388 (48.3 KB)  TX bytes:1576 (1.5 KB)

eth1      Link encap:Ethernet  HWaddr 00:16:3e:c5:16:c5  
          inet6 addr: fe80::216:3eff:fec5:16c5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2796 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:521109 (521.1 KB)  TX bytes:648 (648.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Переключение порядка сетевых интерфейсов внутри файла конфигурации приводит к отображению другого интерфейса (который ранее не был назначен) и адреса IPv4.

Что необходимо для назначения IPv4 на втором интерфейсе?

Не видя статического IP-адреса в вашем фрагменте конфигурации, я предполагаю, что вы используете DHCP / dnsmasq. В этом случае вам нужно включить конфигурацию сети для eth1. В большинстве шаблонов по умолчанию только eth0 был настроен со сценарием сетевой конфигурации по умолчанию.

В зависимости от используемого вами шаблона / ОС, вам следует отредактировать файл конфигурации сети и добавить что-нибудь в строку:

auto eth1
iface eth1 inet dhcp

(этот пример для контейнера debian / ubuntu)