Мой клиент Win7 подключен к серверу Linux и его общим папкам. Проблема возникает, когда компьютер выходит из спящего режима, а затем одна из общих папок недоступна. Я получаю следующее сообщение: Код ошибки: 80070035, сетевой путь не найден. У меня проблема только с одной конкретной папкой. Когда я перезагружаю компьютер, эта проблемная папка снова становится доступной. Когда я выхожу из системы перед сном, папка становится доступной после пробуждения. Если я попытаюсь получить доступ к папке, используя полное доменное имя сервера или IP-адрес сервера, она также станет доступной. В качестве временного решения я сопоставил папку с сетевым диском, используя полное доменное имя, и он работает нормально, но это неудобно, так как все остальные папки доступны на сервере.
Подвести итоги:
\\server\problematicshare
больше не работает после возобновления работы (сервер Samba видит, что мой клиент подключается, а затем отключается через несколько секунд, пока я получаю указанное выше сообщение об ошибке)\\server\othershare
работает после резюме\\fqdn.of.server\problematicshare
всегда работает\\ip.of.server\problematicshare
всегда работаетСсылка на дамп пакета: http://pastebin.ca/2836628
Эта трассировка пакета была получена на клиенте с помощью wirehark сразу после выхода из приостановки.
Пояснение:
Трассировка пакета прошла постобработку (все IP-адреса были изменены путем замены префикса; имена домена, сервера и клиента были заменены разными строками одинаковой длины).
Вы заметите, что клиент пытается разрешить «SERVERNAM». в DNS (то есть без уточнения имени сервера), и это приводит к nxdomain. Вероятно, если бы этот поиск был успешным, соединение с общим ресурсом работало бы. Однако «SERVERNAM» должен разрешаться через WINS; также, что вызывает изменение поведения при приостановке? Тот же самый DNS-поиск завершается неудачно до приостановки.
Существуют также некоторые сообщения журнала самбы, которые имеют отношение к делу и которые будут включены в трассировку пакетов в соответствующих точках.
[2014/08/28 09:54:56.541088, 0] rpc_server/srv_pipe.c:500(pipe_schannel_auth_bind) pipe_schannel_auth_bind: Attempt to bind using schannel without successful serverauth2
[2014/08/28 09:54:56.661321, 0] rpc_server/netlogon/srv_netlog_nt.c:976(_netr_ServerAuthenticate3) _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client WORKSTATION--7 machine account WORKSTATION--7$
(Если бы возникла проблема с учетной записью компьютера как таковой, было бы так же невозможно получить доступ к общим ресурсам с помощью fqdn сервера, поэтому, хотя это может иметь значение, это, конечно, не основная причина.)
Сон - плохая вещь для сетевого подключения такого типа. Коробка Linux не может определить, перешли ли вы в спящий режим или разорвали соединение. 900 секунд тишины, и ваше соединение намеренно закрывается, и вам нужно восстановить новое. Вам понадобится какая-то поддержка активности для поддержания связи. Ваше «возобновление соединения» попытается повторно открыть ранее существовавшее соединение и не имеет навыков, когда дело доходит до вызова нового. Вот почему вы должны заставить службу перезапустить соединение. Выход из системы, вход в систему, должны начать новое соединение.
Находятся ли они оба в одном логическом поддомене DNS?
У них обоих настроена информация о поисковом домене для этого поддомена?
Во-вторых, я подозреваю, что ваша конфигурация samba (на хосте Linux) ожидает полное имя, даже если ваш сервер подключается к правильному хосту.