Ich habe ein sehr seltsames Problem mit meiner Installation von Solaris 11. Die DNS-Auflösung funktioniert einfach nicht, aber seltsamerweise funktioniert nslookup und die Konnektivität ist in Ordnung:
root@solarisxyz:~# ping stackexchange.com
ping: unknown host stackexchange.com
root@solarisxyz:~# nslookup stackexchange.com
Server: 10.x.x.x (DNS)
Address: 10.x.x.x#y
Non-authoritative answer:
Name: stackexchange.com
Address: 64.34.119.12
root@solarisxyz:~# ping 64.34.119.12
64.34.119.12 is alive
Relevante Abschnitte von Dateien:
/etc/resolv.conf : (das ist das gleiche, was unsere Linux-Boxen haben)
domain us.oracle.com nameserver 10.x.x.x nameserver 10.x.x.x
/ etc / hosts :
# ::1 solarisxyz localhost (commented out) 127.0.0.1 localhost loghost solarisxyz
/etc/nsswitch.conf :
hosts: files dns # pretty much everything else set to files
resolv.conf
, ist es tatsächlich10.x.x.x
oder haben Sie die IP-Adresse versteckt?dig @10.x.x.x stackexchange.com
dig @8.8.8.8 stackexchange.com
dig stackexchange.com
Antworten:
Die Netzwerkkonfiguration hat sich ab Solaris 11 radikal geändert. Nsswitch.conf ist nur noch informativ. Angenommen, Sie befinden sich nicht im automatischen Modus. In diesem Fall wäre DNS korrekt konfiguriert worden. Gehen Sie wie folgt vor:
http://docs.oracle.com/cd/E23824_01/html/E24456/gliyc.html#OSTELgllcu
quelle
nsswitch.conf
hat also im Grunde keinerlei Auswirkungen auf die Netzwerkkonfiguration?Konfigurieren von Namensdiensten mithilfe von SMF
Das folgende Beispiel zeigt, wie DNS mithilfe von SMF-Befehlen konfiguriert wird.
quelle
Ich denke, Ihr Problem hat etwas mit dem Solaris Name Service-Daemon oder genauer mit der Konfiguration dieses Tieres zu tun. Vielleicht haben Sie /etc/nsswitch.conf von Hand bearbeitet? Dies würde erklären, warum der Name Service-Daemon ihn nicht erkennt.
Der Befehl nslookup verwendet den Solaris Name Service nicht. Dies könnte erklären, warum nslookup wie erwartet funktioniert, während alles andere nicht funktioniert.
Unter Solaris ist es immer eine gute Idee, mithilfe des
getent
Befehls zu überprüfen, ob die Suchdienste wie erwartet funktionieren . In Ihrem Beispiel wäre es:Die Frage ist also, wie sichergestellt werden kann, dass der Solaris Name Service weiß, dass Hostnamen sowohl in lokalen Dateien als auch in DNS gesucht werden müssen. Denken Sie daran, dass Sie in Solaris 11 Dateien wie /etc/nsswitch.conf nicht mehr direkt bearbeiten dürfen / dürfen. Sie werden von Dämonen gesteuert, die unter SMF ausgeführt werden. So ändern Sie es:
Danach werden Sie feststellen, dass Ihre
/etc/nsswitch.conf
Datei neu auf die Festplatte geschrieben wurde. Wenn Sie zuvor von Hand bearbeitet haben, sehen Sie möglicherweise keine tatsächliche Änderung.getent
Geben Sie den Befehl erneut aus und hoffentlich funktioniert er jetzt.Viel Glück.
quelle
Für Solaris 10 habe ich getan
svcadm restart /system/name-service-cache
; Dann kann ich den Host mit Telnet / Ping auflösen.quelle
Zunächst starten Sie bitte
truss
aufnscd
:truss
Versuchen Sie es bitte, während der obige Befehl ausgeführt wirdDann bitte vorübergehend deaktivieren
nscd
:und Renn:
Jetzt können Sie den Name-Service-Cache wieder aktivieren:
Versuchen Sie jetzt ... hoffe, es wird funktionieren.
quelle