Am 07.11.2012 11:18, schrieb David Haller:
Hallo,
Am Wed, 07 Nov 2012, Karl Sinn schrieb:
Am 07.11.2012 00:12, schrieb David Haller:
Am Tue, 06 Nov 2012, Karl Sinn schrieb:
Dein erstes Zitat sagt ja nur, dass "each of the servers" benutzt wird, nicht "each entry" aus /etc/resolv.conf.
Was ist da der Unterschied?
'nameserver' definiert abzufragende DNS-Server, 'search' definiert domains in denen nach "nackten" hostnamen gesucht werden soll.
Was ist ein "nackter" hostname?
z.B. "foo". Oder "www". 'search' definiert die Domains, in denen nach diesen Hostnamen gesucht werden soll, bei
search example.com
wird also nach 'foo.example.com' bzw. 'www.example.com' gesucht, wenn du eine Abfrage nach 'foo' bzw. 'www' machst.
Per 'nameserver' definierst du dabei, welche DNS-Server nach eben diesen hostnamen abgefragt werden, mit
nameserver 8.8.8.8
wird also z.B. der eine DNS von Google nach 'foo.example.com' bzw. nach 'www.example.com' befragt.
$ grep search /etc/resolv.conf $ dig @8.8.8.8 +search www
; <<>> DiG 9.8.3-P4 <<>> @8.8.8.8 +search www ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 7059 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION: ;www. IN A
;; AUTHORITY SECTION: . 1440 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012110700 1800 900 604800 86400
;; Query time: 24 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 7 11:10:31 2012 ;; MSG SIZE rcvd: 96
Hier wird also nix gefunden (NXDOMAIN, www als TLD gibt es nicht und somit wird nur '.' korrekt als SOA ("Start of Authority", die zuständige Hierarchieebene im DNS) zurückgeliefert.
Jetzt mit 'search' Eintrag in der resolv.conf:
$ [..] $ grep search /etc/resolv.conf search example.com $ dig @8.8.8.8 +search www
; <<>> DiG 9.8.3-P4 <<>> @8.8.8.8 +search www ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37780 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.example.com. IN A
;; ANSWER SECTION: www.example.com. 9091 IN A 192.0.43.10
;; Query time: 25 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 7 11:11:18 2012 ;; MSG SIZE rcvd: 49
Hier wird jetzt 'www' als hostname interpretiert, um das per search definierte 'example.com' ergänzt, abgefragt und eben der Host 'www.example.com.' (der '.' am Ende ist relevant) mit der IP 192.0.43.10 gefunden.
Unterschied erkannt?
Und welche DNS-Server befragt werden (wenn man nicht @<IP> auf der Kommandozeile verwendet) legen eben die nameserver-Einträge in der resolv.conf fest. In der Praxis steht da mein Router an erster Stelle.
-dnh
Hallo David, ich glaube ich habs kapiert. Danke für die ausführliche Erklärung. Gruß Karl -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org