У меня есть сервер 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?
Похоже на вас » Вам не хватает двух шагов, которые LXC / LXD обычно выполняет за вас. В LXC это обрабатывается службой lxc-net
.
По сути, происходит следующее:
dnsmasq
, прослушивание интерфейса моста iptables
правила добавляются для обеспечения NAT, DHCP и основного трафика ICMP. Вы можете увидеть это точное поведение, если посмотрите на источник lxc-net
сценарии инициализации. (и, вероятно, эквивалент lxd
)
Вы можете:
/ etc / init / lxc-net
или здесь: lxc-net (официальный мастер) .
/ etc / init /
) и назовите что-нибудь уникальное. Затем вы можете запустить / остановить его, как если бы это была его собственная служба. Вы захотите добавить этот сценарий вместо своего pre- команды вверх
/ пост-вниз
. Убедитесь, что он отмечен как исполняемый.