Como aliasar um hostname?

5

É possível manter um alias de rede - sem especificar o endereço IP no arquivo hosts? Por exemplo, tenho abcd.efgh.com , mas quero abcd -> abcd.efgh.com , para que ping e ssh funcionem normalmente.

Eu quero que ele funcione com IP dinâmico em abcd.efgh.com, é por isso que não quero declarar o endereço IP explicitamente.

    
por Jonas Byström 28.05.2010 / 11:02

3 respostas

6

Uma maneira um pouco menos conveniente é configurar aliases para ping e ssh , por exemplo:

alias pingfoo="ping foohost.domain.tld"

O OpenSSH suporta a adição de aliases de nome de host (e muitas outras opções) a ~/.ssh/config :

Host foo
    Hostname foohost.domain.tld
    # You can also add User, Port, every possible ssh(1) option.
    
por 28.05.2010 / 12:42
3

Com a opção dnsmasq de --cname=<cname>,<target> , você pode criar um CNAME indicando que <cname> é realmente <target> . Observe que isso funciona somente se o nome DNS de <target> for conhecido pelo dnsmasq (no arquivo hosts ou pelo DHCP).

Se o dnsmasq não funcionar, Não consolidado é um resolvedor de DNS que também suporta destinos desconhecidos em uma situação semelhante.

    
por 28.05.2010 / 11:32
2

Se o seu sistema operacional usa o GNU glibc , você pode usar seu recurso $HOSTALIASES .

Na página de manual de gethostbyname(3) :

DESCRIPTION

       [etc etc etc] If name doesn't end in a dot and the environment variable
       HOSTALIASES is set, the alias file pointed to by HOSTALIASES will first
       be searched for name (see hostname(7) for the file format). The current
       domain and its parents are searched unless name ends in a dot.

Isso funciona com gethostbyname() e o mais recente getaddrinfo() ; no entanto, isso não parece afetar ping em tudo ...

    
por 28.05.2010 / 12:40