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

Publicado por Marcelo Klumpp em 16/07/2015

[ Hits: 17.022 ]

 


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

Ubuntu + Windows 8 como dual boot

Samba - Corrigindo mount Input/output error no Ubuntu

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

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

Leitura recomendada

Como controlar a quantidade de consoles virtuais criados no boot

Como mudar a aparência da tela de login do Ubuntu 10.04

Ubuntu 14.04 - Como remover películas do Unity

Problema com som no Sony Vaio vpcea24fm - Ubuntu 10.04

Criando a imagem dos CDs de instalação no HD

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts