Сетевая ошибка 10060 (0x0000274C) является одной из самых коварных в практике администрирования 1С. Она сообщает пользователю, что «попытка установить соединение была безуспешной, так как от другого компьютера за требуемое время не получен нужный отклик». Проблема часто носит плавающий характер: из сотен пользователей страдать может только один, при этом на сервере видимых проблем нет. В этой статье мы подробно разберем, как локализовать проблему и какие настройки необходимо изменить для стабильной работы системы.
Прежде чем переходить к активным действиям, давайте проанализируем ситуацию. Ошибка 10060 — это стандартный код тайм-аута сокета Winsock. Это означает, что клиентское приложение (тонкий или толстый клиент 1С) отправило запрос серверу, но не дождалось ответа в течение установленного лимита времени. Поскольку проблема возникает у конкретного пользователя в удаленном офисе, мы можем сделать вывод, что корень проблемы кроется в «последней миле», локальной сети филиала или специфических настройках конкретной рабочей станции.
Как показывает практика, часто причина кроется в аппаратных неисправностях, которые создают микроразрывы, незаметные при обычном серфинге в интернете, но критичные для сессии 1С. Рассмотрим первоочередные действия:
CRC.Современные операционные системы стараются экономить электроэнергию, что часто идет во вред серверным приложениям. Разберем, что нужно отключить в свойствах сетевой карты:
Зайдем в «Диспетчер устройств», найдем сетевой адаптер, перейдем в «Свойства» и на вкладке «Управление электропитанием» снимем галочку «Разрешить отключение этого устройства для экономии энергии». Кроме того, в дополнительных настройках адаптера (Advanced) желательно отключить параметры Energy Efficient Ethernet и Green Ethernet.
Функции разгрузки процессора сетевой картой часто приводят к десинхронизации пакетов в распределенных сетях. Проанализируем состояние сетевого стека и выполним команды для его стабилизации. Запустим командную строку от имени администратора и выполним следующие действия:
netsh int tcp set global chimney=disabled
netsh int tcp set global rss=disabled
netsh int tcp set global netdma=disabled
netsh int tcp set global autotuninglevel=disabled
Эти команды отключают динамическую подстройку окна получения и функции прямого доступа к памяти, что делает передачу данных более предсказуемой и стабильной для 1С.
Одной из причин обрыва соединения является закрытие «молчаливых» сессий промежуточным сетевым оборудованием (например, NAT-трансляторами или брандмауэрами). Выясним, как заставить систему чаще подтверждать активность соединения. Нам потребуется внести изменения в системный реестр по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.
Создадим или изменим следующие параметры типа DWORD:
KeepAliveTime: установим значение 300000 (5 минут в миллисекундах).KeepAliveInterval: установим значение 1000 (1 секунда).Это заставит операционную систему чаще проверять состояние соединения, не давая роутерам закрывать сессию по неактивности.
Поскольку пользователь удаленный и работает через оптический канал (возможно, с использованием VPN), критически важным становится размер максимального пакета MTU. Если пакет 1С превышает допустимый размер в туннеле провайдера, он будет фрагментироваться или отбрасываться, вызывая ошибку 10060. Попробуем уменьшить MTU на стороне клиента:
netsh interface ipv4 show subinterfaces
netsh interface ipv4 set subinterface "Имя_вашего_соединения" mtu=1400 store=persistent
Значение 1400 или 1450 обычно позволяет избежать проблем с инкапсуляцией пакетов в различных типах каналов связи.
Даже если антивирус установлен у всех, на конкретной машине его сетевой экран может работать некорректно. Рассмотрим шаги по настройке исключений:
1cv8.exe и 1cv8c.exe в доверенную зону антивируса.1540-1591 и 1640-1691 (в зависимости от версий платформ 8.2 и 8.3).Если местный ИТ-специалист настаивает на проблемах сервера, нам необходимо собрать доказательную базу. Выясним причину разрыва с помощью непрерывного мониторинга. Запустим одновременно два процесса пингования в командной строке на проблемном ПК:
ping [IP-адрес_сервера_1С] -t > c:\ping_server.txt
ping [IP-адрес_локального_роутера] -t > c:\ping_router.txt
В момент, когда у пользователя «выбьет» 1С, зафиксируем время и проанализируем логи. Если потери пакетов идут и до сервера, и до роутера — проблема в кабеле или сетевой карте клиента. Если до роутера все чисто, а до сервера есть потери — проблема в канале провайдера.
Рассмотрим еще один важный аспект — повреждение локального кэша. Несмотря на сетевой характер ошибки, иногда некорректные данные в кэше заставляют клиент делать «тяжелые» или зацикленные запросы к серверу. Выполним полную очистку:
Удалим содержимое папок:
%AppData%\1C\1Cv8%LocalAppData%\1C\1Cv8Важное замечание: Если используется аппаратный ключ защиты, убедитесь, что в файле nethasp.ini на клиентской машине жестко прописан IP-адрес сервера лицензий. Поиск ключа через широковещательный запрос broadcast в удаленных сетях может создавать микрозадержки, инициирующие разрыв сессии 1С по таймауту.