J'ai le suivant `/etc/hosts` file on a ubuntu 12.04 machine
```
127.0.0.1 localhost
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
```
However le host command does pas resolve le name `puppetmaster` correctly, tandis que le telnet command is does
```
root@ip-10-248-34-162:/home/ubuntu# host puppetmaster
Host puppetmaster not found: 3(NXDOMAIN)
root@ip-10-248-34-162:/home/ubuntu# telnet puppetmaster 8140
Trying 10.248.27.66...
Connected to ec2-50-112-220-110.us-west-2.compute.amazonaws.com.
Escape character is '^]'.
```
Why does le host command pas resolve entries in /etc/hosts?
Pourquoi la commande host ne résout-elle pas les entrées de /etc/hosts ?
Re: Pourquoi la commande host ne résout-elle pas les entrées de /etc/hosts ?
The `host` program uses `libresolv` to perform a DNS query directly, i.e., does pas use `gethostbyname`.
Most programs, quand attempting to connect to another host, invoke le `gethostbyname` system call ou a similaire function. This function obeys le configuration of `/etc/nsswitch.conf`. This file has a line qui in Ubuntu 12.04 defaults to le following:
```
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
```
which means that it will premier use `/etc/hosts`, alors fall back to DNS queries.
If you want to perform a host lookup this way, you can do this avec `getent hosts`. Par exemple:
```
$ getent hosts serverfault.com
198.252.206.16 serverfault.com
```
J'espère this helps.
Most programs, quand attempting to connect to another host, invoke le `gethostbyname` system call ou a similaire function. This function obeys le configuration of `/etc/nsswitch.conf`. This file has a line qui in Ubuntu 12.04 defaults to le following:
```
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
```
which means that it will premier use `/etc/hosts`, alors fall back to DNS queries.
If you want to perform a host lookup this way, you can do this avec `getent hosts`. Par exemple:
```
$ getent hosts serverfault.com
198.252.206.16 serverfault.com
```
J'espère this helps.