Como alias um nome de host?


5

É possível manter um alias de rede - sem especificar o endereço IP no arquivo hosts? Por exemplo, eu tenho abcd.efgh.com mas quer abcd -> abcd.efgh.com de modo a ping e ssh funciona como normalmente faria.

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.

Respostas:


6

Um pouco menos convienent maneira é configurar aliases para ambos ping e ssh, por exemplo:

alias pingfoo="ping foohost.domain.tld"

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

Host foo
    Hostname foohost.domain.tld
    # You can also add User, Port, every possible ssh(1) option.

Excelente; Eu posso fazer sem ping agora que penso nisso, 99,9% do meu uso é ssh.
Jonas Byström

3

Com dnsmasq opção de --cname=<cname>,<target> você pode fazer um CNAME que indica que <cname> é na verdade <target>. Observe que isso funciona somente se o nome DNS de <target> é conhecido pelo dnsmasq (tanto no arquivo hosts quanto no 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.


Isso é no DNS, não no arquivo hosts.
mpez0

@ mpez0: Ele ainda funcionaria (o dnsmasq deve ser executado em uma LAN ou em um computador pessoal, como um resolvedor de DNS em cache)
grawity

2

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

Na página de manual do 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 tanto com gethostbyname() e o mais novo getaddrinfo(); no entanto, não parece afetar ping em absoluto...


Infelizmente não usando libc.
Jonas Byström

Não afeta o ping porque o ping tem setuid set e o HOSTALIASES só funciona com executáveis ​​que não possuem este flag. Se você já é root funciona, mas não quando se usa ping como usuário normal.
Boris

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.