LINUX.ORG.RU
ФорумAdmin

Что ограничивает скорость OpenVPN? Нужна помощь.


1

2

О хорошем: На сервер установил L2TP-IPSec-VPN. Подключаюсь через L2TP соединение. Скорость отличная - 50мегабит туда-сюда.

О грустном: На сервер установил OpenVPN. Подключаюсь через OpenVPN соединение. Скорость низкая - 8мегабит сюда 2мегабита туда. Конфиги пробовал все которые мог нагуглить.

Что «держит за я.ца» OpenVPN?

client
proto tcp
remote SERVER 443
dev tap
dhcp-option DNS 8.8.8.8
resolv-retry infinite
nobind
redirect-gateway def1
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
persist-tun
persist-key
verb 4
mute 20
win-sys 'env'
route-method exe
route-delay 2
proto tcp-server
dev tap0
port 443
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.10.10.0 255.255.255.0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/forwarding
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
iptables -I FORWARD -i tap0 -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tap0 -j ACCEPT
eth0      Link encap:Ethernet  HWaddr 04:01:07:94:2c:01
          inet addr:82.196.105.255  Bcast:82.196.150.255  Mask:255.255.255.0
          inet6 addr: fe80::601:7ff:fe94:2c01/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:529498 errors:0 dropped:0 overruns:0 frame:0
          TX packets:528381 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:435206959 (415.0 MiB)  TX bytes:439082448 (418.7 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.1.2.1  P-t-P:10.1.2.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1200  Metric:1
          RX packets:239923 errors:0 dropped:0 overruns:0 frame:0
          TX packets:287318 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:145476393 (138.7 MiB)  TX bytes:259030406 (247.0 MiB)

tap0      Link encap:Ethernet  HWaddr 5a:74:af:22:4a:11
          inet addr:10.10.10.1  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::5874:afff:fe22:4a11/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)


Последнее исправление: openvpn (всего исправлений: 2)

Основное ограничение — скорость шифрования, но т.к. там по умолчанию используется Бф-128, то скорость в 2 Мбит/с выглядит весьма подозрительно.

Deathstalker ★★★★★
()
Ответ на: комментарий от Deathstalker

конфиги добавил в шапку

конфиги добавил в шапку

openvpn
() автор топика
Ответ на: комментарий от Deathstalker

проблема на стороне клиента исключена, так как с этим конфигом-клиента с другими серварами все ок, скорость высокая. (специально брал тестовый доступ на hideme)

openvpn
() автор топика
Ответ на: комментарий от menzoberronzan

пробовал. конфиг клиента, который представлен выше - работает идеально с другими серверами, поэтому в нем менять ничего не нужно - udp и mtu отпадают автоматически.

openvpn
() автор топика
Ответ на: комментарий от openvpn

ifconfig показывает: ppp0 MTU:1200 tap0 MTU:1500

как в debian изменить, чтобы было так: tap0 MTU:1200 ?

openvpn
() автор топика
Ответ на: комментарий от Deathstalker

проблем локально на клиенте нет, так как через TAP-Win32 Adapter подключаюсь к другим серверам и скорость высокая.

openvpn
() автор топика
Ответ на: комментарий от Deathstalker

не буду, так как конфиг клиента работает нормально с другими серверам, и менять в нем ничего не нужно. я так думаю.

openvpn
() автор топика
Ответ на: комментарий от openvpn

Чтобы устранить проблему нужно понять её причины - что именно тормозит, поэтому пробуйте то, что вам советуют - переключать режимы работы и т.п.

Пинг до сервера большой? Больше, чем до тех, до которых хорошо работает?

Вообще, основная проблема openvpn в том, что весь трафик уходит в userspace, в отличии от всяких l2tp. Но что-то не очень похоже, что ваша проблема именно в этом.

srg666
()
Ответ на: комментарий от srg666

Огромное спасибо за ответы! Буду юзать L2TP-IPSec-VPN - скорость отличная!

openvpn
() автор топика

Для openvpn надо приоретизировать собственный трафик, т.к. происходит двойная инкапсуляция данных.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

