systemd-resolve se resuelve incorrectamente dentro de un espacio de nombres de red

systemd-resolve se resuelve incorrectamente dentro de un espacio de nombres de red

Tengo una máquina Ubuntu con un espacio de nombres de red (ns1) conectado al espacio de nombres de la red del host a través de veth. Creé una regla MASQUERADE en iptables para acceder a Internet y puedo hacer ping a 8.8.8.8 desde el espacio de nombres de la red.

Cuando lo hago dig google.comdesde el host, funciona y veo en la interfaz 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)

Sin embargo, cuando ejecuto dig en el espacio de nombres de la red:, sudo ip netns ns1 dig google.comno funciona y esto es lo que veo en la interfaz principal del 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 qué la solicitud proveniente del espacio de nombres de la red no intenta resolver el nombre de host google.comsino el nombre de host ip-10-0-10-40.eu-west-3.compute.internal? Este último es aparentemente el nombre de host de mi máquina Ubuntu.

EDITAR

Si detengo systemd-resolve y agrego el servidor de nombres ascendente, funciona. Por lo tanto, debe ser un problema con systemd-resolve

Respuesta1

systemd-resolvereescribirá su DNS para que apunte a 127.0.0.53 de forma predeterminada. No se puede acceder a él en el espacio de nombres que creó, por lo que las búsquedas de DNS fallan.

Intente usarlo dig google.com. @1.1.1.1y debería funcionar, ya sea que systemd-resolvese esté ejecutando o no.

información relacionada