LINUX.ORG.RU
ФорумAdmin

При использовании OpenVPN на CentOS7, скорость соединения падает до 1-10Mbit вместо 100Mbit

 ,


0

4

Всем привет!

Имеется OpenVPN на VPS с CentOS7, через него в нет выходят мобильные клиенты. При прямом подключении, без OpenVPN, скорость 100Mbit: Client -> ISP -> Internet. А при использовании OpenVPN от 1 до 10Mbit: Client -> ISP -> OpenVPN -> Internet. Загрузка CPU на сервере < 7%, канал у сервера 1Gbit down/300Mbit up. Исходящих канал, через который выходят клиенты, свободен - мониторил активность на WAN в Mikrotik. Писал в поддержку хостера - прислали такой ответ:

Download: 27.99 Mbit/s Upload: 8.03 Mbit/s

As I can see you are using VPN connection on your server. 5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500 link/none inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0

[root@/]# ip r

10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 169.254.0.0/16 dev venet0 scope link metric 1002 default dev venet0 scope link

[root@/]# cat /proc/sys/net/ipv4/ip_forward

Please disable tun interface, ip forwarding and run ~/speedtest-cli to see if issue is related to your VPN.

По моим замерам через Speedtest с сервера аналогичные результаты: 28 down/8 up. Подскажите, пожалуйста, куда копать?



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

Загрузка CPU на сервере < 7%

Суммарно или по каждому ядру? Может у тебя там ядер 16 и одно из них в потолок загружено.

Pinkbyte ★★★★★
()

По моим замерам через Speedtest с сервера аналогичные результаты: 28 down/8 up.

Не совсем понял. С сервера ovpn такая скорость? Если да, то и пинайте прова.

anc ★★★★★
()

Может это какой-нибудь PPPOe, в настойках!??

anonymous
()

На OpenVPN сервере и клиенте крутили размер буфера UDP сокета (UDP, надеюсь, используете, да?).

Увеличьте net.core.rmem_max и net.core.wmem_max. Также Установите значения в конфиге клиента и сервера равным тем, что поставили в sysctl. Параметры sndbuf и rcvbuf.

Переполнения буфера можно через nstat анализировать.

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

Суммарно или по каждому ядру? Может у тебя там ядер 16 и одно из них в потолок загружено.

Там 1 ядро) Проблема точно не в CPU.

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

Не совсем понял. С сервера ovpn такая скорость? Если да, то и пинайте прова.

С сервера напрямую, без OpenVPN: VPS -> Internet

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

Если да, то и пинайте прова.

Хостер вот так отвертелся:

Please disable tun interface, ip forwarding

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

На OpenVPN сервере и клиенте крутили размер буфера UDP сокета (UDP, надеюсь, используете, да?).

Да, использую UDP, размер буфера не крутил. Тут нюанс в том, что напрямую с VPS в Internet скорость низкая и, как результат, OpenVPN затыкается.

nstat (тэг cut для спойлера почему-то не работает с code)

#kernel
IpInReceives                    396068638          0.0
IpInHdrErrors                   94                 0.0
IpForwDatagrams                 277735433          0.0
IpInDelivers                    116724518          0.0
IpOutRequests                   456481570          0.0
IpOutNoRoutes                   36                 0.0
IpReasmReqds                    83                 0.0
IpReasmOKs                      30                 0.0
IpFragOKs                       107976             0.0
IpFragCreates                   215975             0.0
IcmpInErrors                    272271             0.0
IcmpInDestUnreachs              31                 0.0
IcmpInTimeExcds                 272154             0.0
IcmpInParmProbs                 113                0.0
IcmpInTimestamps                4                  0.0
IcmpOutErrors                   153040             0.0
IcmpOutTimeExcds                152943             0.0
IcmpOutParmProbs                93                 0.0
IcmpOutEchoReps                 4                  0.0
IcmpMsgInType0                  4                  0.0
IcmpMsgInType3                  272154             0.0
IcmpMsgInType11                 113                0.0
IcmpMsgOutType3                 152943             0.0
IcmpMsgOutType8                 4                  0.0
IcmpMsgOutType11                93                 0.0
TcpActiveOpens                  376414             0.0
TcpPassiveOpens                 18825              0.0
TcpAttemptFails                 349198             0.0
TcpEstabResets                  192                0.0
TcpInSegs                       4131701            0.0
TcpOutSegs                      2124153            0.0
TcpRetransSegs                  209                0.0
TcpOutRsts                      350359             0.0
UdpInDatagrams                  112094071          0.0
UdpNoPorts                      164316             0.0
UdpInErrors                     20298              0.0
UdpOutDatagrams                 176468735          0.0
TcpExtSyncookiesFailed          1                  0.0
TcpExtEmbryonicRsts             1                  0.0
TcpExtLockDroppedIcmps          1                  0.0
TcpExtTW                        25388              0.0
TcpExtDelayedACKs               40973              0.0
TcpExtDelayedACKLocked          10                 0.0
TcpExtDelayedACKLost            1120               0.0
TcpExtTCPPrequeued              87673              0.0
TcpExtTCPDirectCopyFromBacklog  104734020          0.0
TcpExtTCPDirectCopyFromPrequeue 298597953          0.0
TcpExtTCPHPHits                 1158821            0.0
TcpExtTCPHPHitsToUser           265248             0.0
TcpExtTCPPureAcks               80389              0.0
TcpExtTCPHPAcks                 180010             0.0
TcpExtTCPSackRecovery           8                  0.0
TcpExtTCPSACKReorder            8                  0.0
TcpExtTCPTSReorder              4                  0.0
TcpExtTCPFullUndo               6                  0.0
TcpExtTCPPartialUndo            114                0.0
TcpExtTCPDSACKUndo              6                  0.0
TcpExtTCPLossUndo               14                 0.0
TcpExtTCPFastRetrans            52                 0.0
TcpExtTCPForwardRetrans         64                 0.0
TcpExtTCPSlowStartRetrans       4                  0.0
TcpExtTCPTimeouts               39                 0.0
TcpExtTCPSchedulerFailed        20                 0.0
TcpExtTCPDSACKOldSent           1121               0.0
TcpExtTCPDSACKRecv              63                 0.0
TcpExtTCPAbortOnData            304                0.0
TcpExtTCPAbortOnClose           91                 0.0
TcpExtTCPAbortOnTimeout         9                  0.0
TcpExtTCPDSACKIgnoredNoUndo     26                 0.0
TcpExtTCPSackShiftFallback      896                0.0
TcpExtTCPBacklogDrop            8                  0.0
TcpExtTCPOFOQueue               14130              0.0
TcpExtTCPChallengeACK           2                  0.0
TcpExtTCPFromZeroWindowAdv      60                 0.0
TcpExtTCPToZeroWindowAdv        60                 0.0
TcpExtTCPWantZeroWindowAdv      126                0.0
IpExtInBcastPkts                400                0.0
IpExtInOctets                   225807450697       0.0
IpExtOutOctets                  413604134073       0.0
IpExtInBcastOctets              35334              0.0

nstat после запуска speedtest клиенте OpenVPN - получилось 30Mbit down/20Mbit up:

#kernel
IpInReceives                    140478             0.0
IpInHdrErrors                   6                  0.0
IpForwDatagrams                 98428              0.0
IpInDelivers                    42029              0.0
IpOutRequests                   155252             0.0
IcmpInErrors                    1                  0.0
IcmpInTimeExcds                 1                  0.0
IcmpOutErrors                   15                 0.0
IcmpOutTimeExcds                9                  0.0
IcmpOutParmProbs                6                  0.0
IcmpMsgInType3                  1                  0.0
IcmpMsgOutType3                 9                  0.0
IcmpMsgOutType11                6                  0.0
TcpActiveOpens                  4                  0.0
TcpAttemptFails                 4                  0.0
TcpInSegs                       15                 0.0
TcpOutSegs                      14                 0.0
TcpOutRsts                      4                  0.0
UdpInDatagrams                  42004              0.0
UdpNoPorts                      9                  0.0
UdpOutDatagrams                 56795              0.0
TcpExtTCPHPHits                 1                  0.0
TcpExtTCPPureAcks               3                  0.0
TcpExtTCPHPAcks                 1                  0.0
IpExtInOctets                   145447498          0.0
IpExtOutOctets                  158686526          0.0
JohnnyW
() автор топика

Снес OpenVPN, сделал ipv4.ip_forward=0 - скорость не изменилась - написал хостеру.

P.S. Может ли iptables как-то влиять на скорость?

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

Wget на VPS дает 135Мбайт/с из NL, 33Мбайт/с из US, 56Мбайт/с при скачивании образа Ubuntu:

# wget -O /dev/null http://mirror.nl.leaseweb.net/speedtest/1000mb.bin 100%[========================================================>] 1,000,000,000 135MB/s in 7.4s

# wget -O /dev/null http://mirror.us.leaseweb.net/speedtest/1000mb.bin 100%[========================================================>] 1,000,000,000 33.0MB/s in 32s

# wget -O /dev/null http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso 100%[========================================================>] 1,587,609,600 56.5MB/s in 28s

2017-11-01 14:11:40 (54.4 MB/s) - '/dev/null' saved [1587609600/1587609600]

При этом Speedtest на VPS дает вот такие показатели:

# ~/speedtest-cli Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by 23media GmbH (Frankfurt) [0.00 km]: 169.505 ms Testing download speed................................................................................ Download: 18.42 Mbit/s Testing upload speed................................................................................................ Upload: 6.29 Mbit/s

Тот же образ Ubuntu на клиенте через OpenVPN тянется макс 1,5Мбайт/с...

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

Так, похоже, косяк вот тут: в конфиге сервера и клиентов указано

sndbuf 0
rcvbuf 0

В логе с клиента на Win7 вижу такое:

Socket Buffers: R=[8192->8192] S=[8192->8192]

В логе клиента на iOS про Buffer ничего.

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

Увеличьте net.core.rmem_max и net.core.wmem_max.

# sysctl -w net.core.rmem_max=524288 sysctl: permission denied on key 'net.core.rmem_max' 
# sysctl -w net.core.wmem_max=524288 sysctl: permission denied on key 'net.core.wmem_max'

Это под рутом такое.

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

# sysctl -w net.core.rmem_max=524288 sysctl: permission denied on key 'net.core.rmem_max' # sysctl -w net.core.wmem_max=524288 sysctl: permission denied on key 'net.core.wmem_max'

На VPS не поменять, т.к. под OpenVZ.

Изменил в server.conf

sndbuf 524288
rcvbuf 524288
push «sndbuf 524288»
push «rcvbuf 524288»

Образ Ubuntu теперь тянет под 4Мбайт/с (вместо 1-1,5Мбайт/с) и, походу, упирается не понятно во что на VPS (когда там запускаю Speedtest, то тоже получается в районе 4Мбайт/с).

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

Ну, я рад, что поднялась.

Если нужно реально узнать, что не так со скоростью, я советую запустить iperf3, а, предварительно, внимательно прочитать man к нему, между VPS и локацией, в Интернет подключении которой вы уверены. Т.е. никаких Wi-Fi, ADSL и прочей мишуры.

«Никак нельзя серьёзно воспринимать результаты speedtest.net», - после 3х лет работы в крупнейшем провайдере могу я с уверенностью заявить.

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

Плюсую ipref. И в интернете достаточно публичных серверов для тестирования этим самым ipref.

Medar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.