
Ich habe Lxd auf einem Arch-System installiert (aus Paketen, nicht aus Snapd). Gestern habe ich das System nach einem Upgrade neugestartet und die Namensauflösung der gefälschten Domäne .lxd funktionierte nicht mehr. DNS wird unter 10.0.10.1 von DNSMasq bereitgestellt, das vom Dienst lxc-net gestartet wird. DNSMasq wird auch verwendet, um anderen Hosts im Netzwerk eine interne Domäne bereitzustellen, und das funktioniert gut. netstat -lnp
Ich kann sehen, dass beide Instanzen von DNSMasq an die richtigen Adressen gebunden sind, aber:
- Wenn ich beispielsweise einen Container
ping proxy.lxd
von einem anderen Container aus anpinge, wird die IP der Hauptnetzwerkkarte des Hosts aufgelöst (192.168.1.63) und der Ping funktioniert. - wenn man direkt die IP-Adresse des anderen Containers anpingt, funktioniert es.
- der gleiche Befehl gibt auf dem Host aus
ping: proxy.lxd: Name or service unknown
.
Das DNSMASQ des Systems (nicht das von lxc-net gestartete) ist mit Folgendem konfiguriert: server=/lxd/10.0.10.1
und hat bis gestern einwandfrei funktioniert.
Das Upgrade betraf weder dnsmasq noch das lxc-net-Skript, aber es gab ein Upgrade von lxd von 4.8-1 auf 4.9-1
Es scheint irgendwie mit dnsmasq zusammenzuhängen, aber ich konnte keine Möglichkeit finden, es zu verstehen und zu lösen.
Das Netzwerk funktioniert sowohl in Containern als auch im Host einwandfrei, nur DNS ging zu ... /dev/null. Ist das jemandem passiert? Wie kann ich das Problem beheben?
Antwort1
Nun, es war irgendwie meine Schuld. Ich weiß immer noch nicht, warum es passiert ist, aber nach einigem Nachforschen kann ich nicht ehrlich sagen, wie es vorher funktioniert hat. Das heißt, die "Lösung" bestand darin,konfigurierendas System :)
Ich habe das zuvor zum Einrichten der Netzwerkbrücke verwendete lxc-net-Skript deaktiviertUnddnsmasq, dann:
lxc network create bridgename
um die Brücke zu erstellen und sie in lxd zu verwalten;lxc network edit bridgename
um es zu konfigurieren;- die Brücke wurde zum Standardprofil hinzugefügt (
lxc profile edit default
); - konfiguriert
/etc/dnsmasq.conf
zum Abhören von 127.0.0.1, der Netzwerkkartenadresse und der Bridge-Adresse, DHCP nur für die Bridge-Adresse einrichten, hinzugefügt,local=/lxd/
um container.lxd aufzulösen.
Dannes funktionierte.