Numa rede pequena com 4 PCs, todos com
Linux (2 desktop, 2 notebook) e 3 celulares com Android, quando eu instalei o
Debian 11 no meu desktop pessoal e fui fazer a transferência de arquivos do celular via wifi para o servidor
Samba do Debian 11, o App "Arquivos" do Android que utilizo sempre para esta finalidade (onde já utilizei o mesmo com diferentes distros e versões que sempre funcionava), agora não conseguia achar o servidor Debian 11 que usa o samba 4.13.13.
Como o celular com Android não conseguia localizar o servidor samba do Debian 11, comecei a fazer uns testes entre os dispositivos da rede para achar o problema.
- Desktop cliente com Lubuntu Xenial com samba 4.3.11 não consegue conectar ao servidor Debian 11, mas conecta no Debian 10.
- Notebook cliente com Debian 10 com samba 4.9.5 consegue conectar ao servidor Debian 11, Debian 10 e Lubuntu Xenial.
Notas:
- Todos os outros dispositivos da rede também rodam um servidor samba, pois eles tem pastas compartilhadas (exceto celulares).
- O servidor Debian 11 acessa os compartilhamentos remotos dos outros PCs normalmente.
- Somente o desktop Lubuntu Xenial com samba 4.3.11 e o celular não consegue acessar o servidor samba do Debian 11.
A solução do problema
No servidor Debian 11 edite o arquivo "/etc/samba/smb.conf" e na seção global coloque esta linha "server min protocol = LANMAN1" sem as aspas, salve o arquivo é reinicie o serviço do samba.
Pronto, agora
Lubuntu Xenial e celulares com
Android conseguem conectar ao servidor samba do Debian 11.
Notas:
- Algumas versões não muito antigas do samba consegue conectar a um servidor samba com versão 4.13.13 sem precisar colocar a linha "server min protocol = LANMAN1" no arquivo /etc/samba/smb.conf do servidor que é o caso do samba versão 4.9.5 usado no notebook com Debian 10.
- Procurando saber mais sobre os protocolos, descobrir que no Debian 11 o protocolo LANMAN1 vem desabilitado por padrão na versão do samba 4.13.13 enquanto nas versões antigas do samba que eu utilizo nos outros PCs este protocolo vem habilitado por padrão.
- No Ubuntu 20.04 que usa o samba 4.13.14 também vem desabilitado o protocolo LANMAN1 que pelo jeito é o padrão agora nas versões recentes do samba é vir desabilitado.
Para descobrir se o protocolo LANMAN1 está habilitado por padrão basta usar o comando "
testparm -v | grep proto" e caso ele não seja listado, ele está desabilitado por padrão nas configurações do seu samba.
Exemplos
No micro com Lubuntu Xenial e Notebook com Debian 10, o protocolo LANMAN1 vem habilitado por padrão:
testparm -v | grep proto
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[partilha]"
Processing section "[Privativo]"
Processing section "[Libre]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
server max protocol = SMB3
max protocol = SMB3
protocol = SMB3
min protocol = LANMAN1 (habilitado por padrão)
client max protocol = default
client min protocol = CORE
client ipc max protocol = default
client ipc min protocol = default
No micro com Debian 11 o protocolo LANMAN1 vem desabilitado por padrão.
A listagem abaixo é antes de acrescentar a opção "server min protocol = LANMAN1" no arquivo /etc/samba/smb.conf:
testparm -v | grep proto
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
client ipc max protocol = default
client ipc min protocol = default
client max protocol = default
client min protocol = SMB2_02
server max protocol = SMB3
server min protocol = SMB2_02
Após acrescentar a linha "server min protocol = LANMAN1" no arquivo /etc/samba/smb.conf:
testparm -v | grep proto
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
client ipc max protocol = default
client ipc min protocol = default
client max protocol = default
client min protocol = SMB2_02
server max protocol = SMB3
server min protocol = LANMAN1 (este aqui não era listado antes de fazer a alteração do smb.conf)