Вопрос или проблема
Я установил OpenVPN на машине CentOS и создал пользователя. Затем я установил клиентское программное обеспечение на своем ПК и попытался подключиться к VPN. Странная проблема в том, что, когда я использую интернет на мобильных данных, я могу подключиться к VPN, но, когда я использую ADSL-соединение, подключение не удается, и я получаю следующие ошибки:
Примечание: IP в этом журнале ошибок изменен на образец
Чт Сен 26 08:44:29 2019 OpenVPN 2.4.7 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] собран на 25 апр 2019
Чт Сен 26 08:44:29 2019 Версия Windows 6.2 (Windows 8 или выше) 64bit
Чт Сен 26 08:44:29 2019 версии библиотек: OpenSSL 1.1.0j 20 Ноя 2018, LZO 2.10
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: TCP Socket слушает на [AF_INET]127.0.0.1:25341
Чт Сен 26 08:44:29 2019 Необходима разблокировка от интерфейса управления, жду...
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: Клиент подключен с [AF_INET]127.0.0.1:25341
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'state on'
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'log all on'
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'echo all on'
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'bytecount 5'
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'hold off'
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: CMD 'hold release'
Чт Сен 26 08:44:29 2019 Исходящее шифрование контрольного канала: Шифр 'AES-256-CTR' инициализирован с 256-битным ключом
Чт Сен 26 08:44:29 2019 Исходящее шифрование контрольного канала: Используя 256-битный хэш сообщения 'SHA256' для аутентификации HMAC
Чт Сен 26 08:44:29 2019 Входящее шифрование контрольного канала: Шифр 'AES-256-CTR' инициализирован с 256-битным ключом
Чт Сен 26 08:44:29 2019 Входящее шифрование контрольного канала: Используя 256-битный хэш сообщения 'SHA256' для аутентификации HMAC
Чт Сен 26 08:44:29 2019 TCP/UDP: Сохраняю недавно использованный удаленный адрес: [AF_INET]104.179.258.10:50555
Чт Сен 26 08:44:29 2019 Буферы сокета: R=[65536->65536] S=[65536->65536]
Чт Сен 26 08:44:29 2019 Пытаюсь установить TCP-соединение с [AF_INET]104.179.258.10:50555 [nonblock]
Чт Сен 26 08:44:29 2019 УПРАВЛЕНИЕ: >STATE:1569474869,TCP_CONNECT,,,,,,
Чт Сен 26 08:44:31 2019 TCP-соединение установлено с [AF_INET]104.179.258.10:50555
Чт Сен 26 08:44:31 2019 локальная связь TCP_CLIENT: (не привязано)
Чт Сен 26 08:44:31 2019 удаленная связь TCP_CLIENT: [AF_INET]104.179.258.10:50555
Чт Сен 26 08:44:31 2019 УПРАВЛЕНИЕ: >STATE:1569474871,WAIT,,,,,,
Чт Сен 26 08:44:32 2019 УПРАВЛЕНИЕ: >STATE:1569474872,AUTH,,,,,,
Чт Сен 26 08:44:32 2019 TLS: Начальный пакет от [AF_INET]104.179.258.10:50555, sid=fcdf87ec 47b25bf8
Чт Сен 26 08:45:00 2019 чтение TCP_CLIENT: Неизвестная ошибка (код=10060)
Чт Сен 26 08:45:00 2019 Соединение сброшено, перезапуск [-1]
Чт Сен 26 08:45:00 2019 SIGUSR1[soft,connection-reset] получен, процесс перезапускается
Чт Сен 26 08:45:00 2019 УПРАВЛЕНИЕ: >STATE:1569474900,RECONNECTING,connection-reset,,,,,
Чт Сен 26 08:45:00 2019 Пауза перезапуска, 5 секунды
Чт Сен 26 08:45:05 2019 TCP/UDP: Сохраняю недавно использованный удаленный адрес: [AF_INET]104.179.258.10:50555
Чт Сен 26 08:45:05 2019 Буферы сокета: R=[65536->65536] S=[65536->65536]
Чт Сен 26 08:45:05 2019 Пытаюсь установить TCP-соединение с [AF_INET]104.179.258.10:50555 [nonblock]
Чт Сен 26 08:45:05 2019 УПРАВЛЕНИЕ: >STATE:1569474905,TCP_CONNECT,,,,,,
Чт Сен 26 08:45:06 2019 TCP-соединение установлено с [AF_INET]104.179.258.10:50555
Чт Сен 26 08:45:06 2019 локальная связь TCP_CLIENT: (не привязано)
Чт Сен 26 08:45:06 2019 удаленная связь TCP_CLIENT: [AF_INET]104.179.258.10:50555
Чт Сен 26 08:45:06 2019 УПРАВЛЕНИЕ: >STATE:1569474906,WAIT,,,,,,
Чт Сен 26 08:45:06 2019 УПРАВЛЕНИЕ: >STATE:1569474906,AUTH,,,,,,
Чт Сен 26 08:45:06 2019 TLS: Начальный пакет от [AF_INET]104.179.258.10:50555, sid=a1b6af90 ed5ef60f
Чт Сен 26 08:45:36 2019 чтение TCP_CLIENT: Неизвестная ошибка (код=10060)
Чт Сен 26 08:45:36 2019 Соединение сброшено, перезапуск [-1]
Чт Сен 26 08:45:36 2019 SIGUSR1[soft,connection-reset] получен, процесс перезапускается
Чт Сен 26 08:45:36 2019 УПРАВЛЕНИЕ: >STATE:1569474936,RECONNECTING,connection-reset,,,,,
Чт Сен 26 08:45:36 2019 Пауза перезапуска, 5 секунд
Чт Сен 26 08:45:41 2019 TCP/UDP: Сохраняю недавно использованный удаленный адрес: [AF_INET]104.179.258.10:50555
Чт Сен 26 08:45:41 2019 Буферы сокета: R=[65536->65536] S=[65536->65536]
Чт Сен 26 08:45:41 2019 Пытаюсь установить TCP-соединение с [AF_INET]104.179.258.10:50555 [nonblock]
Чт Сен 26 08:45:41 2019 УПРАВЛЕНИЕ: >STATE:1569474941,TCP_CONNECT,,,,,,`
Вы знаете, в чем проблема и как я могу ее решить?
Код ошибки 10060 – это тайм-аут сокета. Возможно, ваш интернет-провайдер фильтрует порт, который вы настроили для OpenVPN. Попробуйте перенастроить сервер для использования TCP вместо UDP и попробуйте установить telnet на порт, который использует сервер. Если это не сработает, то настройте свой сервер на использование порта, который вряд ли будет отфильтрован, например, 443.
У меня та же проблема. Я проверял соединения NordVPN по протоколам UDP и TCP с этой ссылки.
с той же сетью ADSL, с которой у меня проблема. Соединения NordVPN работали очень хорошо, но все другие соединения OpenVPN по протоколам TCP и UDP заблокированы, за исключением соединений openvpn+proxy. openvpn+proxy очень медленный.
Я не знаю, почему соединения NordVPN по протоколам TCP и UDP работают без каких-либо проблем, а наши соединения заблокированы. Например, NordVPN использует порт 1194 для своих соединений, и все работает отлично. Я использовал порты 443 и 1194 и … , но наше соединение не работало с каким-либо портом. Я проверял порты на том же ПК и в той же сети, и порты не заблокированы и открыты, и я могу получить доступ к портам. Это означает, что если я хочу использовать порт 443 для веб-сервера, он работает без каких-либо проблем, но когда я использую порт 443 для OpenVPN, кажется, что пакеты, отправленные с помощью OpenVPN-connect или OpenVPN-gui, фильтруются или блокируются.
Это возможно? Что мы можем сделать?
Как NordVPN смог решить эту проблему?
Наша конфигурация клиента выглядит следующим образом:
клиент
dev tun
proto tcp
remote server.domain.add 443
resolv-retry infinite
nobind
pull
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
redirect-gateway autolocal
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>
а конфигурация клиента nordvpn выглядит следующим образом:
клиент
dev tun
proto tcp
remote ip.add 443
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
comp-lzo no
remote-cert-tls server
auth-user-pass
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
# 2048 битный статический ключ OpenVPN
...
-----END OpenVPN Static key V1-----
</tls-auth>
У меня была такая же проблема. Переход на порт 443 оказался таким же. Решено путем смены на любой свободный неиспользуемый порт. не 1194, не 443. Я уверен, что ваша конфигурация в порядке. Проблема вне: ваш провайдер, ваш маршрутизатор.
Ответ или решение
Проблема с подключением OpenVPN через ADSL, несмотря на успешное подключение через мобильные данные, может быть вызвана несколькими факторами, связанными с сетевым окружением, настройками и поведением провайдера. Давайте разберем возможные причины и способы их устранения.
1. Фильтрация трафика Интернет-провайдером
Первое предположение — Интернет-провайдер может блокировать или ограничивать трафик, идущий через определенные порты. Ошибка 10060
, которая у вас возникает, указывает на таймаут сокета — это может быть признаком того, что подключение к серверу OpenVPN не удается установить.
Рекомендация:
- Проверка с помощью Telnet: Попробуйте использовать команду Telnet для проверки доступности порта вашего сервера OpenVPN:
telnet сервер.вашего.домена 443
Если соединение не удается установить, это может подтвердить блокировку портов вашим провайдером.
2. Использование разных протоколов и портов
Вы упомянули, что в вашем случае подключения по протоколу UDP и TCP с использованием порта 443 не работают. Однако, на основании вашего опыта с NordVPN, можно сделать вывод, что, возможно, использованы разные механизмы маскировки или различные настройки для повышения устойчивости к блокировке.
Рекомендация:
- Попробуйте нестандартные порты: Измените конфигурацию OpenVPN для использования менее распространенных портов (например, 8080, 8443 или других) вместо 443 и 1194, которые могут быть известными портами блокировки.
3. Настройки маршрутизатора
Иногда маршрутизаторы могут иметь настройки, которые ограничивают или блокируют VPN-трафик. Это может быть связано с разрешениями NAT или просто с правилами брандмауэра.
Рекомендация:
- Проверьте файрволл и NAT вашего маршрутизатора: Убедитесь, что ваш маршрутизатор настроен на разрешение VPN-трафика, особенно для TCP и UDP протоколов. Возможно, потребуется открыть порты вручную или отключить некоторые функции фильтрации.
4. Конфигурация OpenVPN
На основе предоставленных вами конфигурационных файлов, можно отметить, что конфигурация NordVPN реализует дополнительные параметры, такие как key-direction
и tls-auth
, что может повысить защиту и скрытность соединения.
Рекомендация:
- Добавьте опции, аналогичные тем, что использует NordVPN: Попробуйте добавить параметры из конфигурации NordVPN в вашу настройку, включая
tls-auth
, что может помочь избежать блокировки.
5. Влияние мобильного подключения
Интересно отметить, что ваше мобильное соединение работает корректно. Это может быть связано с тем, что многие операторы мобильной связи не фильтруют VPN-трафик так же строго, как это делают фиксированные провайдеры.
Рекомендация:
- Используйте альтернативные соединения, если возможно: Если у вас есть доступ к другим провайдерам или Wi-Fi сетям, попробуйте подключиться через них для тестирования.
Заключение
Несмотря на то что ваша текущая конфигурация может быть корректной, важно учитывать, что современное сетевое окружение зачастую нестабильно и подвержено изменениям правил и политик со стороны провайдеров. Пробуя различные порты, протоколы, а также внося изменения в настройки маршрутизатора, вы сможете решить проблему с подключением OpenVPN через ADSL. В крайнем случае, стоит рассмотреть возможность использования стойкого VPN-сервиса, который адаптируется к параметрам вашей сети.