В моей сети есть машина с Windows под названием SUSAN. С виртуальной машины Windows на моем Linux я могу просто:
C:\>ping susan
Я следовал этому руководству (и рассмотрел несколько других подобных) для разрешения имен NETBIOS из самой моей Linux-системы.
Я установил samba
и samba-winbind
. Я редактировал эту hosts
строку /etc/nsswitch.conf
из:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
в
hosts: files wins mdns4_minimal [NOTFOUND=return] dns myhostname
По-видимому, теперь я должен иметь возможность пинговать SUSAN по ее имени (я уже могу пинговать ее по ее IP). Но я получаю:
user@localhost:~ $ ping susan
ping: unknown host susan
/usr/lib/
.Похоже, что NSCD (Name Service Cache Daemon) вызывал проблемы с разрешением имен в моей системе. Если я перезапущу службу , я смогу разрешить имена своих хостов с помощью NetBIOS в течение короткого времени, прежде чем они вернутся к ошибке разрешения. Я отключил его (с помощью systemd:),
systemctl disable nscd.service
и мое разрешение имен начало работать.Я уже установил
winbind
(zypper in samba-winbind
в моей системе),/etc/nsswitch.conf
правильно настроил (hosts: files dns wins
) и подтвердил мои изменения .источник
В моем случае я использую встроенную систему linux с около 10 МБ свободного пространства для хранения NAND. Я думаю, что приведенные выше ответы немного вводят в заблуждение, предполагая, что только
libnss_winbind.so
необходимо, чтобы другие приложения (не Samba-приложения) могли разрешать имена NetBIOS.Оказывается, это просто облегченная оболочка, так что другие программы могут разрешать NetBIOS с
winbindd_request_response()
. Внутренне он делает вызовыwinbindd
демону через вызовы сокетов.И
winbindd
составляет около 22 МБ, так что для моих ограничений очень много.Надеемся, что это поможет другим людям, которые ищут легкое решение для разрешения имен NetBIOS.
источник