Я успешно поделился общим ресурсом Windows через VPN (PPTP), смонтировал его с помощью mount.cifs на своем компьютере с Ubuntu, и я могу просматривать общее содержимое из Ubuntu.

Однако иногда, когда сетевой трафик между двумя компьютерами становится огромным (rsync, cifs Windows-> Ubuntu, общий ресурс samba Ubuntu -> Windows; по всему PPTP), PPTP, похоже, дает сбой и восстанавливает соединение (так как опция 'persist' включена), Теперь общий ресурс cifs «зависает» - я больше не могу ни перечислять его содержимое, ни размонтировать его, и мне нужно перезагрузить Ubuntu.

Есть ли решение этой проблемы? Должен ли я что-то изменить в самом VPN-соединении, изменить настройки cifs или использовать другие протоколы?

VPN-сервер - мой домашний маршрутизатор (TomatoUSB). Windows-машина физически подключена к роутеру, ip: 192.168.1.102.

Машина с Ubuntu является экземпляром Amazon EC2. Он подключен к моей домашней сети через туннель VPN (PPTP) и получает IP: 192.168.1.202.

Детали VPN-подключений (в /etc /ppp /peers / в Ubuntu):

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

Ubuntu делится контентом, используя samba:

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

Ubuntu монтирует общий ресурс Windows с помощью mount.cifs (следующие строки добавляются в ip-up.local для монтирования при каждом установлении VPN-подключения):

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

VPN отключается иногда, когда я одновременно:

  • доступ к общим ресурсам Ubuntu из Windows
  • rsync windows shared toubuntu (команда выполняется из windows, внутри терминала замазки):

    sudo rsync -avP /mnt /cifs /win-share /home /user1 /win-copy &

1 ответ1

0

Тайм-аут сеанса клиента Это самый распространенный тайм-аут обмена. Это определяется в [MS-CIFS] как общесистемный параметр Client.SessionTimeoutValue. Это значение можно настроить с помощью раздела реестра SessTimeout [KB102067].

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

Увеличенное время ожидания сеанса Это дополнительное время ожидания может быть полезно в сетях с высокой задержкой. Это относится к синхронизированному обмену с сервером, указанным в 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.

Таймер простоя

Это количество времени, в течение которого соединение может простаивать, прежде чем отключиться. Свободное соединение определяется как соединение, которое не имеет существующих открытых дескрипторов (нет открытых файлов, каталогов, контекстов поиска и т.д.) И не ожидает выполнения операции. Таймер простоя соединения зависит от реализации. Когда сервер получает сообщение, сервер.Подключение.IdleTime устанавливается на текущее время плюс сервер.AutoDisconnectTimeout [MS-CIFS]. На серверах Windows это можно настроить с помощью ключа реестра Autodisconnect [KB297684].

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

Автоматическое отключение также можно настроить с помощью групповой политики: Конфигурация компьютера \ Конфигурация Windows \ Параметры безопасности \ Локальные политики \ Параметры безопасности "Сетевой сервер Microsoft: количество времени простоя, необходимое перед приостановкой сеанса"

В старых клиентах Windows (например, Windows 2000, Windows 2003) клиент закрывает незанятое соединение на основе параметра рабочей станции KeepConn [KB819108].

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

KeepConn больше не используется, кроме как в Installable File System Kit (IFSKIT).

Истечение срока сеанса и динамическая повторная аутентификация В реализации Windows истечение срока сеанса SMB применяется на основе поддержки клиентом возможности динамической повторной аутентификации [MS-SMB]. Если клиент включает бит возможности CAP_DYNAMIC_REAUTH, сервер принудительно истечет сессию. Если клиент не устанавливает CAP_DYNAMIC_REAUTH, сервер Windows не возвращает STATUS_NETWORK_SESSION_EXPIRED.
Функция динамической повторной аутентификации SMB была представлена в Windows XP. Оттуда клиенты на базе Windows устанавливают бит возможности CAP_DYNAMIC_REAUTH, чтобы указать серверу, что клиент поддерживает повторную аутентификацию, когда истекает срок действия билета службы Kerberos для сеанса. Серверы Windows проверяют CAP_DYNAMIC_REAUTH:• Если clientCapabilities устанавливает CAP_DYNAMIC_REAUTH, сервер устанавливает Server.Сессия.AuthenticationExpirationTime до времени истечения, возвращенного AcceptSecuirtyContext. • Если clientCapabilities не устанавливает CAP_DYNAMIC_REAUTH, сервер не будет устанавливать Server.Сессия.AuthenticationExpirationTime, в основном бит возможности CAP_DYNAMIC_REAUTH, не установленный клиентом, означает, что сеанс не истечет на стороне сервера.

Рекомендации:

[MS-CIFS]: протокол общей файловой системы Интернета (CIFS)

http://msdn.microsoft.com/en-us/library/ee442092.aspx

[MS-SMB]: протокол блока сообщений сервера (SMB)

http://msdn.microsoft.com/en-us/library/cc246231.aspx

[MS-WKST]: удаленный протокол службы рабочей станции

http://msdn.microsoft.com/en-us/library/cc250262.aspx

Когда срок действия билета Kerberos истекает для подключения SMB с проверкой подлинности Kerberos, созданного на сервере под управлением Windows Server 2003, временная блокировка файла не может быть своевременно прервана

http://support.microsoft.com/kb/943459

Параметры LanmanWorkstation: SessTimeout

http://technet.microsoft.com/en-us/library/cc938292.aspx

Параметры LanmanServer: MaxKeepSearch

http://technet.microsoft.com/en-us/library/cc957456.aspx

Удаленное хранилище и Windows 2000

http://technet.microsoft.com/en-us/library/cc938445.aspx

Как устранить ошибки с кодом 2009

http://support.microsoft.com/kb/165815

«Сетевой сервер Microsoft: отключение клиентов по истечении времени входа в систему»

http://technet.microsoft.com/en-us/library/cc758192.aspx

КАК: Ограничить время входа пользователя в домен в Windows Server 2003

http://support.microsoft.com/kb/816666

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .