У меня есть небольшая сеть с машинами Windows и Linux, подключенными к маршрутизатору D-Link DIR-825.
Машины Windows в сети могут связываться со всеми другими машинами по имени, в то время как машины Linux могут связываться с другими машинами только по IP-адресу.
Я могу видеть все машины, перечисленные с именами и назначенными им DHCP-адресами, в списке статуса DHCP-клиента в интерфейсе веб-администратора маршрутизатора.
Почему машины с Linux не могут найти другую машину по имени, в то время как Windows без проблем находит машины с Linux?
Я не специалист по сетям, и я МНОГО изучаю ответы в этой теме. Мои текущие выводы:
Windows использует имена NetBIOS, и такой протокол, будучи широковещательным, позволяет им находить друг друга без какого-либо центрального сервера.
Машины Linux в современных дистрибутивах изначально используют протокол, называемый Авахи, который также является независимым от сервера широковещательным протоколом. У компьютеров локальной сети есть суффикс .local
, так что вы можете ping из Linux в Linux, используя ping hostname.local
, или увидеть их с avahi-discover
пакет. некоторые приложения в Gnome используют avahi для вывода списка компьютеров в сети (например, средство просмотра удаленного рабочего стола)
Установка SAMBA на машину Linux присвоит ей имя NetBIOS (или, если говорить более технически, заставит машину Linux объявлять себя в широковещательных запросах своим именем NetBIOS, которое по умолчанию является их именем хоста), и что позволяет машинам Windows находить машины Linux.
Попался: хотя машины Linux с Samba будут отвечать на запросы протокола NetBIOS, с настройками по умолчанию в таких дистрибутивах, как Ubuntu он не будет использовать NetBIOS в качестве метода разрешения имен, и поэтому машины Linux не могут «видеть» друг друга или машины Windows. Для этого вам нужно отредактировать /etc/nsswitch.conf
файл и добавить wins
в список в этой строке:
hosts: files mdns4_minimal [NOTFOUND=return] dns wins mdns4
Вы может нужно установить winbind
(и, если не установлен автоматически, libnss-winbind
), чтобы все вышеперечисленное работало.
Итак, для проблемы видимости вы либо устанавливаете Samba на все машины Linux (а также редактируете /etc/nsswitch.conf, чтобы включить разрешение имен NetBIOS), либо устанавливаете поддержку Avahi на машинах Windows.
Что касается совместного использования файлов, Samba предоставляет возможность обмена файлами между машинами Linux и Windows. Нет необходимости редактировать /etc/nsswitch.conf для машин Linux, чтобы видеть общие папки друг друга и Windows (и наоборот) в разделе «Сеть» Nautilus.
Надеюсь, это помогло! : D
По умолчанию без DNS-сервера Windows может использовать NetBIOS (протокол разрешения имен Microsoft) для обнаружения имен других систем Windows, локальных в их сети. Как уже упоминалось в этом ответе, похоже, вам нужно настроить SAMBA (или хотя бы winbind) на стороне Linux. Вот базовый набор инструкций:
Чтобы включить разрешение имени Windows netbios с компьютера Linux, убедитесь, что Samba установлена (хотя служба smb не должна быть запущена). В комплект Samba входит winbind, который позволяет разрешать имена хостов Windows. Затем отредактируйте /etc/nsswitch.conf и измените эту строку:
hosts: files dns
к этому:
hosts: files dns wins
Затем проверьте связь с именем компьютера Windows в локальной сети:
$
ping windowsbox
Кстати, это не имеет ничего общего с WINS. WINS - это сервер NetBIOS, который обычно используется в более крупных сетях для сокращения широковещательного трафика, предоставления устаревшей централизованной платформы разрешения имен и, в конечном итоге, для того, чтобы системы в разных сетях могли знать сопоставление имен NetBIOS и IP друг друга.
Альтернативой SAMBA может быть установка DNS-сервера и обеспечение настройки динамических обновлений DNS или возможность регистрации DNS-записей DHCP.
Скорее всего LLMNR.
Вероятно, вам просто нужно настроить разрешение Avahi / mDNS. Это похоже на LLMNR в Windows.
Linux может разрешать локальные имена, хотя необходимое программное обеспечение по умолчанию не установлено ...
Большинство дистрибутивов Linux делают несколько предположений относительно требований к вашему программному обеспечению, выходящих за рамки ядра ... Справочник Debian DNSMasq
apt-cache search dnsmasq ...