если вам не сложно, объясните как это сделать. спасибо.

ps

1 Вариант (OpenVPN)

Ставлю чистый образ Debian 7.0 x64.

Устанавливаю OpenVPN apt-get install openvpn.

Конфиги (см. первом посте)

И скорости нет! (((

2 Вариант (xl2tpd)

Ставлю чистый образ Debian 7.0 x64.

Устанавливаю apt-get install openswan xl2tpd

Скорость 50 мегабит туда-обратно.

Как проверяю: Подключаюсь (xl2tpd)

Запускаю http://www.speedtest.net/

50 мегабит туда-обратно (от моего сервера до ближайшего)

отключаюсь от (xl2tpd)

Подключаюсь (OpenVPN)

Заново тест http://www.speedtest.net/

8-2 мегабит туда-обратно (от моего сервера до того же сервера)

Что и где настроить, чтобы по (OpenVPN) подключению была такая же скорость как по (xl2tpd)? спасибо.

openvpn
() автор топика
Ответ на: комментарий от Deathstalker

DES медленнее BlowFish

На моем 9450 кварде результаты

openssl speed des-cbc des-ede3 blowfish
Doing des cbc for 3s on 16 size blocks: 9588334 des cbc's in 2.99s
Doing des cbc for 3s on 64 size blocks: 2504469 des cbc's in 2.99s
Doing des cbc for 3s on 256 size blocks: 635018 des cbc's in 3.00s
Doing des cbc for 3s on 1024 size blocks: 159257 des cbc's in 2.99s
Doing des cbc for 3s on 8192 size blocks: 19940 des cbc's in 3.00s
Doing des ede3 for 3s on 16 size blocks: 3754432 des ede3's in 2.99s
Doing des ede3 for 3s on 64 size blocks: 957077 des ede3's in 2.99s
Doing des ede3 for 3s on 256 size blocks: 240620 des ede3's in 2.99s
Doing des ede3 for 3s on 1024 size blocks: 60182 des ede3's in 3.00s
Doing des ede3 for 3s on 8192 size blocks: 7534 des ede3's in 2.99s
Doing blowfish cbc for 3s on 16 size blocks: 17220544 blowfish cbc's in 2.99s
Doing blowfish cbc for 3s on 64 size blocks: 4632770 blowfish cbc's in 2.99s
Doing blowfish cbc for 3s on 256 size blocks: 1174248 blowfish cbc's in 2.99s
Doing blowfish cbc for 3s on 1024 size blocks: 294384 blowfish cbc's in 3.00s
Doing blowfish cbc for 3s on 8192 size blocks: 36929 blowfish cbc's in 2.99s
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon May 20 15:41:17 UTC 2013
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) 
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
des cbc          51308.81k    53607.36k    54188.20k    54541.53k    54449.49k
des ede3         20090.61k    20485.93k    20601.58k    20542.12k    20641.65k
blowfish cbc     92150.07k    99162.97k   100537.62k   100483.07k   101178.05k
kombrig ★★★
()
Последнее исправление: kombrig (всего исправлений: 1)
Ответ на: комментарий от openvpn

Покажите рабочие конфигами, на которых пропускная способность реально более 30-40 мбит.

openvpn
() автор топика
Ответ на: комментарий от openvpn

На винде, признаться не тестил. В линуксе выходит внутри канала ~50мбит/сек напрямую ~80 мбит/сек Мой рабочий конфиг сервера. Клиентский почти аналогичен - разберешься.

dev tap
proto udp
port $port

dh keys/srv/dh2048.pem
ca keys/srv/ca.crt
cert keys/srv/server.crt
key keys/srv/server.key
cipher BF-CBC

comp-lzo
log-append /var/log/openvpn.log
verb 2
daemon

server 192.168.251.0 255.255.255.0
push "redirect-gateway def1"
ifconfig-pool-persist ipp.txt
management 127.0.0.1 1234

tun-mtu 1500
fragment 1300
mssfix
fast-io

user nobody
group nogroup
persist-tun
persist-key
client-config-dir ccd
kombrig ★★★
()
Ответ на: комментарий от kombrig

спасибо.

зря время теряю и ваше отнимаю.

остаюсь на L2TP-IPSec.

буду надеяться, что кто-нибудь даст 100% решение по низкой скорости в OpenVPN.

openvpn
() автор топика
Ответ на: комментарий от openvpn

Покажи сначала результат тестирования канала через iperf.
Потом посмотри загрузку процессом впна процессора, на сервере и клиенте.

tazhate ★★★★★
()
Ответ на: комментарий от openvpn

Почему такой низкий результат ? 2.89 Mbits/sec

openvpn
() автор топика
Ответ на: комментарий от tazhate
top - 13:56:17 up 4 min,  1 user,  load average: 0.05, 0.01, 0.01
Tasks:  60 total,   1 running,  58 sleeping,   1 stopped,   0 zombie
%Cpu(s):  1.4 us,  1.0 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem:    508936 total,    79496 used,   429440 free,     8524 buffers
KiB Swap:        0 total,        0 used,        0 free,    37272 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 3020 root      20   0 22184 2424 1668 S   4.0  0.5   0:01.57 openvpn
 3051 root      20   0 23180 1516 1084 R   0.3  0.3   0:00.04 top
    1 root      20   0 10648  808  672 S   0.0  0.2   0:00.44 init
    2 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0.0  0.0   0:00.02 ksoftirqd/0
    4 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0
    5 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kworker/u:0
openvpn
() автор топика
Ответ на: комментарий от openvpn

при скачивании 500 мегабайтного файла

openvpn
() автор топика
Ответ на: комментарий от openvpn

а какие могут быть выводы? )

Впн не причем. У тебя реально такая скорость от клиента до сервера.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

тест показал 2.89 Mbits/sec при прямом соединении с сервером.

2.89 Mbits/sec при соединении с сервером через L2TP-IPSec-VPN.

2.89 Mbits/sec при соединении с сервером OpenVPN.

Но реально я могу заливать и скачивать на сервер по фтп на скорости 50 Mbits/sec.

wtf? )

