Я пытался улучшить свою производительность OpenVPN, и это моя текущая настройка:
cat /etc/openvpn/server.conf
port 443 #- port
proto tcp #- protocol
dev tun
#tun-mtu 1500
tun-mtu-extra 32
#mssfix 1450
tun-mtu 64800
mssfix 1440
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login
#plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf #- Uncomment this line if you are using FreeRADIUS
client-to-client
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3
КЛИЕНТ:
client
dev tun
proto tcp
remote 18.4.26.8 443
resolv-retry infinite
nobind
tun-mtu 64800
tun-mtu-extra 32
mssfix 1440
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
Я внес некоторые изменения в MTU и MSSFIX из того, что нашел в сети.
Могу ли я внести какие-либо изменения в ядро? Это коробка CentOS 6.x. Я нашел кое-что для BSD, но ничего не работает для Linux.
Я знаю, что TCP медленнее, чем UDP, но мне нужно иметь возможность выглядеть как трафик SSL, чтобы пройти через брандмауэр в сети.
Другие идеи?
PING к другому клиенту в сети, в которую я RDP.
Pinging 10.8.0.6 with 32 bytes of data:
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=565ms TTL=128
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=782ms TTL=128
Ping statistics for 10.8.0.6:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 152ms, Maximum = 782ms, Average = 412ms
Есть ли способы улучшить производительность или сбросить пинг?
РЕДАКТИРОВАТЬ: поможет ли настройка фрагментации некоторые?
I know TCP is slower then UDP but I need to be able to look like SSL traffic to get thru a firewall on the network.
Почему бы не попросить администратора сети открыть порт openvpn на работе? С другой стороны, этот вопрос может нарушать условия часто задаваемых вопросов, которыеLicensing, legal advice, and *circumvention of security or policy*
я хотел бы уточнить.Ответы:
Краткий ответ: отключить
comp-lzo
.Я понимаю, что это старый пост, но я также страдал от низкой производительности OpenVPN. Я перепробовал все, настраивая MTU, меняя буферы snd и rcv, зажимая mss, вы называете это. Загрузка процессора была незначительной.
По прихоти я отключил сжатие (снято
comp-lzo
с клиента и сервера) и производительность увеличилась в 2-4 раза.Таким образом, при
comp-lzo
включенной моей максимальной производительности было около 25-30 Мбит / с, а без нее я достиг 120 Мбит / с (скорость моего интернет-соединения).Сервер Xeon E5-2650, клиент Core i5-3320M. Оба работают под управлением OpenVPN 2.3.10, AES-256-CBC, SHA512. Мой Intel Chromebook также увеличил скорость интернета. На моих клиентах Android производительность удвоилась (14 Мбит / с -> 30 Мбит / с), что соответствует скорости туннеля IKEv2.
источник
TCP будет / намного / медленнее, чем UDP, что вызвано проблемой TCP-over-TCP . По сути, TCP использует отбрасывание / перегрузку пакетов для определения параметров соединения, а ваши соединения TCP через OpenVPN не испытывают ни одного из них. Но вы сказали, что это не вариант.
Вы также можете попробовать
mtu-disc
опцию автоматического определения оптимальных настроек MTU для вашего соединения. В разных местах наблюдаются небольшие несоответствия, такие как настройка MTU в OpenVPN, включая размер заголовка Ethernet. [ 1 ]Ваша
tun-mtu
настройка огромна, поскольку у пакета размером 65 КБ будет много проблем с задержкой при прохождении через Интернет (гигантские пакеты IPv4 имеют размер около 9000 байт и в основном работают в локальных сетях). Вместо этого попробуйте что-нибудь под 1460, например 1300, чтобы увидеть, является ли MTU вашей проблемой.источник
Хотя это может быть немного поздно, вы можете попробовать то, что я сделал:
удалить все опции, связанные с mss, mtu и т. д.
сделайте сканирование порта в вашем учреждении и выберите порт UDP, обычно должны быть открыты 53 порта GRE / 123 NDP:
Добавьте эти строки в конфигурацию вашего сервера (ссылка здесь )
Я не совсем понимаю эти настройки, но они, безусловно, помогли, некоторые говорят, что это очень помогает, по моему опыту, это увеличило мою пропускную способность на +/- 30%
Запустите сервер на одном из этих портов, и вам должно быть хорошо идти: P
Надеюсь это поможет!
источник
sndbuf и rcvbuf исправляют параметр ANCIENT в linux / unix / openvpn, начиная с дней коммутируемого доступа, для выбора более медленных настроек, даже если ОС оптимизирована для более быстрых
sndbuf / rcvbuf со значением 0 будет просто использовать настройки ОС
push используется, чтобы убедиться, что клиент настроен правильно, но там вам нужно значение.
источник