Hilmar Preuße <[email protected]> (Mo 20 Nov 2017 10:46:46 CET):
> Moin,
> 
> ich habe hier ein nerviges Problem mit DNS-Resolving. Ich kann einen
> Host mittels dig/nslookup auflösen, aber dann nicht pingen/anbrowsen:
> 
> root@haka:~# nslookup confluence.amasol.local

Auf nslookup würde ich nicht viel geben, das hat zu viel Magie
eingebaut.
 
> root@haka:~# dig confluence.amasol.local
…
> confluence.amasol.local. 3478 IN      A       192.168.42.37

Ok, das war eine ordentlich DNS-Query incl. der Antwort. (Im konkreten
Fall ist nslookup auch nicht falsch, aber man weiß ja nie…)

 
> ---> Ping/getent geht aber nicht
> 
> root@haka:~# ping confluence.amasol.local
> ping: confluence.amasol.local: Name or service not known
> root@haka:~# getent hosts confluence.amasol.local

`getent` macht nicht zwingend DNS. Ebenso wie `ping`, welches auch nur 
getent (bzw. die Library-Entsprechnungen (gethostbyname(3)…)  dafür benutzt)¹

> ---> Ping/getent gegen Hostname geht aber.
> root@haka:~# ping confluence
> PING confluence.amasol.local (192.168.42.37) 56(84) bytes of data.
> ^C64 bytes from 192.168.42.37: icmp_seq=1 ttl=63 time=39.8 ms

> # Generated by NetworkManager
> search amasol.local fritz.box
> 
> Liegt es daran, daß er .local nicht als TLD erkennt, dann immer die

Wer ist ER? Warum sollten TLDs hier eine Rolle spielen?

In Deiner nsswitch.conf steht vermutlich mdns mit drin. Multicast-DNS
wird von .local getriggert.

    $ getent ahosts confluence.amasol.local
        -> mdns springt an, kann aber aus irgendwelchen Gründen den
           Namen nicht auflösen. Jetzt müsste die Auflösung eigentlich
           durchfallen zum DNS und dann doch funktionieren. Wie sieht
           die hosts-Zeile in der nsswitch.conf bei Dir aus?

    $ getent ahosts confluence
        -> hier springt das mdns in der nsswitch.conf nicht an, weil
        kein .local hinten dran hängt!
        -> dns (aus der nsswitch.conf) fühlt sich verantwortlich, liest
           noch die resolv.conf ein (denn das ist die Konfiguration für
           libnss_dns) und kann das mit der angehängten .amasol.local-Endung
           dann auflösen.

Du möchtest für Deine eigenen Domain eigentlich nie .local verwenden,
weil das im Zusammenhang mit AVAHI/Zeroconf/MDNS verwendet wird.
Alternativ weißst Du, was Du tust :)


¹) In Wirklichkeit sollten moderne Programme inzwischen nicht mehr
   gethostbyname() verwenden, sondern getaddressinfo(), das CLI pendant
   dazu wäre dann `getent ahosts …`

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: F69376CE -
 ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ -

Attachment: signature.asc
Description: PGP signature

Antwort per Email an