A montagem do CIFS sobre VPN trava quando a VPN trava e se reconecta

0

Eu compartilhei com êxito o compartilhamento do Windows pela VPN (PPTP), montei-o com o mount.cifs na minha máquina Ubuntu e sou capaz de navegar pelo conteúdo compartilhado do Ubuntu.

No entanto, às vezes, quando o tráfego de rede entre as duas máquinas fica enorme (rsync, cifs Windows- > Ubuntu, samba compartilham o Ubuntu - > Windows; todo PPTP), o PPTP parece travar e reconectar (desde a opção ' persist 'está ativado). Agora, o compartilhamento cifs 'trava' - não consigo mais listar seu conteúdo, nem desmontá-lo e preciso reinicializar o Ubuntu.

Existe alguma solução para este problema? Devo alterar algo dentro da própria conexão VPN, modificar as configurações do cifs ou usar protocolos diferentes?

O servidor VPN é meu roteador doméstico (TomatoUSB). A máquina do Windows está conectada fisicamente ao roteador, ip: 192.168.1.102.

A máquina do Ubuntu é uma instância do Amazon EC2. Ele está conectado à minha rede doméstica via túnel VPN (PPTP) e obtém ip: 192.168.1.202.

Detalhes das conexões VPN (em / etc / ppp / peers / no Ubuntu):

remotename <vpn-name>
linkname <vpn-name>
pty "pptp <my-ip> --nolaunchpppd "
ipparam <vpn-name>
name <username>
usepeerdns
require-mppe
refuse-eap
noauth
persist

O Ubuntu compartilha seu conteúdo usando o samba:

[smb-share]
path = /home/user1
available = yes
valid users = user1-smb
read only = yes
browsable = yes
public = no
writable = no

O Ubuntu monta o windows com o mount.cifs (as seguintes linhas são adicionadas ao ip-up.local para montar cada vez que a conexão VPN é estabelecida):

umount -l /mnt/cifs/win-share    
mount.cifs //192.168.1.102/win-share /mnt/cifs/win-share -o credentials=/home/user1/.credentials/cifs,ro,iocharset=utf8

A VPN é desconectada algumas vezes quando eu estou simultaneamente:

  • acessando os compartilhamentos do Ubuntu a partir do windows
  • rsync windows compartilha toubuntu (o comando é executado a partir do windows, dentro de um terminal putty):

    sudo rsync -avP / mnt / cifs / win-share / home / usuário1 / win-copy &

por mjktfw 10.09.2014 / 13:38

1 resposta

0

Tempo limite da sessão do cliente É o tempo limite de troca mais comum. Isso é definido em [MS-CIFS] como um parâmetro de todo o sistema, Client.SessionTimeoutValue. Esse valor pode ser configurado por meio da chave de registro SessTimeout [KB102067].

\HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\
Value type: Dword
Value name: SessTimeout
Default:    45 seconds (Windows NT)
Default:    60 seconds (Windows 2000)

Tempo limite da sessão estendida Esse tempo limite opcional pode ser útil em redes de alta latência. Aplica-se a uma troca temporizada com um servidor listado em ServersWithExtendedSessTimeout.

\HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\
Value type: Dword
Value name: ExtendedSessTimeout
Default:    1000 (seconds)
Value type: Multi-string
Value name: ServersWithExtendedSessTimeout
Default:    <null>
These were introduced in Windows XP.

Temporizador de conexão inativa

É a quantidade de tempo que uma conexão pode ficar inativa antes de ser desconectada. Uma conexão ociosa é definida como uma conexão que não possui identificadores abertos existentes (nenhum arquivo aberto, diretórios, contextos de pesquisa, etc.) e nenhuma operação pendente. O Temporizador de Conexão Ociosa é específico da implementação. Quando o servidor recebe uma mensagem, Server.Connection.IdleTime é definido para a hora atual mais Server.AutoDisconnectTimeout [MS-CIFS]. Nos servidores Windows, ele pode ser configurado por meio da chave de registro Autodisconnect [KB297684].

\HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\
Value type: Dword
Value name: Autodisconnect
Default:    15 (minutes)

A desconexão automática também pode ser configurada por meio da política de grupo: Configuração do Computador \ Configurações do Windows \ Configurações de Segurança \ Políticas Locais \ Opções de Segurança "Servidor de rede da Microsoft: quantidade de tempo ocioso necessário antes de suspender a sessão"

Em clientes Windows mais antigos (por exemplo, Windows 2000, Windows 2003), o cliente fecha uma conexão ociosa com base no parâmetro da estação de trabalho KeepConn [KB819108].

HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\parameters\
Value type: Dword
Value name: KeepConn
Default:    600 (seconds)

KeepConn não é mais usado, exceto no Kit de Sistema de Arquivos Instalável (IFSKIT).

Expiração de sessão e nova autenticação dinâmica Na implementação do Windows, a expiração da sessão SMB é imposta com base no suporte do cliente ao recurso de autenticação dinâmica [MS-SMB]. Se o cliente ativar o bit de recurso CAP_DYNAMIC_REAUTH, o servidor aplicará a expiração da sessão. Se um cliente não definir CAP_DYNAMIC_REAUTH, o servidor do Windows não retornará STATUS_NETWORK_SESSION_EXPIRED.
O recurso de nova autenticação dinâmica SMB foi introduzido no Windows XP. A partir daí, os clientes baseados no Windows definem o bit de capacidade CAP_DYNAMIC_REAUTH para indicar ao servidor que o cliente oferece suporte à nova autenticação quando o tíquete de serviço Kerberos da sessão expirar. Servidores Windows verificam CAP_DYNAMIC_REAUTH: • Se clientCapabilities definir CAP_DYNAMIC_REAUTH, o servidor configurará Server.Session.AuthenticationExpirationTime para o tempo de expiração retornado por AcceptSecuirtyContext. • Se clientCapabilities não definir CAP_DYNAMIC_REAUTH, o servidor não configurará Server.Session.AuthenticationExpirationTime; basicamente, um bit de recurso CAP_DYNAMIC_REAUTH não definido pelo cliente significa que a sessão não expirará no lado do servidor.

Referências:

[MS-CIFS]: Protocolo comum do sistema de arquivos da Internet (CIFS)

link

[MS-SMB]: Protocolo de Bloco de Mensagens do Servidor (SMB)

link

[MS-WKST]: Protocolo Remoto do Serviço da Estação de Trabalho

link

Quando o tíquete Kerberos expira para uma conexão SMB autenticada por Kerberos criada para um servidor baseado no Windows Server 2003, o bloqueio em um arquivo não pode ser desfeito em tempo hábil

link

Parâmetros do LanmanWorkstation: SessTimeout

link

Parâmetros do LanmanServer: MaxKeepSearch

link

Armazenamento Remoto e Windows 2000

link

Como resolver erros do Event ID 2009

link

“Servidor de rede Microsoft: desconectar clientes quando as horas de logon expirarem”

link

COMO: Limitar o tempo de logon do usuário em um domínio no Windows Server 2003

link

    
por 10.09.2014 / 14:34