replicair lxd bridge em / etc / network / interfaces e dnsmasq

Eu tenho um server Ubuntu 16.04 e configuration LXD padrão.

Normalmente, quando uma image apairece, isso acontece:

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 oviewruns:0 frame:0 TX packets:59726 errors:0 dropped:0 oviewruns:0 cairrier: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 oviewruns:0 frame:0 TX packets:177 errors:0 dropped:0 oviewruns:0 cairrier: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 oviewruns:0 frame:0 TX packets:78 errors:0 dropped:0 oviewruns:0 cairrier: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 oviewruns:0 frame:0 TX packets:75 errors:0 dropped:0 oviewruns:0 cairrier:0 collisions:0 txqueuelen:1000 RX bytes:5610 (5.6 KB) TX bytes:10322 (10.3 KB) 

E a image se pairece com isto:

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

Gostairia de tomair a opção de usair minha própria ponte, pois esta é uma opção na reconfiguration. Pairece que não é tão simples quanto eu pensava.

Eu crio uma ponte simples.

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

Eu reinicio o meu contêiner e não recebo um IP.

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

Mas faça veth apairecer.

 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 oviewruns:0 frame:0 TX packets:10 errors:0 dropped:0 oviewruns:0 cairrier: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 oviewruns:0 frame:0 TX packets:10 errors:0 dropped:0 oviewruns:0 cairrier:0 collisions:0 txqueuelen:1000 RX bytes:4410 (4.4 KB) TX bytes:948 (948.0 B) 

Não há nenhuma execução de dnsmasq (o que seria de esperair), então não tenho certeza de onde isso entra em jogo. Se eu executá-lo manualmente, meus contêineres recebem endereços IP (após o reinício).

Alguém pode dair pointers como como replicair a ponte lxdbr0 e a instanciação dnsmasq conseqüente?

Bridge + networking de convidados dnsmasq

Pairece que você está faltando duas etapas que LXC / LXD normalmente lida com você. Com o LXC, isso é gerenciado pelo service lxc-net .

Fundamentalmente, o que acontece é o seguinte:

  1. A ponte é criada
  2. Uma instância do dnsmasq é iniciada, ouvindo a interface da ponte
  3. iptables regras do iptables são adicionadas paira fornecer NAT, DHCP e tráfego ICMP básico.

Você pode view esse comportamento exato se você olhair paira a fonte paira os scripts de boot lxc-net . (e provavelmente o equivalente lxd )

Implantando

Você poderia:

  1. Copie e modifique o script lxc-net da lxc / sua distribuição (veja em /etc/init/lxc-net ou vá aqui: lxc-net (mestre oficial) .
    • Coloque-o em seus scripts de boot ( /etc/init/ ) e nomeie-o algo único. Você pode então começair / pairair como se fosse seu próprio service.
  2. Escreva seu próprio script, baseado nos existentes.

Você quer adicionair este script no lugair dos seus commands pre-up / post-down . Certifique-se de que ele esteja maircado como executável.

Intereting Posts