systemd-resolve resolve incorretamente dentro de um namespace de rede

systemd-resolve resolve incorretamente dentro de um namespace de rede

Eu tenho uma máquina Ubuntu com um namespace de rede (ns1) conectado ao namespace da rede host via veth. Criei uma regra MASQUERADE no iptables para acessar a internet e consigo executar ping em 8.8.8.8 no namespace da rede.

Quando faço isso dig google.comno host, funciona e vejo na interface principal:

08:03:02.376478 IP 10.0.10.40.51566 > 10.0.10.2.53: 48449+ [1au] A? google.com. (39)
08:03:02.378335 IP 10.0.10.2.53 > 10.0.10.40.51566: 48449 1/0/1 A 216.58.204.110 (55)

Porém, quando executo dig no namespace da rede: sudo ip netns ns1 dig google.com, não funciona e é isso que vejo na interface principal do host:

08:03:09.033958 IP 10.0.10.40.50888 > 10.0.10.2.53: 32798+ [1au] A? ip-10-0-10-40.eu-west-3.compute.internal. (69)
08:03:09.034152 IP 10.0.10.40.36297 > 10.0.10.2.53: 43961+ [1au] AAAA? ip-10-0-10-40.eu-west-3.compute.internal. (69)
08:03:09.034460 IP 10.0.10.2.53 > 10.0.10.40.50888: 32798 NXDomain 0/1/1 (144)
08:03:09.034460 IP 10.0.10.2.53 > 10.0.10.40.36297: 43961 NXDomain 0/1/1 (144)
08:03:09.034559 IP 10.0.10.40.50888 > 10.0.10.2.53: 32798+ A? ip-10-0-10-40.eu-west-3.compute.internal. (58)
08:03:09.034639 IP 10.0.10.40.36297 > 10.0.10.2.53: 43961+ AAAA? ip-10-0-10-40.eu-west-3.compute.internal. (58)
08:03:09.034837 IP 10.0.10.2.53 > 10.0.10.40.50888: 32798 NXDomain 0/1/0 (133)
08:03:09.034906 IP 10.0.10.2.53 > 10.0.10.40.36297: 43961 NXDomain 0/1/0 (133)

Por que a solicitação vinda do namespace da rede não está tentando resolver hostname, google.commas hostname ip-10-0-10-40.eu-west-3.compute.internal? Este último é aparentemente o nome do host da minha máquina Ubuntu

EDITAR

Se eu parar o systemd-resolve e adicionar o servidor de nomes upstream, ele funcionará. Portanto, deve ser um problema com o systemd-resolve

Responder1

systemd-resolvereescreverá seu DNS para apontar para 127.0.0.53 por padrão. Não é acessível no namespace que você criou, portanto as pesquisas de DNS falham.

Tente usar dig google.com. @1.1.1.1e deve funcionar, esteja systemd-resolveem execução ou não.

informação relacionada