O Samba não funciona em LAN sem conexão com a internet

4

Eu tenho um compartilhamento do Samba 4 em um servidor do CentOS 7.2 em minha LAN que acesso de alguns clientes do Windows 10.
Os clientes usam o IP do servidor para acessar o compartilhamento e o Samba é configurado para ser um servidor autônomo, não um membro do domínio.

Tudo funciona bem como esperado quando a conexão com a Internet está ativa, mas quando não há conexão com a Internet, os clientes precisam de até 20 minutos antes de exibir a janela de credenciais de login.

Ele não parece ser um problema relacionado à rede: os clientes podem acessar o servidor, fazer ping tão rápido como de costume, usar outros protocolos como HTTP ou SSH e, em geral, executar qualquer outra atividade de rede na LAN sem falhas.
Além disso, o fato de funcionar após uma longa espera, sugere que há algum tempo de espera envolvido no processo.

Se desconectar o cabo WAN do roteador local e tentar acessar o compartilhamento Samba do cliente, ele começará a esperar por algo (o andamento do carregamento verde na barra de endereço se move lentamente), mas assim que eu conecto o cabo WAN novamente, o cliente mostra a janela de login.

Os logs do Samba (nível de depuração 5) não mostram nada anormal, mas parece haver muitas tentativas de conexão que são de fato aceitas pelo servidor:

[2016/11/15 16:18:34.378116, 3] ../source3/lib/access.c:338(allow_access) Allowed connection from 192.168.100.5 (192.168.100.5) [2016/11/15 16:18:34.436829, 5] ../lib/dbwrap/dbwrap.c:178(dbwrap_check_lock_order) check lock order 2 for /var/lib/samba/serverid.tdb [2016/11/15 16:18:34.436924, 5] ../lib/dbwrap/dbwrap.c:146(dbwrap_lock_order_state_destructor) release lock order 2 for /var/lib/samba/serverid.tdb ... ... this is repeated an unbelievably lot of times ... ...

Estou inclinado a pensar que é um problema relacionado ao Windows 10 mais do que um problema de rede / samba / servidor.

    
por Eggplant 19.11.2016 / 13:15

3 respostas

2

Eu tenho exatamente a mesma situação que a sua - o Samba na LAN funciona bem quando a porta WAN está ativa, mas é dolorosamente lento se a porta WAN estiver inativa. Eu finalmente descobri por que com o tcpdump.

O Samba tenta resolver seu nome de host.

Meu servidor Samba não tem sua própria entrada de nome de host em /etc/hosts , então ele tenta resolvê-lo na Internet, isso leva muito tempo se a WAN estiver inativa.

Adicione o registro A / PTR do seu servidor Samba ao seu servidor de nomes da LAN (que é usado pelo Samba), ou simplesmente adicione uma entrada de nome de host a /etc/hosts no Samba. Não há mais barras de progresso verdes!

    
por 06.05.2017 / 19:38
0

O fato de você usar o endereço IP para montar o compartilhamento não significa que não haja resolução de nomes envolvida.
Existe uma resolução reversa de nomes.
Isso acontece quando o cliente está tentando descobrir o FQDN do servidor com base em seu IP. (pense em dig -x ipaddress tipo de negócio)

Para um teste rápido, sugiro adicionar algum nome ao endereço IP de um compartilhamento em um arquivo cliente C:\Windows\system32\drivers\etc\hosts e ver se isso ajuda.
Você pode encontrar instruções detalhadas com exemplos, por exemplo, no link

Você também pode instalar o wireshark no cliente e capturar o tráfego da rede no momento em que tiver um problema. Em seguida, filtre pela porta 53 (DNS). Você deve ver se há alguma resolução de nome reversa acontecendo.

    
por 24.11.2016 / 09:23
0

Parece um problema relacionado ao DNS: o cliente ou o servidor estão tentando resolver (ou resolver de forma reversa) a outra máquina, e isso leva ao tempo limite / conexão lenta. Como muitos roteadores suportam o encaminhamento de DNS, tente o seguinte:

  • definido, no seu roteador, o DNS do Google (8.8.8.8 e 8.8.4.4)
  • em ambos cliente e servidor, defina o endereço IP interno do roteador como ambos gateway e DNS
  • desconecte o cabo da WAN e tente novamente a conexão

Isso muda alguma coisa?

    
por 24.11.2016 / 22:39