Администрирование Сеть Ubuntu: как обращаться к хосту не по IP, а по имени? Wed, September 02 2026  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Ubuntu: как обращаться к хосту не по IP, а по имени? Печать
Добавил(а) microsin   

Два компьютера Ubuntu видят друг друга в локальной сети - ping по IP-адресу проходит. Как обращаться к ним не по IP, а по имени?

В Ubuntu самый простой способ обращаться к компьютерам по имени в локальной сети — использовать Avahi и домен .local. Это стандартное решение, которое часто работает "из коробки" (по аналогии с Bonjour на macOS).

[Самый простой способ: использование `.local` (Avahi/mDNS)]

Этот метод не требует настройки серверов и подходит для большинства домашних и офисных сетей.

1. Как это работает: на каждом компьютере запущен демон `avahi-daemon`, который через протокол mDNS рассылает по сети информацию о своем имени. Другой компьютер получает эту информацию и может преобразовать имя `имя-компьютера.local` в IP-адрес.

2. Проверьте, что всё работает:

- Убедитесь, что на обоих компьютерах установлены и запущены пакеты `avahi-daemon` и `libnss-mdns`. Обычно они установлены по умолчанию.

sudo apt install avahi-daemon libnss-mdns

- Узнайте имя компьютера, которое будет использоваться как `.local` адрес:

hostname

- Попробуйте обратиться к другому компьютеру, используя его имя с добавлением `.local`:

ping имя-другого-компьютера.local
ssh пользователь@имя-другого-компьютера.local

3. Важные нюансы:

Файрвол: если ufw или другой брандмауэр активен, нужно разрешить входящий и исходящий трафик на UDP порт 5353 для многоадресной рассылки (`ff02::fb` для IPv6). В противном случае имя не будет разрешаться.

Проблемы с IPv6: в некоторых версиях Ubuntu в файле `/etc/nsswitch.conf` может быть строка `hosts: files mdns4_minimal [NOTFOUND=return] dns`. Если в вашей сети активно IPv6, это может мешать разрешению `.local` имен. Убедитесь, что в этой строке есть `mdns_minimal` (поддерживает оба протокола) или `mdns4_minimal` (только IPv4), в зависимости от вашей сети.

Конфликт с DNS: домен `.local` зарезервирован для mDNS. Если в вашей сети есть реальный DNS-сервер, который обслуживает зону `.local`, это может вызывать конфликты, и systemd-resolved может отказывать в запросах.

[Альтернативный метод: /etc/hosts (для малых сетей)]

Если по какой-то причине Avahi не подходит, можно использовать ручное добавление записей в файл /etc/hosts на каждом компьютере. Это просто, но неудобно для сетей более чем из 2-3 машин.

1. Узнайте IP-адрес целевого компьютера (например, с помощью `ip addr` или `hostname -I`).

2. Отредактируйте файл на вашем компьютере:

sudo nano /etc/hosts

3. Добавьте строку с IP-адресом и желаемым именем для другого компьютера:

192.168.1.100   имя-другого-компьютера

После этого можно обращаться к нему по выбранному имени.

[Устаревший способ: NetBIOS (для совместимости с Windows)]

Этот метод в основном используется для взаимодействия с очень старыми Windows-системами и в современных сетях не рекомендуется.

Для поддержки NetBIOS в Ubuntu нужно установить и настроить Samba:

sudo apt install samba

Затем нужно отредактировать файл /etc/samba/smb.conf и убедиться, что в нем указан `netbios name` и настроен порядок разрешения имен.

[Ссылки]

1. Ubuntu FAQ.

 

Добавить комментарий


Защитный код
Обновить

Top of Page