lxd: dnsmasq não resolve mais IP de contêineres

lxd: dnsmasq não resolve mais IP de contêineres

Tenho o Lxd instalado em um sistema Arch (a partir de pacotes, não snapd), ontem reiniciei o sistema após uma atualização e a resolução de nomes do domínio falso .lxd parou de funcionar; O DNS é fornecido em 10.0.10.1 do dnsmasq, lançado pelo serviço lxc-net. O dnsmasq também é usado para fornecer um domínio interno para outros hosts na rede e está funcionando bem. com netstat -lnpposso ver ambas as instâncias do dnsmasq vinculadas aos endereços corretos, mas:

  • quando faço ping em um contêiner (por exemplo ping proxy.lxd) de dentro de outro, o ip da placa de rede principal do host é resolvido (192.168.1.63) e o ping funciona.
  • ao executar ping diretamente no endereço IP do outro contêiner, ele funciona.
  • o mesmo comando no host fornece ping: proxy.lxd: Name or service unknown.

O dnsmasq do sistema (não aquele iniciado pelo lxc-net) está configurado com: server=/lxd/10.0.10.1e funcionou bem até ontem.

A atualização não envolveu dnsmasq ou o script lxc-net, mas houve uma atualização do lxd de 4.8-1 para 4.9-1

Parece relacionado ao dnsmasq de alguma forma, mas não foi possível encontrar uma maneira de entendê-lo e resolvê-lo.

a rede funciona bem tanto nos contêineres quanto no host, apenas o DNS foi para... /dev/null Isso aconteceu com alguém? Como posso resolver isso?

Responder1

Bem, de alguma forma foi minha culpa. ainda não sei por que isso aconteceu, mas depois de algumas pesquisas, não posso dizer honestamente como estava funcionando antes. Dito isto, a "solução" eraconfiguraro sistema :)

Desativei o script lxc-net usado anteriormente para configurar a ponte de redeednsmasq, então:

  • lxc network create bridgenamecriar a ponte e gerenciá-la no lxd;
  • lxc network edit bridgenamepara configurá-lo;
  • adicionou a ponte ao perfil padrão ( lxc profile edit default);
  • configurado /etc/dnsmasq.confpara escutar em 127.0.0.1, o endereço nic e o endereço da ponte, configure o dhcp apenas para o endereço da ponte, adicionado local=/lxd/para resolver container.lxd.

entãofuncionou.

informação relacionada