Проблема: при подключении через OPENVPN у клиента скорость скачки одних и тех же файлов, с одних и тех же серверов, меньше чем через подключение просто через канал связи.
Общее описание: Сервер с установленным OPENVPN имеет канал в 1 Гбит\с, 8 гб ОЗУ и двухядерный процессор мало чем занятый, у клиента канал 20 Мбит\с и мощный домашний компьютер. При обычном подключении скачивание развивает тарифную скорость 20 Мбит\с, при подключении через openvpn (весь трафик маршрутизирующий (NAT)) через IP сервера с OPENVPN.
Конфигурации:
Клиент (windows 7)
client
#dev tun
dev tap
proto tcp
remote 111.111.111.111 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca server_ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
pull
route-method exe
route-delay 5
Сервер (GNU\Linux Debian 6):
mode server
tls-server
port 1194
#proto tcp
proto tcp-server
#dev tun
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ifconfig 192.168.33.1 255.255.255.0 #
ifconfig-pool 192.168.33.2 192.168.33.5 #
push "redirect-gateway def1"
push "route-gateway 192.168.33.1"
push "dhcp-option DNS 121.121.121.121"
#push "redirect-gateway local"
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
client-to-client
Проблема: при подключении через OPENVPN у клиента скорость скачки одних и тех же файлов, с одних и тех же серверов, меньше чем через подключение просто через канал связи. (ссылка на сообщение в теме выше)
добавьте tcp-nodelay на сервере
Первая мысль - proto udp. Нет?
На ixbt.com
посоветовали:
Про сменить на udp - это одна из тех вещей, которые я находил сам, но всё пока не решался попробовать.
Пока прописал tcp-nodelay на серверном конфиге openvpn, протестирую, не получиться.
Буду однозначно пробовать на udp сделать и обязательно отпишусь и там и там.
На венде тоже можно отключить алгоритм Нагла и проверить.
Значения MTU правильные при подключении назначаются? Из за не верных значений MTU скорость может снижаться.
Частично можно решить вот так:
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Про mtu, шифрование и скорость - тык
Люди, всё понятно, но хотелось бы делать от простого к сложному.
Сначала самые лёгкие движения, потом более сложные.
Всё как в автомобиле, сначала проверить, не перегорел ли предохранитель, а уже потом разбирать пол машины и т.д.
На текущий момент:
tcp-nodelay
опция, ничего не дала, в ближайшее время попробую перенастроить под udp, т.к. наибольшее количество ресурсов найденных мной по теме, указывают это как причину.
Спасибо за варианты, обязательно отпишусь по результатам.
Как и обещал:
Помогла опция:
Просто провели пару тестов, они обламались, как оказалось, просто случайно, перепроверили, всё пашет.
Переход на UDP особых результатов не дал.
Фразу про решение, добавил в заглавие.
Если вам tcp-nodelay не помогла, обратите внимание на советы коллег выше, там тоже разумные вещи написаны, может быть стоит это попробовать.
Всем огромное спасибище.
Отправить комментарий