Конфигурация клиента
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 на сайте официальной документации