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

Publicado por Marcelo Klumpp em 16/07/2015

[ Hits: 14.730 ]

 


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

Atualizar pacotes no Ubuntu: "Error mounting exit code 21" [Resolvido]

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

Guardião ITAÚ (Warsaw) + Firefox Mint + Oracle Java no Debian

Samba - Corrigindo mount Input/output error no Ubuntu

auto-apt - Erro: "dpkg warning obsolete option --print-installation-architecture" [Resolvido]

Leitura recomendada

Gerenciando inicialização de serviços no Debian

Como atualizar o PHP no CentOS

Slackware: prompt estranho no XFCE?

Placa de vídeo Intel 82845G

Natural Scrolling no openSUSE Leap 42.2

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts