Как исказить имя хоста?

Действительно ли возможно сохранить сетевой псевдоним - не указывая IP-адрес в файле hosts? Например, я имею abcd.efgh.com но хочу abcd -> abcd.efgh.com так, чтобы ping и ssh работайте, как они обычно были бы.

Я хочу, чтобы это работало с динамическим IP на abcd.efgh.com, вот почему я не хочу заявлять IP-адрес явно.

5
задан 13.08.2013, 19:33

3 ответа

Немного меньше convienent пути состоит в том, чтобы настроить псевдонимы для обоих ping и ssh, например:

alias pingfoo="ping foohost.domain.tld"

Поддержки OpenSSH, добавляющие псевдонимы имени хоста (и намного больше опций) к ~/.ssh/config:

Host foo
    Hostname foohost.domain.tld
    # You can also add User, Port, every possible ssh(1) option.
6
ответ дан 07.12.2019, 16:58

С dnsmasqопция --cname=<cname>,<target> можно сделать CNAME, который указывает на это <cname> на самом деле <target>. Обратите внимание, что это работает только если название DNS <target> известен dnsmasq (или в файле hosts или через DHCP).

Если dnsmasq не работает, Несвязанный сопоставитель DNS, который поддерживает также неизвестные цели в аналогичной ситуации.

4
ответ дан 07.12.2019, 16:58

Если Ваша ОС использует GNU glibc, можно использовать $HOSTALIASES функция.

Из страницы руководства 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.

Это работает с обоими gethostbyname() и более новое getaddrinfo(); однако, это, кажется, не влияет ping вообще...

2
ответ дан 07.12.2019, 16:58

Теги

Похожие вопросы