HOSTALIASES
é fornecido pelo resolvtion funtion gethostbyname()
in glibc. Nessa função, um resultado de pesquisa de alias é passado como está para as chamadas de módulo libnss subseqüentes especificadas por hosts:
in /etc/nsswitch.conf
, portanto, se não houver nenhum módulo que possa manipulá-lo, gethostbyname()
terminará com falha.
Observe que, na maioria dos programas, a notação numérica de endereço, como 10.10.0.1
e 2a00:1450:400c:c05::67
, é processada por inet_aton()
inet_pton()
getaddrinfo()
antes de gethostbyname()
ser chamado.
Alguns servidores DNS, incluindo dnsmasq, retornam registros de endereço válidos para consultas com uma cadeia de endereço numérica como se inet_aton()
fosse aplicado a ele: por exemplo, eles retornam um registro 10.10.0.1
para consultar FQDN 10.10.0.1.
. No entanto, outros servidores, incluindo o BIND, retornam NXDOMAIN para essas consultas. Portanto, você não pode confiar nisso para definir work 10.10.0.1
no seu HOSTALIASES
como uma alternativa de /etc/hosts
.
Uma solução possível é utilizar um serviço DNS público como xip.io para obter FQDNs resolvíveis para endereços IPv4 arbitrários. Por exemplo, você pode definir work
para 10.10.0.1
da seguinte forma:
work 10.10.0.1.xip.io