репликация моста lxd в / etc / network / interfaces и dnsmasq

У меня есть сервер Ubuntu 16.04 и конфигурация LXD по умолчанию .

Обычно, когда появляется изображение, происходит следующее:

eno1      Link encap:Ethernet  HWaddr b8:ae:ed:ea:69:41  
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::baae:edff:feea:6941/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:116948 errors:0 dropped:3 overruns:0 frame:0
          TX packets:59726 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:161031770 (161.0 MB)  TX bytes:4656462 (4.6 MB)
          Interrupt:16 Memory:df100000-df120000 

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:177 errors:0 dropped:0 overruns:0 frame:0
          TX packets:177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:13388 (13.3 KB)  TX bytes:13388 (13.3 KB)

lxdbr0    Link encap:Ethernet  HWaddr fe:5c:57:cd:bd:72  
          inet addr:10.41.63.1  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fd6d:c772:b128:ebfd::1/64 Scope:Global
          inet6 addr: fe80::d08c:f9ff:fed9:5cd1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5064 (5.0 KB)  TX bytes:11128 (11.1 KB)

vethD7L5U9 Link encap:Ethernet  HWaddr fe:5c:57:cd:bd:72  
          inet6 addr: fe80::fc5c:57ff:fecd:bd72/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5610 (5.6 KB)  TX bytes:10322 (10.3 KB)

И изображение выглядит так:

+-------+---------+---------------------+-----------------------------------------------+------------+-----------+
| NAME  |  STATE  |        IPV4         |                     IPV6                      |    TYPE    | SNAPSHOTS |
+-------+---------+---------------------+-----------------------------------------------+------------+-----------+
| first | RUNNING | 10.41.63.206 (eth0) | fd6d:c772:b128:ebfd:216:3eff:fe9d:ef41 (eth0) | PERSISTENT | 0         |
+-------+---------+---------------------+-----------------------------------------------+------------+-----------+

Я хотел бы воспользоваться вариантом использования моего собственного моста, поскольку это вариант при реконфигурации. Вроде все не так просто, как я думал.

Я создаю простой мост.

iface vbr0 inet static
        address 10.10.10.1
        broadcast 255.255.255.0
        pre-up          brctl addbr vbr0
        post-down       brctl delbr vbr0

Я перезапускаю свой контейнер и не получаю IP-адрес.

+-------+---------+------+------+------------+-----------+
| NAME  |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+-------+---------+------+------+------------+-----------+
| first | RUNNING |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+

Но все-таки получилось.

vbr0      Link encap:Ethernet  HWaddr fe:da:17:ca:ab:e0  
          inet addr:10.10.10.1  Bcast:255.255.255.0  Mask:255.0.0.0
          inet6 addr: fe80::e83b:1aff:fe18:4652/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36 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:7632 (7.6 KB)  TX bytes:908 (908.0 B)

vethWLPBCC Link encap:Ethernet  HWaddr fe:da:17:ca:ab:e0  
          inet6 addr: fe80::fcda:17ff:feca:abe0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 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:4410 (4.4 KB)  TX bytes:948 (948.0 B)

Не работает dnsmasq (чего и следовало ожидать), поэтому я Я не уверен, где это нужно. Если я запустил его вручную, мои контейнеры получают IP-адреса (после перезапуска).

Может ли кто-нибудь указать, как реплицировать мост lxdbr0 и последующее создание экземпляра dnsmasq?

1
задан 11 June 2016 в 06:01
1 ответ

Мост + гостевая сеть dnsmasq

Похоже на вас » Вам не хватает двух шагов, которые LXC / LXD обычно выполняет за вас. В LXC это обрабатывается службой lxc-net .

По сути, происходит следующее:

  1. Мост создан
  2. Запускается экземпляр dnsmasq , прослушивание интерфейса моста
  3. iptables правила добавляются для обеспечения NAT, DHCP и основного трафика ICMP.

Вы можете увидеть это точное поведение, если посмотрите на источник lxc-net сценарии инициализации. (и, вероятно, эквивалент lxd )

Развертывание

Вы можете:

  1. Скопировать и изменить сценарий lxc-net из lxc / вашего дистрибутива (см. / etc / init / lxc-net или здесь: lxc-net (официальный мастер) .
    • Поместите его в свои сценарии инициализации ( / etc / init / ) и назовите что-нибудь уникальное. Затем вы можете запустить / остановить его, как если бы это была его собственная служба.
  2. Напишите свой собственный сценарий на основе существующих.

Вы захотите добавить этот сценарий вместо своего pre- команды вверх / пост-вниз . Убедитесь, что он отмечен как исполняемый.

0
ответ дан 4 December 2019 в 06:11

Теги

Похожие вопросы