openvpn
() автор топика
Ответ на: комментарий от openvpn

Но реально я могу заливать и скачивать на сервер по фтп на скорости 50 Mbits/sec.

То есть по фтп идет 50? ты уверен?

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

сейчас предоставлю полный расклад

истина где-то рядом ))

openvpn
() автор топика
Ответ на: комментарий от tazhate
Подключен сейчас по OpenVPN и все показания относятся к OpenVPN соединению.
Тест http://www.speedtest.net/: 7 прием - 1.5 мегабита отдача (от моего сервера до ближайшего, хотя реально должно быть в среднем 50 мегабит, по L2TP-IPSec-VPN именно 50 в среднем)

Скачиваю на комп http://download.cdn.yandex.net.cache-default05e.cdn.yandex.net/abbyy_yandex/LingvoYandexEdition.exe
Скорость примерно 600-700 Килобайт - все верно, совпадает с тестом выше. )
К сведению, без vpn-ов скорость закачки этого файла 9-10 МегаБАЙТ в секунду, по L2TP-IPSec-VPN 2.500 Kib/sec!

А здесь уже интересней:
Заливаю на сервер по фтп файл 1.4 Гига - скорость 5.017 Kib/sec!
Скачиваю с сервера по фтп файл 1.4 Гига - скорость 2.500 Kib/sec!

Как я понял из фтп-тестов, между мной и сервером по OpenVPN-тоннелю - проблем нет. )
Скорость режется где-то между tun0 и eth0, не? )

openvpn
() автор топика
Ответ на: комментарий от openvpn

Заливаю на сервер по фтп файл 1.4 Гига - скорость 5.017 Kib/sec!
Скачиваю с сервера по фтп файл 1.4 Гига - скорость 2.500 Kib/sec!

Ну и? 5.017 или все-таки 5000?

tazhate ★★★★★
()
Ответ на: комментарий от openvpn

Для понимания картины покажи iperf-ом

1. без vpn измеряем скорость туда-обратно
2. аналогично внутри Openvpn туннеля
3. и L2TP

kombrig ★★★
()
Ответ на: комментарий от openvpn

