Назад | Перейти на главную страницу

Тайм-аут клиента OpenVPN при просмотре сайтов https в Windows 7

Конфигурация клиента

client
dev tun
proto tcp
remote -.-.-.- 443
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-128-CBC
auth SHA256
key-direction 1
comp-lzo
verb 3

Конфигурация сервера (в Ubuntu 16)

port 443
proto tcp
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.77.77.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 8.8.8.8"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth ta.key 0 # This file is secret
key-direction 0
cipher AES-128-CBC   # AES
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

Проблема возникает только на всей моей машине с Windows, когда я пытаюсь открыть любые безопасные сайты, например https://google.com но когда я открываю его со своего iPhone или Ubuntu при подключении к OpenVPN, соединение вообще не прерывается.

РЕДАКТИРОВАТЬ: Пример, если я пингую google.com при просмотре незащищенного сайта (http), он стабилен и работает нормально, но в тот момент, когда я открываю безопасный сайт (https), пинг выстреливает очень высоко до примерно 2 КБ мс, а затем таймауты примерно на 1-2 минуты до вернуться в нормальное состояние. в конечном итоге страница загружается, но только после этой долгой задержки.

Я использую адаптер OpenVPN TAP для Windows, может быть проблема с адаптером или, возможно, с шифром?

Если вы можете пинговать хосты маленькими пакетами и не можете сделать это большими пакетами, у вас может быть одна из двух проблем: 1) плохой кабель или соединение с большим количеством ошибок, 2) проблема MTU. Если вы можете проверить связь с хостом шлюза большими пакетами, и другие устройства работают нормально, значит, проблема не в первую очередь. Проблема с MTU. Но почему? Возможно, брандмауэр Windows или интернет-провайдер блокирует некоторые типы пакетов обнаружения ICMP или Path MTU.

Из документации:

В настоящее время в Windows единственный способ изменить MTU TAP-Windows - это перейти в дополнительные свойства адаптера и сделать это вручную. По этой причине самый простой выбор - оставить для параметра MTU TAP-Windows значение «1500» и указать OpenVPN на обе стороны соединения, чтобы использовать MTU «1500» с опцией конфигурации: тун-мту 1500

Если затем вам нужно снизить MTU из-за фрагментации или проблем с маршрутизатором, используйте: mssfix 1300.

Также используйте UDP пакеты вместо TCP за хорошую производительность.

Принимая во внимание все вышеперечисленное, включите в файлы конфигурации клиента и сервера:

proto udp 
dev tun 
tun-mtu 1500 
mssfix 1300

Об этом читайте в хорошей статье Решение проблем OpenVPN MTU и Примечания - MTU на сайте официальной документации