A resposta do The Oilers Fan é principalmente válida para distribuições baseadas no Ubuntu. Apenas a localização da biblioteca é diferente.
Basicamente fazendo
sudo apt-get install libnss-winbind
ajudou no meu caso.
Há uma máquina Windows chamada SUSAN na minha rede. De uma VM do Windows na minha caixa Linux, posso simplesmente:
C:\>ping susan
Eu segui este guia (e olhei para vários outros semelhantes) para resolver nomes NETBIOS da minha própria caixa Linux.
Eu instalei samba
e samba-winbind
. Eu editei esta linha hosts
em /etc/nsswitch.conf
de:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
para
hosts: files wins mdns4_minimal [NOTFOUND=return] dns myhostname
Aparentemente, devo agora conseguir fazer ping no SUSAN pelo nome dela (já posso fazer ping pelo IP dela). Mas estou recebendo:
user@localhost:~ $ ping susan
ping: unknown host susan
A resposta do The Oilers Fan é principalmente válida para distribuições baseadas no Ubuntu. Apenas a localização da biblioteca é diferente.
Basicamente fazendo
sudo apt-get install libnss-winbind
ajudou no meu caso.
Para uma distribuição Linux não baseada em Ubuntu, marque / lib ou / lib64 para ter certeza de que libnss_wins.so está instalado. Caso contrário, pesquise na Web o RPM da distribuição do Linux e instale a biblioteca. Depois, execute ldconfig na linha de comando (apenas digite ldconfig e pressione ENTER como root ou su). Demorei horas para encontrar essa pequena lacuna em todos os tutoriais da web. Consulte o link para obter mais detalhes.
Parece que o NSCD (Name Service Cache Daemon) estava causando problemas com a resolução de nomes no meu sistema. Se eu reiniciei o serviço , eu seria capaz de resolver meus nomes de host com o NetBIOS por um curto período antes que eles retornassem falha de resolução. Eu o desativei (com systemd: systemctl disable nscd.service
) e a resolução do meu nome começou a funcionar.
Eu já tinha instalado winbind
( zypper in samba-winbind
no meu sistema), configurei meu /etc/nsswitch.conf
corretamente ( hosts: files dns wins
) e confirmado minhas alterações .
No meu caso, eu estou executando um sistema Linux embutido com cerca de 10MB de espaço livre de armazenamento NAND. Acho que as respostas acima são um pouco enganadoras, sugerindo que apenas libnss_winbind.so
é necessário para que outras aplicações (aplicativos não-Samba) possam resolver nomes de NetBIOS.
Acontece que é apenas um invólucro leve para que outros programas possam resolver o NetBIOS com winbindd_request_response()
. Internamente, ele faz chamadas para o daemon winbindd
por meio de chamadas de soquete.
E o winbindd
é de cerca de 22MB, por isso é muito grande para as minhas restrições.
Espero que isso ajude outras pessoas à procura de uma solução leve para resolver nomes de NetBIOS.