Problema Dnsmasq com namespace de rede Linux

4

Eu tentei usar o dnsmasq como o servidor de nomes para máquinas virtuais. Em todos os vm-s, /etc/resolv.conf indica que vm precisa acessar 192.168.15.3 para resolver os nomes de domínio. No entanto, a interface que contém 192.168.15.3 está dentro de um namespace de rede no host.

Eu posso ping 192.168.15.3 da máquina virtual e do host (dentro do namespace da rede). E lsof -i:53 fora do namespace da rede mostra que o dnsmasq está escutando na porta 53. Se eu executar lsof -i:53 dentro do namespace da rede, não haverá nada.

Se eu alterar o conteúdo em /etc/resolv.conf para usar qualquer endereço IP da interface no namespace público do host, a resolução de nomes funcionará bem. Parece que o processo dnsmasq não deu errado.

Eu tentei ip netns exec <THE NAMESPACE> systemctl start dnsmasq após parar o dnsmasq, mas somente o dnsmasq abre sua porta dentro do namespace público.

O que devo fazer se eu não quiser modificar resolv.conf dentro da vm, mas apenas configurar algo no host? Como tornar a porta 53 acessível dentro do namespace da rede?

    
por xywang 26.10.2015 / 07:11

1 resposta

0

link

A network namespace is logically another copy of the network stack, with its own routes, firewall rules, and network devices.

Então você precisa de algo assim: Iptables para redirecionar o IP e a porta de pesquisa de DNS

    
por 08.10.2018 / 15:04