OpenVPN проблема с созданием конфига с максимальной производительностью
Доброго вечера. В общем, пытаюсь создать конфиг для openVPN с максимальной производительностью и относительной беспалевностью. Арендовал VPS в Москве и в Лондоне, оба в минимальной конфигурации, 1 ядро, выдают по 2200 в Geekbench 4. Конфигурация сервера:
port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
crl-verify crl.pem
tls-crypt ta.key
fast-io
auth SHA256
ncp-disable
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-GCM
#compress lz4-v2
#push "compress lz4-v2"
user nobody
group nogroup
persist-key
persist-tun
# Log a short status
status openvpn-status.log
log-append /etc/openvpn/logs/openvpn.log
verb 1
client
fast-io
script-security 2
#up /etc/openvpn/update-resolv-conf
#down /etc/openvpn/update-resolv-conf
setenv opt tls-version-min 1.2 or-highest
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote 185.220.33.172 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA256
cipher AES-256-GCM
setenv opt block-outside-dns
verb 3
Прием/отдача, пинг
- Без VPN: 56/56, 2-5
- EN VPN LZ4: 27/20, 81-100
- EN VPN no LZ4: 25/15-50, 81
- RU VPN LZ4: 54/55-70, 16
- RU VPN no LZ4: 51-54/54-55, 16
Сразу непонятно каким образом с LZ4 отдача с московским вышла больше, чем без VPN'а. Хотелось бы прояснить этот момент.
Дальше решил померить iperf'ом, правильно или нет поправьте. На сервере запускаю командой без VPN: iperf3 -s
с VPN: iperf3 -s --bind 10.8.0.1.
Клиент: iperf3 -с ip -N (с флагом -R или без)
Клиент через VPN: iperf -c 10.8.0.1 (с флагом -R или без)
Получил такие результаты. sender/reseiver, с флагом -R sender/reseiver
- EN without VPN: 53/50, 14/14
- EN with VPN no LZ4: 42/40, 8-10/8-10
- EN with VPN LZ4: 42/40, 8-10/8-10
- RU without VPN: 58/58, 58/58
- RU with VPN no LZ4: 56/56, 55/55
- RU with VPN LZ4: 56/56, 55/55
Сразу напрашивается вопрос, с чем связана такая низкая скорость в случае с Лондонским VPN? Такова ситуация с расстоянием или можно улучшить ситуацию? с LZ4 тоже стоит вопрос, стоит ли вообще использовать сжатие, ибо медиа файлы сжимать нет смысла, а все остальное и так сжимается gzip'ом. Лишь при высокой нагрузке будет отнимать ресурсы.
Далее встал вопрос с палевом VPN fingerprint, пробовал играться с параметром mssfix, но до конца так и не понял как это работает. Протестировал следующие случаи:
- Без mssfix 0 на сервере/клиенте, 1328 MTU с VPN fingerprint
- С mssfix 0 на сервере 1398 MTU с VPN fingerprint
- С mssfix 0 на сервере/клиенте 1500 MTU, при этом соединение с некоторыми сайтами становится нестабильным, нестабильная скорость отдачи.
- С mssfix 0 на сервере, mssfix на клиенте, 1398 MTU
Может кто подсказать что я тут нашаманил и почему все так? С этими VPN fingerprint вообще какая-то магия происходит, то они определяются, то нет.
И напоследок встал вопрос об DNS leak на линуксе и фикс двустороннего пинга. На линуксе пишут, что следует в конфиг клиента добавить строчки
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf