Откуда берутся имена в домашней сети
Когда вы вводите в браузере адрес сайта, DNS-сервер превращает имя в числовой адрес. В домашней сети задача такая же: компьютер, принтер или сетевое хранилище имеют имя, и хочется писать его, а не запоминать числа, которые к тому же могут меняться.
Имена попадают в сеть несколькими путями. Во-первых, устройство при получении адреса сообщает роутеру своё имя узла, и роутер запоминает пару «имя и адрес». Во-вторых, многие устройства объявляют себя сами широковещательными сообщениями, и другие участники сети их слышат. В-третьих, в ряде роутеров можно вручную создать запись, сопоставляющую имя и адрес.
Какой путь работает у вас, зависит от оборудования и операционных систем. Поэтому один и тот же принтер на одном компьютере находится по имени сразу, а на другом нет. Это не ошибка настройки, а различие в способах поиска.
Почему имя то находится, то нет
Нестабильное поведение имён обычно сводится к нескольким причинам.
- Устройство не сообщает своё имя роутеру при получении адреса, и роутеру нечего запоминать.
- Компьютер использует для запросов не DNS роутера, а внешний DNS-сервер, который о ваших домашних именах ничего не знает.
- Имя содержит символы или пробелы, которые некоторые системы обрабатывают по-разному.
- Устройство находится в другом сегменте или в гостевой сети, и широковещательные сообщения до него не доходят.
- Адрес устройства изменился, а запись в роутере ещё хранит старый, пока не истечёт срок аренды.
Вторая причина встречается нередко. Если на компьютере вручную указан внешний DNS-сервер, он не знает локальных имён, и обращение по имени заканчивается ошибкой, тогда как по адресу всё работает. Проверьте, какой DNS используется: для домашних имён устройство должно спрашивать роутер.
Как сделать имя устойчивым
Чтобы имя работало предсказуемо, нужны две вещи: неизменный адрес и однозначное имя. Порядок действий такой.
- Закрепите адрес за устройством в роутере по MAC-адресу. Тогда запись «имя и адрес» не будет устаревать.
- Задайте понятное имя самому устройству в его настройках: латиницей, без пробелов и спецсимволов, чтобы все системы воспринимали его одинаково.
- Перезапустите сетевое подключение устройства или переподключите его к сети, чтобы оно заново сообщило имя роутеру.
- Посмотрите в таблице аренды DHCP на роутере, появилось ли имя рядом с адресом.
- Проверьте обращение по имени с другого устройства. Если не находится, убедитесь, что оно использует DNS роутера.
В некоторых роутерах есть раздел для ручных записей DNS или «локальных имён». Там можно сопоставить имя и закреплённый адрес без участия самого устройства. Это удобно для оборудования, которое не сообщает свою информацию, но такой возможности нет в каждой прошивке.
Имена с окончанием local и их особенности
Помимо имён, которые знает роутер, существует второй способ поиска: устройства сами откликаются на запросы в локальной сети. Такие имена часто заканчиваются на .local. Они работают без участия роутера, но только внутри одного сегмента сети и только если обе стороны поддерживают этот способ.
| Способ | Кто хранит соответствие | Работает между сегментами |
|---|---|---|
| Имя из DHCP и DNS роутера | роутер | да, если устройство использует DNS роутера |
| Самообъявление устройств | сами устройства | как правило, нет |
| Ручная запись в роутере | роутер | да |
| Файл соответствий на компьютере | один компьютер | только на нём |
Файл соответствий на компьютере — самый простой, но самый локальный способ: он работает только на одной машине и требует правки системных настроек. Для одного компьютера это допустимо, но для всей семьи неудобно. Поэтому постоянные имена лучше хранить на роутере или в приложении устройства.
Как проверить, что имя действительно находится
Чтобы убедиться, что имя работает, а не только кажется рабочим, проведите простую проверку. На компьютере откройте командную строку и выполните запрос к имени устройства. Если ответом приходит адрес устройства, имя найдено. Если запрос завершается ошибкой, а по адресу всё работает, проблема в разрешении имён, а не в самом устройстве.
Выполните ту же проверку с другого устройства и по другому каналу связи: по кабелю и по Wi-Fi. Если результаты различаются, возможно, одно из устройств использует другой DNS-сервер или находится в другом сегменте. Сравните настройки сети на обоих и убедитесь, что адрес DNS указывает на роутер.
Запишите, какое имя за каким адресом закреплено. Небольшая таблица в заметках избавляет от необходимости каждый раз заглядывать в интерфейс роутера, а при замене оборудования помогает быстро воссоздать нужные записи.
Если роутер не поддерживает ручные записи и не запоминает имена, не стоит считать это недостатком конкретной модели: для небольшой домашней сети постоянный адрес и заметка с именами работают не хуже, чем сложная настройка.
Что не стоит делать с именами
Есть несколько типичных ошибок, которые приводят к путанице.
Не используйте для домашней сети имена, совпадающие с настоящими интернет-адресами. Если выбрать имя, которое существует в сети на самом деле, запрос может уйти не к вашему устройству. Отдавайте предпочтение окончаниям, которые зарезервированы для частного использования, или просто коротким именам без точки.
Не называйте устройства одинаково. Два принтера с одним именем вызывают конфликт, и система может подключиться не к тому. Добавляйте различающие признаки: комнату, тип, номер.
Не публикуйте домашние имена в интернете, если это не требуется. Для доступа снаружи используют отдельную настройку динамического DNS, и она не связана с локальными именами. Подробнее об этом сказано в материале про DDNS. Если сомневаетесь, откройте журнал или таблицу аренды и проверьте, что именно видит роутер: нередко проблема обнаруживается именно там.