Hi.

On Fri, 28 Aug 2015 14:35:09 +0100
Brian <a...@cityscape.co.uk> wrote:

> On Fri 28 Aug 2015 at 14:45:32 +0300, Reco wrote:
> 
> >  Hi.
> > 
> > On Fri, 28 Aug 2015 12:09:08 +0100
> > Brian <a...@cityscape.co.uk> wrote:
> > 
> > > On Fri 28 Aug 2015 at 10:01:59 +0000, Curt wrote:
> > > 
> > > > On 2015-08-28, David Wright <deb...@lionunicorn.co.uk> wrote:
> > > > >
> > > > > $ host localhost
> > > > > Host localhost not found: 3(NXDOMAIN)
> > > > > $ ping localhost
> > > > > PING localhost (127.0.0.1) 56(84) bytes of data.
> > > > > 64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.032 ms
> > > > 
> > > > curty@einstein:~$ host localhost
> > > > localhost has address 127.0.0.1
> > > > localhost has IPv6 address ::1
> > > 
> > > To complete the picture:
> > > 
> > >   brian@desktop:~$ dig -x 127.0.0.1
> > > 
> > >   ; <<>> DiG 9.9.5-9-Debian <<>> -x 127.0.0.1
> > >   ;; global options: +cmd
> > >   ;; Got answer:
> > >   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7146
> > >   ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
> > > 
> > >   ;; OPT PSEUDOSECTION:
> > >   ; EDNS: version: 0, flags:; udp: 4096
> > >   ;; QUESTION SECTION:
> > >   ;1.0.0.127.in-addr.arpa.                IN      PTR
> > > 
> > >   ;; ANSWER SECTION:
> > >   1.0.0.127.in-addr.arpa. 10800   IN      PTR     localhost.
> > > 
> > >   ;; Query time: 24 msec
> > >   ;; SERVER: 158.152.1.43#53(158.152.1.43)
> > >   ;; WHEN: Fri Aug 28 12:03:15 BST 2015
> > >   ;; MSG SIZE  rcvd: 74
> > > 
> > > host and dig use only the DNS.
> > > 
> > > Elimar's suggestion to use 'host $(hostname)' will work if hostname is
> > > a FQDN. But it shouldn't (or wouldn't) be on a stock Debian system.
> > 
> > Not unless said 'stock Debian system' has 'search <domain>' stanza
> > in /etc/resolv.conf.
> 
> Does "search example.org" count? :)

It should count for the hosts in this domain. Provided, of course, that
one needs to resolve 'bare' hostnames (i.e. non-FQDN).

 
> What is not understandable (to me) is why 'host localhost' resolves for
> some but not for others and why it is thought 'host $(hostname)' should
> resolve in the DNS.

Stock Debian BIND configuration includes this wonderful snippet
(/etc/bind/db.local):

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1

Translating this to English - every BIND installed on Debian considers
itself the final authority on "localhost" zone and always returns
127.0.0.1 for A queries (IPv4) and ::1 for AAAA queries (IPv6).
Other Linux distributions can store zone files elsewhere, but the
principle is the same.
Interpreting /etc/bind/db.127 (PTR entries) is left for an exercise for
the readers.


So - 'host localhost' *should* work given an ideal world (because in
ideal world everyone will use an ideal DNS, which is BIND). But:

a) There are other DNSes. Some of them even may be configured in a sane
way, if you're lucky. In the case of doubt - use 'dig' or 'tcpdump'.

b) There's endless amount of quirks in client resolvers. In layman
terms - 'which part of "search" should I append to the bare hostname'.
In the case of doubt - use 'tcpdump'.

Reco

Reply via email to