5.000-5.100 Kib/sec!
и что дает разница в 17 килобит? )

У тебя 5000 килобит или 5 килобит? Не надо точку ставить для целых чисел.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

повесил. все так же (

Может быть лог, что скажет...

Tue Oct 01 16:17:48 2013 us=781000 Initialization Sequence Completed
Tue Oct 01 16:18:52 2013 us=500000 Connection reset, restarting [0]
Tue Oct 01 16:18:52 2013 us=500000 TCP/UDP: Closing socket
Tue Oct 01 16:18:52 2013 us=500000 SIGUSR1[soft,connection-reset] received, process restarting
Tue Oct 01 16:18:52 2013 us=500000 Restart pause, 5 second(s)
Tue Oct 01 16:18:57 2013 us=500000 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Tue Oct 01 16:18:57 2013 us=500000 NOTE: --fast-io is disabled since we are running on Windows
Tue Oct 01 16:18:57 2013 us=500000 Re-using SSL/TLS context
Tue Oct 01 16:18:57 2013 us=500000 Control Channel MTU parms [ L:1543 D:140 EF:40 EB:0 ET:0 EL:0 ]
Tue Oct 01 16:18:57 2013 us=500000 Socket Buffers: R=[8192->8192] S=[8192->8192]
Tue Oct 01 16:18:57 2013 us=500000 Data Channel MTU parms [ L:1543 D:1400 EF:43 EB:4 ET:0 EL:0 ]
Tue Oct 01 16:18:57 2013 us=500000 Local Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_CLIENT,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
Tue Oct 01 16:18:57 2013 us=500000 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_SERVER,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
Tue Oct 01 16:18:57 2013 us=500000 Local Options hash (VER=V4): 'db02a8f8'
Tue Oct 01 16:18:57 2013 us=500000 Expected Remote Options hash (VER=V4): '7e068940'
Tue Oct 01 16:18:57 2013 us=500000 Attempting to establish TCP connection with SERVER IP:21
Tue Oct 01 16:18:57 2013 us=546000 TCP connection established with SERVER IP:21
Tue Oct 01 16:18:57 2013 us=546000 TCPv4_CLIENT link local: [undef]
Tue Oct 01 16:18:57 2013 us=546000 TCPv4_CLIENT link remote: SERVER IP:21
Tue Oct 01 16:18:57 2013 us=593000 TLS: Initial packet from SERVER IP:21, sid=e902473e 84ffa9d2
Tue Oct 01 16:18:58 2013 us=500000 VERIFY OK: depth=1, /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=Fort-Funston_CA/emailAddress=me@myhost.mydomain
Tue Oct 01 16:18:58 2013 us=500000 VERIFY OK: nsCertType=SERVER
Tue Oct 01 16:18:58 2013 us=500000 VERIFY OK: depth=0, /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=server/emailAddress=me@myhost.mydomain
Tue Oct 01 16:19:00 2013 us=328000 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Tue Oct 01 16:19:00 2013 us=328000 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Oct 01 16:19:00 2013 us=328000 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Tue Oct 01 16:19:00 2013 us=328000 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Oct 01 16:19:00 2013 us=328000 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Tue Oct 01 16:19:00 2013 us=328000 [server] Peer Connection Initiated with SERVER IP:21
Tue Oct 01 16:19:02 2013 us=656000 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Tue Oct 01 16:19:03 2013 us=31000 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway,route 10.10.10.1,topology net30,ping 10,ping-restart 20,ifconfig 10.10.10.6 10.10.10.5'
Tue Oct 01 16:19:03 2013 us=31000 OPTIONS IMPORT: timers and/or timeouts modified
Tue Oct 01 16:19:03 2013 us=31000 OPTIONS IMPORT: --ifconfig/up options modified
Tue Oct 01 16:19:03 2013 us=31000 OPTIONS IMPORT: route options modified
Tue Oct 01 16:19:03 2013 us=31000 Preserving previous TUN/TAP instance: Подключение по локальной сети 2
Tue Oct 01 16:19:03 2013 us=31000 Initialization Sequence Completed
openvpn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.