WinError 10061: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение

Ошибка WinError 10061 возникает в момент, когда ваш компьютер отправляет TCP-запрос на определённый порт удалённой машины, а та в ответ присылает отказ — пакет RST, означающий «соединение сброшено». Это принципиально отличается от тайм-аута: сеть работает, адресат доступен, но принимать подключение на указанном порту некому или запрещено. Полный текст сообщения обычно выглядит так: «Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение».

Чаще всего с этой ошибкой сталкиваются разработчики при обращении к локальным сервисам через localhost, пользователи почтовых клиентов, 1С, баз данных MySQL и SQL Server, а также при работе с прокси и FTP. Разберём, что именно означает код 10061 на уровне сетевого стека и как последовательно найти и устранить причину.

Что означает ошибка WinError 10061

Код 10061 соответствует системной константе WSAECONNREFUSED в Windows Sockets API. Она появляется в Python, .NET, клиентах баз данных и любых программах, использующих сокеты. Смысл один: операционная система целевой машины получила запрос на соединение, но ни один процесс не прослушивает указанный порт, либо соединение было активно отклонено промежуточным фильтром.

Важно понимать разницу между двумя похожими сценариями. Если хост недоступен вообще, вы получите тайм-аут или ошибку 10060. Код 10061 означает, что пакеты доходят — проблема именно на стороне принимающего приложения или правил фильтрации. Это существенно сужает круг поиска.

  • 🔌 Служба не запущена — самая частая причина: серверное приложение просто не работает или упало с ошибкой.
  • 🚪 Неверный порт — клиент стучится не на тот порт, который слушает сервер.
  • 🛡️ Брандмауэр или антивирус — трафик на порт блокируется правилом фильтрации.
  • 🏠 Привязка к интерфейсу — служба слушает только 127.0.0.1, а подключение идёт с другого компьютера по внешнему IP.
  • ⚙️ Переполненная очередь подключений — редкий случай, когда сервер перегружен и отвергает новые сессии.

Шаг 1. Проверьте, запущена ли целевая служба

Начните с главного: убедитесь, что программа, к которой идёт подключение, вообще работает. Если речь о локальном сервисе на вашем же ПК, откройте оснастку services.msc через Win + R и найдите нужную службу — например, MySQL, SQL Server или службу своего приложения. Статус должен быть «Выполняется».

Если служба остановлена — запустите её и сразу проверьте подключение повторно. Если она запускается и тут же падает, причина уже в самом приложении: смотрите его журналы событий через «Просмотр событий» (раздел «Журналы Windows → Приложение»).

Для удалённого сервера принцип тот же: нужно зайти на ту машину (по RDP, SSH или физически) и убедиться, что серверное приложение функционирует. Без этого шага все остальные проверки теряют смысл.

Шаг 2. Убедитесь, что порт действительно прослушивается

Даже запущенная служба может слушать не тот порт или не тот сетевой интерфейс. Проверка выполняется встроенной командой Windows — запустите командную строку от имени администратора и выполните:

netstat -ano | findstr :НОМЕР_ПОРТА

В выводе ищите строку со состоянием LISTENING. Если её нет — порт никем не прослушивается, и отказ в подключении закономерен. Обратите внимание на адрес в первой колонке: 127.0.0.1:порт означает, что служба принимает подключения только с этого же компьютера, а 0.0.0.0:порт — со всех интерфейсов, включая внешние.

Адрес прослушиванияКто может подключитьсяТипичная ситуация
127.0.0.1:портТолько локальные программыБаза данных настроена на loopback
0.0.0.0:портЛюбой компьютер сетиСервер открыт для внешних клиентов
Конкретный IP:портТолько через этот интерфейсСервер с несколькими сетевыми картами
Порта нет в спискеНикто — отказ 10061Служба упала или порт изменён

Если выяснилось, что служба слушает только 127.0.0.1, а вам нужен доступ по сети, измените параметр привязки в конфигурации приложения. Для MySQL это директива bind-address, для других программ — аналогичная настройка в их конфигурационных файлах. Точное имя параметра зависит от конкретного ПО, поэтому сверяйтесь с его документацией.

Шаг 3. Проверьте брандмауэр и антивирус

Брандмауэр Windows может блокировать входящие подключения на порт, даже если служба работает корректно. Откройте «Брандмауэр Защитника Windows → Дополнительные параметры → Правила для входящих подключений» и проверьте, есть ли разрешающее правило для вашего приложения или порта.

Для быстрой диагностики можно временно отключить брандмауэр и повторить подключение. Если ошибка исчезла — создайте постоянное правило и включите защиту обратно. Не оставляйте брандмауэр отключённым надолго.

☑️ Диагностика WinError 10061 за 5 минут

Выполнено: 0 / 6
⚠️ Внимание: сторонние антивирусы с сетевым экраном (компоненты защиты сети) могут блокировать порты независимо от настроек брандмауэра Windows. Если отключение брандмауэра не помогло, временно приостановите защиту антивируса и проверьте снова. Некоторые антивирусы ведут собственный журнал заблокированных соединений — загляните туда.

Также полезно протестировать порт напрямую. В современных версиях Windows доступен командлет PowerShell:

Test-NetConnection -ComputerName АДРЕС -Port НОМЕР_ПОРТА

