systemd-resolve wird innerhalb eines Netzwerk-Namespace falsch aufgelöst

systemd-resolve wird innerhalb eines Netzwerk-Namespace falsch aufgelöst

Ich habe eine Ubuntu-Maschine mit einem Netzwerk-Namespace (ns1), die über veth mit dem Host-Netzwerk-Namespace verbunden ist. Ich habe in iptables eine MASQUERADE-Regel erstellt, um auf das Internet zuzugreifen, und ich kann 8.8.8.8 vom Netzwerk-Namespace aus anpingen.

Wenn ich es dig google.comvom Host aus mache, funktioniert es und ich sehe in der Hauptschnittstelle:

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)

Wenn ich jedoch dig im Netzwerk-Namespace: ausführe sudo ip netns ns1 dig google.com, funktioniert es nicht und Folgendes wird in der Hauptschnittstelle des Hosts angezeigt:

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)

Warum versucht die Anfrage aus dem Netzwerk-Namespace nicht, den Hostnamen aufzulösen, google.comsondern den Hostnamen ip-10-0-10-40.eu-west-3.compute.internal? Letzterer ist anscheinend der Hostname meiner Ubuntu-Maschine

BEARBEITEN

Wenn ich systemd-resolve beende und den Upstream-Nameserver hinzufüge, funktioniert es. Daher muss es ein Problem mit systemd-resolve sein

Antwort1

systemd-resolvewird Ihren DNS umschreiben, sodass er standardmäßig auf 127.0.0.53 verweist. Er ist im von Ihnen erstellten Namespace nicht erreichbar, sodass DNS-Lookups fehlschlagen.

Versuchen Sie es dig google.com. @1.1.1.1, und es sollte funktionieren, unabhängig davon, ob systemd-resolvees ausgeführt wird oder nicht.

verwandte Informationen