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.com
desde 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.com
no 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.com
sino 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-resolve
reescribirá 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.1
y debería funcionar, ya sea que systemd-resolve
se esté ejecutando o no.