Результат TcpTestSucceeded : False подтверждает, что порт недоступен; True говорит о том, что на сетевом уровне всё в порядке, и проблему нужно искать уже в логике самого приложения.

📊 Где вы столкнулись с ошибкой WinError 10061?
Подключение к базе данных (MySQL, SQL Server)
Локальный сервер на localhost (разработка)
Почтовый клиент или FTP
1С или другое корпоративное ПО

Шаг 4. Проверьте адрес, порт и настройки клиента

Банальная, но распространённая причина — клиент подключается не туда. Опечатка в IP-адресе, перепутанный порт, устаревшая запись в конфигурации после смены сетевых настроек сервера. Сверьте строку подключения с реальными параметрами сервера: командой ipconfig на сервере узнайте его актуальный адрес, а через netstat — фактический порт.

Отдельный случай — подключение через прокси-сервер. Если в системе или браузере настроен прокси, который не работает, приложения могут получать именно ошибку 10061 при попытке соединиться с адресом прокси. Проверьте раздел «Параметры → Сеть и Интернет → Прокси» и временно отключите использование прокси-сервера для диагностики.

Вам также стоит проверить файл hosts по пути C:\Windows\System32\drivers\etc\hosts — если имя сервера переопределено там на неверный адрес, клиент будет стучаться не на ту машину. Открывается файл блокнотом с правами администратора.

Ошибка 10061 в Python и requests

В Python ошибка выглядит как ConnectionRefusedError: [WinError 10061]. Она возникает, когда скрипт обращается к API или сокету, который не запущен. Проверьте, что серверная часть стартовала до клиентской, что хост указан как 127.0.0.1 или localhost (а не внешний IP, если сервер слушает loopback), и что порт в коде совпадает с портом сервера. При работе через requests к внешним сайтам код 10061 почти всегда указывает на неработающий системный прокси.

Шаг 5. Сброс сетевого стека и перезапуск

Если служба работает, порт слушается, брандмауэр настроен, а ошибка остаётся — возможно, повреждены настройки сетевого стека Windows. Это случается после некорректного удаления VPN-клиентов, антивирусов и сетевых утилит, которые встраивают свои фильтры в стек.

Выполните в командной строке от имени администратора две команды, затем перезагрузите компьютер:

netsh winsock reset

netsh int ip reset

Первая команда сбрасывает каталог Winsock до состояния по умолчанию, вторая — параметры стека TCP/IP. После перезагрузки проверьте подключение заново. Учтите, что статические настройки IP, если они были заданы вручную, могут потребовать повторной настройки.

⚠️ Внимание: после сброса Winsock некоторые программы, использовавшие собственные сетевые фильтры (старые VPN, прокси-клиенты, родительский контроль), могут перестать работать и потребуют переустановки. Выполняйте сброс осознанно, когда более простые методы уже исчерпаны.

Типичные сценарии и их решения

Чтобы связать теорию с практикой, рассмотрим частые ситуации. При работе с SQL Server ошибка 10061 нередко означает, что в конфигурации сервера отключён протокол TCP/IP — он включается через SQL Server Configuration Manager в разделе сетевой конфигурации, после чего службу нужно перезапустить.

Для 1С:Предприятие в клиент-серверном варианте отказ в подключении обычно указывает на остановленный агент сервера 1С или на то, что клиент обращается к неверному имени сервера. В файловом варианте по сети ошибка может появляться при проблемах с общим доступом к папке базы.

При локальной разработке (веб-серверы, API, отладка) причина почти всегда в том, что серверное приложение не запущено, упало при старте или слушает другой порт. Порядок действий прост: смотрим консоль сервера на предмет ошибок запуска, затем netstat.

Часто задаваемые вопросы

Чем ошибка 10061 отличается от 10060?

Код 10060 — это тайм-аут: пакеты не доходят до адресата или ответ не возвращается, например при недоступном хосте или фильтрации «молча» (drop). Код 10061 — активный отказ: машина получила запрос и ответила отказом, значит сеть работает, а проблема в порте или службе на целевой стороне.

Почему ошибка возникает при подключении к localhost?

Даже локальное подключение требует, чтобы какой-то процесс слушал нужный порт. Если серверное приложение не запущено, упало при старте или слушает другой порт, Windows вернёт WinError 10061. Проверьте запуск сервера и вывод netstat -ano | findstr :порт.

Может ли причиной быть антивирус?

Да. Антивирусы с модулем сетевой защиты способны блокировать порты и процессы независимо от брандмауэра Windows. Для диагностики временно приостановите защиту и повторите подключение. Если помогло — добавьте приложение или порт в исключения антивируса согласно его документации.

Ошибка появляется только при подключении с другого компьютера. Что делать?

Наиболее вероятная причина — служба привязана к интерфейсу 127.0.0.1 и принимает только локальные соединения. Проверьте вывод netstat на сервере: если перед портом стоит 127.0.0.1, измените параметр привязки (например, bind-address) в конфигурации приложения на 0.0.0.0 или нужный IP, и проверьте правила брандмауэра для входящих подключений.

Поможет ли переустановка программы?

Как правило, нет, если причина в сетевой конфигурации, брандмауэре или неверном порте — эти настройки переустановка не меняет. Сначала выполните диагностику по шагам из статьи. Переустановка оправдана только при повреждении файлов самой программы, что обычно видно по ошибкам в её журнале или в «Просмотре событий».