У меня есть небольшая сеть с машинами Windows и Linux, подключенными к маршрутизатору D-Link DIR-825.
Машины Windows в сети могут обращаться ко всем остальным машинам по именам, в то время как машины Linux могут достигать других машин только по IP-адресу.
Я вижу все машины, перечисленные с именами и назначенными им адресами DHCP, в списке состояний клиентов DHCP в интерфейсе веб-администратора маршрутизатора.
Почему машины Linux не могут найти другую машину по имени, в то время как у Windows нет проблем с поиском машин Linux?
Ответы:
Я не сетевой эксперт, и я также исследую много ответов на эту тему. Мои текущие выводы:
Windows использует имена NetBIOS, и такой протокол, будучи широковещательным, позволяет им находить друг друга без какого-либо центрального сервера.
Машины Linux в современных дистрибутивах изначально используют протокол под названием Avahi , который также является независимым от сервера широковещательным протоколом. Локальные сетевые машины имеют суффикс
.local
, так что вы можете пропинговать 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
источник
nsswitch.cong
вещи: еслиping HOSTNAME
выдает системную ошибку, это сигнал о необходимости пакета libnss-winbind.По умолчанию без DNS-сервера Windows может использовать NetBIOS (протокол разрешения имен Microsoft) для обнаружения имен других систем Windows, локальных для их сети. Как упоминалось в этом ответе , похоже, что вам нужно настроить SAMBA (или хотя бы winbind) на стороне Linux. Вот основной набор инструкций :
Кстати, это не имеет ничего общего с WINS. WINS - это сервер NetBIOS, который обычно используется в больших сетях для сокращения широковещательного трафика, обеспечения устаревшей платформы централизованного разрешения имен и, в конечном итоге, для того, чтобы системы в разных сетях могли знать сопоставление NetBIOS-имен и IP-адресов друг друга.
Альтернативой SAMBA может быть настройка DNS-сервера и обеспечение настройки динамических обновлений DNS или того, что DHCP может регистрировать записи DNS.
источник
Скорее всего, LLMNR .
источник
Возможно, вам просто нужно настроить разрешение Avahi / mDNS. Это делает то же самое, что LLMNR в Windows.
источник
Linux может разрешать локальные имена, хотя необходимое программное обеспечение не установлено по умолчанию ...
Большинство дистрибутивов Linux делают несколько предположений относительно ваших требований к программному обеспечению помимо ядра ... Справочник Debian DNSMasq
apt-cache search dnsmasq ...
источник