Samba com problemas ao resolver nomes de máquinas da rede [Resolvido]

Publicado por Marcelo Klumpp em 16/07/2015

[ Hits: 19.659 ]

 


Samba com problemas ao resolver nomes de máquinas da rede [Resolvido]



Há um tempo, testei o compartilhamento Samba nos sistemas Debian, Ubuntu, CentOS e Fedora e me deparei num pequeno problema...

As distros não resolviam nomes, ou seja, abrindo o nautilus e clicando em "redes", eu conseguia achar e acessar o compartilhamento local, mas não de outras máquinas.

Simplesmente não acessavam, mas todas as outras máquinas "Windows" achavam a distro configurada e conseguiam acesso.

Resumindo, todas as outras máquinas tinham acesso para a distro mas a distro não tinha acesso a outras máquinas na rede.

Após MUITO tempo, achei como solucionar este pequeno problema.

Infelizmente não tem como dar créditos, pois achei a solução em sites americanos e foram tantos sites vasculhados que nem sei mais em qual deles achei a solução.

É simples, vamos lá, desde a instalação.

Como super usuário, instale os pacotes samba e winbind.

Sistema Debian/Ubuntu:

# apt-get install samba libpam-smbpass libnss-winbind libpam-winbind winbind

Sistema Red Hat/CentOS:

# yum -y install samba samba-client samba-common cifs-utils
# chkconfig smb on ; chkconfig nmb on

# service smb restart ; service nmb restart

# iptables -A INPUT -p udp --dport 137 -j ACCEPT
# iptables -A INPUT -p udp --dport 138 -j ACCEPT
# iptables -A INPUT -p tcp --dport 139 -j ACCEPT
# iptables -A INPUT -p tcp --dport 445 -j ACCEPT

# service iptables save


Solução para resolver nomes:

A instalação irá criar um arquivo com uma configuração padrão de compartilhamento ( /etc/samba/smb.conf ), edite e modifique à seu modo. Mas deixe 2 opções habilitadas como padrão, se não existir ou estiver desabilitado no arquivo:

wins support = yes
name resolve order = wins lmhosts hosts bcast

Agora edite o arquivo /etc/nsswitch.conf e onde tiver esta linha:

hosts: files mdns4_minimal [NOTFOUND=return] dns

Adicione "wins", deixando desta forma:

hosts: files mdns4_minimal [NOTFOUND=return] wins dns mdns4

Reinicie o computador ou apenas o Samba e a rede.

Com isto, o suporte para resolver nomes funcionará exatamente como se deve.

Para adicionar o seu, ou qualquer outro usuário ao samba, basta fazer o comando:

# smbpasswd -a USUARIO

Digite a senha a usar no samba.

Agora, qualquer outro computador ao acessar sua pasta compartilhada, terá que digitar o nome do usuário predefinido no seu comando e a senha escolhida.

Aqui está meu pastebin com minha configuração do smb.conf que está funcionando perfeitamente:
É bom não esquecer de dar as devidas permissões na pasta compartilhada.

Uma pequena dica para quem usa o Ubuntu e se depara com uma pequena mensagem de erro durante o boot:

"Starting SMB/CIFS File and Active Directory Server [fail]"

Existem dois scripts de inicialização instalados pelo pacote samba que fazem a mesma coisa.

Um (em /etc/init.d) verifica se o samba é configurado como um controlador de domínio. O outro (em /etc/init) apenas tenta iniciá-lo, não importa o quê. Para resolver a mensagem no boot (já que não vai usar SAMBA como controlador de domínio), faça o comando:

echo "manual" | sudo tee -a /etc/init/samba-ad-dc.override

Isto irá criar o arquivo com o conteúdo "manual" e desta forma não aparecerá a mensagem de erro durante o boot...

Outras dicas deste autor

Criando boot USB do "Instalador Debian" usando o GRUB

Samba - Corrigindo mount Input/output error no Ubuntu

Servidores VNC no Ubuntu (e seus derivados)

Ubuntu + Windows 8 como dual boot

Painel Lançador do Ubuntu 12.10 - Como adicionar/remover aplicativos manualmente

Leitura recomendada

Scroll Horizontal no Ubuntu 13.04/13.10

Criando atalhos (arquivos *.desktop) manualmente no KDE, Gnome e XFCE

Retirando o som da campainha no console no Linux

Ajustar o relógio no Debian Etch

USB no VirtualBox

  

Comentários
[1] Comentário enviado por Professor_Deva em 14/12/2017 - 08:35h

Estava com problemas na resolução de nomes no Ubuntu 16.04. Pelo endereço de IP conseguia acessar o compartilhamento sem problemas; mas, quando tentava acessar do nome do compartilhamento, nada acontecia. Com a sua dica consegui resolver o problema. Obrigado por compartilhar com todos.

[2] Comentário enviado por user_root em 28/10/2020 - 14:44h

Eu trabalho em uma prefeitura e dividimos a rede em diferentes redes se comunicando entre si. Mas o servidor samba não estava acessando mais pelo nome, mas somente pelo IP. Fiz as configurações abaixo (Copiado do tutorial), e deu certo.
Valeu

Solução para resolver nomes:

A instalação irá criar um arquivo com uma configuração padrão de compartilhamento ( /etc/samba/smb.conf ), edite e modifique à seu modo. Mas deixe 2 opções habilitadas como padrão, se não existir ou estiver desabilitado no arquivo:

wins support = yes
name resolve order = wins lmhosts hosts bcast

Agora edite o arquivo /etc/nsswitch.conf e onde tiver esta linha:

hosts: files mdns4_minimal [NOTFOUND=return] dns

Adicione "wins", deixando desta forma:

hosts: files mdns4_minimal [NOTFOUND=return] wins dns mdns4

Reinicie o computador ou apenas o Samba e a rede.

Com isto, o suporte para resolver nomes funcionará exatamente como se deve.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts