LINUX.ORG.RU
ФорумAdmin

Низкая скорость по каналу OpenVPN


0

2

я вроде бы как не одинок так как сталкивался с вопросами на эту тему, все из найденного перепробовал но скорость не увеличилась.

И так.

Есть три узла между которыми подняты openVPN простенький конфиг со статическим ключем. Проблема с одним из узлов. Если я мерию скорость между ним и любым другим без vpn то получаю около 3 мбит/сек что вроде как соответствует скорости заявленной провайдером а через vpn? скорость 0.6-0.7 Мбит/сек Скорость замеряю iperf, wget, ftp.

конфиг сервера:

dev tun0
port 6004
remote xxx.yyy.zzz.nnn
daemon
proto udp
fast-io
tun-mtu 1496
ifconfig 10.1.15.1 10.1.15.2
secret /etc/openvpn/key.txt

Конфиг клиента:

dev tun3
port 6004
dev tun3
ifconfig 10.1.15.2 10.1.15.1
secret /etc/openvpn/key.txt
daemon
verb 3

Пробовал и tcp и udp толку нет никакого,пробовал и fast-io и tun-mtu нет толку. Думал что комп у меня не тянет, старый зубр 12 летний, поменял на новый резервный, но картина не улучшилась. провайдер поднимал временно скорость до 10 мбит, через VPN скорость соответсвенно увеличилась но так же он скорости интернет соединения далека.

Посоветуйте коллеги в какую сторону копать

★★★★

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

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

В файрволле нужен протокол esp, gre и да, порт udp/500.

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

Нет такого у меня:

ipsec statusall
/usr/sbin/ipsec: unknown IPsec command `statusall' (`ipsec --help' for list)

Help кажет

 ipsec --help
Usage: ipsec command argument ...
where command is one of:
        addconn
        auto
        barf
        eroute
        ikeping
        klipsdebug
        look
        newhostkey
        pf_key
        pluto
        policy
        ranbits
        rsasigkey
        secrets
        setup
        showdefaults
        showhostkey
        spi
        spigrp
        tncfg
        verify
        whack


 ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.37/K3.3.5-2.fc16.i686.PAE (netkey)
Checking for IPsec support in kernel                            [OK]
 SAref kernel support                                           [N/A]
 NETKEY:  Testing XFRM related proc values                      [FAILED]

  Please disable /proc/sys/net/ipv4/conf/*/send_redirects
  or NETKEY will cause the sending of bogus ICMP redirects!

        [FAILED]

  Please disable /proc/sys/net/ipv4/conf/*/accept_redirects
  or NETKEY will accept bogus ICMP redirects!

        [OK]
Checking that pluto is running                                  [FAILED]
  whack: Pluto is not running (no «/var/run/pluto/pluto.ctl»)
Two or more interfaces found, checking IP forwarding            [FAILED]
  whack: Pluto is not running (no «/var/run/pluto/pluto.ctl»)
Checking NAT and MASQUERADEing                                  [OK]
Checking for 'ip' command                                       [OK]
Checking /bin/sh is not /bin/dash                               [WARNING]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]
  can not load config '/etc/ipsec.conf': /etc/ipsec.conf:24: syntax error, unexp                                             ected STRING [mobike]

alex_sim ★★★★
() автор топика
Последнее исправление: alex_sim (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Да у меня какая то помесь, я уже понял

и то и другое, и конфиг в другом месте. У меня Федора 16

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

А у strongswan нет понятия сервер клиент?

Кто подключается и к кому подключается.

вроде работает strongswan но пингануть не могу, в фаерволе все вроде открыл и пробовал вообще опускать его.

strongswan statusall
000 Status of IKEv1 pluto daemon (strongSwan 4.6.4):
000 interface lo/lo ::1:500
000 interface lo/lo 127.0.0.1:500
000 interface p33p1/p33p1 ***.***.12.32:500
000 interface p1p1/p1p1 172.16.15.100:500
000 interface tun0/tun0 10.1.15.1:500
000 interface tun1/tun1 10.1.10.2:500
000 interface gre0/gre0 192.168.0.2:500
000 %myid = '%any'
000 loaded plugins: aes des sha1 sha2 md5 random x509 pkcs1 pkcs8 pgp dnskey pem gmp hmac xauth attr kernel-netlink resolve
000 debug options: none
000
Status of IKEv2 charon daemon (strongSwan 4.6.4):
  uptime: 7 minutes, since Mar 06 12:59:25 2014
  malloc: sbrk 135168, mmap 0, used 79368, free 55800
  worker threads: 8 of 16 idle, 7/1/0/0 working, job queue: 0/0/0/0, scheduled: 1
  loaded plugins: aes des sha1 sha2 md5 random x509 revocation constraints pubkey pkcs1 pkcs8 pgp pem fips-prf gmp xcbc cmac hmac attr kernel-netlink resolve socket-raw stroke updown
Listening IP addresses:
  ***.***.12.32
  172.16.15.100
  10.1.15.1
  10.1.10.2
  192.168.0.2
Connections:
       zavod:  ***.***.12.32...***.***.3.118, dpddelay=60s
       zavod:   local:  [***.***.12.32] uses pre-shared key authentication
       zavod:   remote: [***.***.3.118] uses any authentication
       zavod:   child:  dynamic === dynamic TRANSPORT, dpdaction=restart
Security Associations (1 up, 0 connecting):
       zavod[1]: CONNECTING, ***.***.12.32[***.***.12.32]...***.***.3.118[***.***.3.118]
       zavod[1]: IKE SPIs: 19b874b1da9ec033_i* b8756a48d5048971_r
       zavod[1]: IKE proposal: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
       zavod[1]: Tasks active: IKE_CERT_PRE IKE_AUTHENTICATE IKE_CERT_POST IKE_CONFIG CHILD_CREATE IKE_AUTH_LIFETIME IKE_MOBIKE

Ну и Security Associations (1 up, 0 connecting)

alex_sim ★★★★
() автор топика
Ответ на: А у strongswan нет понятия сервер клиент? от alex_sim

У тебя оно, судя по всему, не поднялось. Должно быть примерно так:

Connections:
        simf:  10.184.16.88...10.184.8.88, dpddelay=60s
        simf:   local:  [10.184.16.88] uses pre-shared key authentication
        simf:   remote: [10.184.8.88] uses any authentication
        simf:   child:  dynamic === dynamic TRANSPORT, dpdaction=restart
Security Associations (1 up, 0 connecting):
        simf[362]: ESTABLISHED 2 hours ago, 10.184.16.88[10.184.16.88]...10.184.8.88[10.184.8.88]
        simf[362]: IKE SPIs: 78ee4a6d3c016580_i 51065dfc7bf1dbe8_r*, pre-shared key reauthentication in 3 hours
        simf[362]: IKE proposal: AES_GCM_16_256/PRF_HMAC_SHA2_512/MODP_4096
        simf{362}:  INSTALLED, TRANSPORT, ESP SPIs: cd59d9cb_i c9ec6970_o, IPCOMP CPIs: 420a_i 1fc5_o
        simf{362}:  AES_GCM_8_128, 6846818502 bytes_i (0s ago), 144910216 bytes_o (0s ago), rekeying in 5 minutes
        simf{362}:   10.184.16.88/32 === 10.184.8.88/32
Попробуй для начала между твоими IP адресами файрволл полностью открыть.

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

пробовал фаервол опускать совсем с обоих сторон

ничего не поменялось. Вечером еще попробую

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

А разве подключемся не по белым IP адресам?

вот смотрю у Вас:

Connections:
        simf:  10.184.16.88...10.184.8.88, dpddelay=60s

Это же серые адреса, а у меня left right это белые.

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

у меня пропадет связь между моими внеiними ip и openVPN соответсвенно

Когда strongswan status показывает:

Security Associations (2 up, 0 connecting):
       zavod[1]: CONNECTING, ***.***.3.118[***.***.3.118]...***.***.12.32[***.***.12.32]
       zavod[7]: ESTABLISHED 3 seconds ago, ***.***.3.118[***.***.3.118]...***.***.12.32[***.***.12.32]
       zavod{12}:  INSTALLED, TRANSPORT, ESP SPIs: c53ccb17_i cc3302b5_o, IPCOMP CPIs: 710f_i 410a_o
       zavod{12}:   ***.***.3.118/32 === ***.***.12.32/32

Устанвилась связь между моими белыми ipшниками, но это же как то не правильно, я для этого поднял gre0 с одной стороны 192.168.0.1 с другой 192.168.0.2 тут про них ни слова

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

Понятно тогда...

ну так судя по status strongswan вроде бы поднялся, но пинги между моими внешними хостами перестают ходить и openvpn тоже не работает пока на удаленной стороне не опущу strongswan

alex_sim ★★★★
() автор топика

IPSEC в транспортном режиме делает одну вещь - шифрует передачу данных между ДВУМЯ ip-адресами.

Причем делает это прозрачно - никакой софт, работающий в пространстве пользователя этого не замечает, всё происходит в ядре.

Ни на какой роутинг и т.п. это тоже никак не влияет - для этого есть GRE и т.п.

Посмотреть это можно тцпдампом, например:

# tcpdump -i eth0.2 -n 'host 10.184.8.88'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0.2, link-type EN10MB (Ethernet), capture size 65535 bytes
12:01:03.578011 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1e8), length 1432
12:01:03.578022 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1e9), length 1432
12:01:03.578051 IP 10.184.16.88 > 10.184.8.88: ESP(spi=0xc3b10ef4,seq=0x32cde), length 84
12:01:03.578225 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1ea), length 1432
12:01:03.578530 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1eb), length 1432
12:01:03.578600 IP 10.184.16.88 > 10.184.8.88: ESP(spi=0xc3b10ef4,seq=0x32cdf), length 84
12:01:03.579076 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1ec), length 1432
12:01:03.579085 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1ed), length 1432
12:01:03.579152 IP 10.184.16.88 > 10.184.8.88: ESP(spi=0xc3b10ef4,seq=0x32ce0), length 84
12:01:03.581743 IP 10.184.8.88 > 10.184.16.88: ESP(spi=0xc4136a82,seq=0x5d1ee), length 188
Видно, что между хостами траффик бегает только в виде шифрованых ESP-пакетов.

Если у тебя что-то не работает, то проблема скорее всего либо в том, что провайдер блокирует проколо ESP или в чем-то подобном.

Погляди у себя в tcpdump ходят ли такие пакеты.

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

Почему этого быть не должно????

zavod[1]: CONNECTING, ***.***.3.118[***.***.3.118]...***.***.12.32[***.***.12.32]

связь между моими внешними IP ( которые я тоже от врагов немного затер) првда когда она работает.... у меня перестает все работать.

Ну не может же у меня быть такой противный провайдер которы и скорость режет и ESP блокирует? Вроде бы провайдет не должен нас ничем обраничивать на то он и провайдер.

Попробую с другой стороной поднять....с которой у меня и скорость нормальная

alex_sim ★★★★
() автор топика
Последнее исправление: alex_sim (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Вот с другим хостом зацепился.

и tcpdump показал щифрование. правда пришлось опять фаервол опускать ненадолго

правил iptables таких недостаточно?

/sbin/iptables -A OUTPUT -p esp -j ACCEPT
/sbin/iptables -A INPUT  -p esp  -j ACCEPT
/sbin/iptables -A FORWARD  -p esp  -j ACCEPT

/sbin/iptables -A OUTPUT -p ah -j ACCEPT
/sbin/iptables -A INPUT  -p ah  -j ACCEPT
/sbin/iptables -A FORWARD -p ah  -j ACCEPT

/sbin/iptables -A INPUT -m tcp -p tcp --dport 500 -j ACCEPT
/sbin/iptables -A INPUT -m tcp -p tcp --sport 500 -j ACCEPT
/sbin/iptables -A OUTPUT -m tcp -p tcp --sport 500 -j ACCEPT
/sbin/iptables -A OUTPUT -m tcp -p tcp --dport 500 -j ACCEPT
/sbin/iptables -A INPUT -m udp -p udp --dport 500 -j ACCEPT
/sbin/iptables -A INPUT -m udp -p udp --sport 500 -j ACCEPT
/sbin/iptables -A OUTPUT -m udp -p udp --sport 500 -j ACCEPT
/sbin/iptables -A OUTPUT -m udp -p udp --dport 500 -j ACCEPT

gre у меня открыт выше, но перепроверю.

alex_sim ★★★★
() автор топика
Последнее исправление: alex_sim (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Да, это железобетонное правило!

Взял навооружение, между своими хостами надо прописать везде!

strongswan поднялся и tcpdump показывает что трафик между хостами шифруется.

В боях за это, я уже забыл для чего все это было инициировано :) Теперь надо как то связать две мои сетки по этому шифрованному каналу.

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

Это?

ip tunnel add gre0 remote 2.2.2.2 local 1.1.1.1 ttl 64
ip address add dev gre0 192.168.0.1 peer 192.168.0.2
ip link set dev gre0 mtu 1400 up

gre0 то давно болтаются с обоих сторон

alex_sim ★★★★
() автор топика
Ответ на: Это? от alex_sim

Да, оно. Просто теперь траффик через эти интерфейсы будет шифрован стронгсваном чтобы враг не прочитал.

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

Я понял почему у меня падал openVpn и переставали ходить пинги между внешними ip

Фаервол не давал! Как только поднимался ipsec (а он поднимался) весь трафик заворачивался через внешние Ip - соответственно и OpenVpn. В правилах iptables чего то не хватало. После того как я прописал ваше железобетонное правило... у меня поднялись все ipsec между всеми 3 моими точками. Мало того у меня работают все vpn через ipsec (я все перепроверил tcpdump- ом!!!!)

Ну про скорость я пока боюсь говорить гоп, но она стала адекватной на VPN а на внешних ip так вообще зашкаливает... не знаю iperf врет или действительно за счет сжатия... кроме проверил большим файлом стянув его wget-ом

Вообщем понаблюдаю.... сейчас коллега мой 1С ник тянет архив гига полтора (софтина по расписанию)... завтра у него поинтересуюсь.

Спасибо еще раз за помошь и терпение!

alex_sim ★★★★
() автор топика

Если провайдер что-то режет на каких-то портах, то включение IPSEC делает весь траффик для провайдера непонятным (только пакеты с типом ESP и больше ничего) поэтому возможно шейпинг у провайдера и не срабатывает.

не знаю iperf врет или действительно за счет сжатия... кроме проверил большим файлом стянув его wget-ом

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

blind_oracle ★★★★★
()
17 апреля 2014 г.
Ответ на: комментарий от blind_oracle

Поработал какое то время со strongswan

вроде все было в порядке, но вот несколько раз подряд он стал подвисать, с удаленной сеткой. Там сейчас активно тает, подключение ADSL (залитые колодцы) видимо связь часто рвется и в какой то момент все просто перестает работать до перезапуска strongswan причем насколько я заметил с другой стороны. Как с этим бороться нет мыслей?

в конфигах dpdaction=restart

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