LINUX.ORG.RU
ФорумAdmin

l2tp + ipsec проблемы :(

 , ,


0

1

Здраствуйте уважаемые.

В общем есть задача выхода в инет через VPN на разных устройствах, изучив вопрос пришел к выводу что мне необходим l2tp+ipsec

Купил впс, на борту Ubuntu 14.04, нашел скрипт автоматической установки l2tp+ipsec (https://gist.github.com/hwdsl2/9030462).Выполнил его и получил настроенный сервер. Но возникло несколько проблем:

1. На Android-x все работает (т.е. есть удаленный интернет), но каждые пару мин рвется соединение. 2. На Mac-х соединение устанавливается (тоже рвется каждые пару мин), но отсутсвует интернет. 3. Из под Windows вообще не удается подключится, выдает 809 ошибку, хотя пинг до сервера есть.

В общем подскажите, в чем может быть проблема, уже 2-е сутки пытаюсь побороть, но не хватает опыта. Заранее спасибо.


изучив вопрос пришел к выводу что мне необходим l2tp+ipsec

Озвучь аргументацию, интересно, что тебя привело к такому решению.

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

Наличие изкоробочного клиента в большинстве систем, надо полагать.

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

Озвучь аргументацию, интересно, что тебя привело к такому решению.

Как написал thesis, наличие коробочного клиента.

Нам плевать на конфиги, ведь мы телепаты.

Конфиги полностью отсюда, изменений пока не вносил.

А причину разрыва соединения нужно искать в логах.

вот кусок syslog-a, если нужны другие постараюсь приложить.

Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: Connection established to 188.231.222.14, 45964.  Local: 47534, Remote: 20304 (ref=0/0).  LNS session is 'default'
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: start_pppd: I'm running: 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "/usr/sbin/pppd" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "passive" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "nodetach" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "192.168.42.1:192.168.42.10" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "refuse-pap" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "auth" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "require-chap" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "name" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "l2tpd" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "file" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "/etc/ppp/options.xl2tpd" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: "/dev/pts/1" 
Mar 17 07:25:39 31-131-25-154 xl2tpd[1400]: Call established with 188.231.222.14, Local: 41652, Remote: 50184, Serial: -1998516984
Mar 17 07:25:39 31-131-25-154 pppd[1740]: pppd 2.4.5 started by root, uid 0
Mar 17 07:25:39 31-131-25-154 pppd[1740]: Using interface ppp0
Mar 17 07:25:39 31-131-25-154 pppd[1740]: Connect: ppp0 <--> /dev/pts/1
Mar 17 07:25:39 31-131-25-154 pppd[1740]: local  IP address 192.168.42.1
Mar 17 07:25:39 31-131-25-154 pppd[1740]: remote IP address 192.168.42.10
Mar 17 07:25:40 31-131-25-154 ntpd[1595]: Listen normally on 4 ppp0 192.168.42.1 UDP 123
Mar 17 07:25:40 31-131-25-154 ntpd[1595]: peers refreshed
Mar 17 07:25:40 31-131-25-154 ntpd[1595]: new interface(s) found: waking up resolver
Mar 17 07:26:44 31-131-25-154 xl2tpd[1400]: Maximum retries exceeded for tunnel 47534.  Closing.
Mar 17 07:26:44 31-131-25-154 xl2tpd[1400]: Terminating pppd: sending TERM signal to pid 1740
Mar 17 07:26:44 31-131-25-154 xl2tpd[1400]: Connection 20304 closed to 188.231.222.14, port 45964 (Timeout)
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Terminating on signal 15
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Modem hangup
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Connect time 1.1 minutes.
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Sent 84720 bytes, received 6904 bytes.
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Connection terminated.
Mar 17 07:26:44 31-131-25-154 pppd[1740]: Exit.
xstya
() автор топика
Ответ на: комментарий от xstya

Это лог подключения андройда или мака?

Для адройда рекомендуют xl2tpd версии 1.3.6, у вас такая?

P.S. Как бы это странно не звучало, но здесь форум древовидной структуры, поэтому нужно отвечать на каждое сообщение отдельно. Так что сначала вы поступили правильно, и не нужно было удалять свой ответ и писать один большой с цитатами. Нужно было написать три отдельных ответа, тогда каждому бы пришло по уведомлению и ветки бы продолжались независимо.

mky ★★★★★
()
Ответ на: комментарий от post-factum

Как написал thesis, наличие коробочного клиента.

xstya
() автор топика
Ответ на: комментарий от mky
# xl2tpd --version
xl2tpd version: xl2tpd-1.3.6

Выше лог для андройда.

Вот лог с маком

Mar 17 10:29:18 31-131-25-154 xl2tpd[1400]: control_finish: Peer requested tunnel 16 twice, ignoring second one.
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: Connection established to 188.231.222.14, 61076. Local: 32999, Remote: 16 (ref=0/0). LNS session is 'default'
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: start_pppd: I'm running: 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «/usr/sbin/pppd» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «passive» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «nodetach» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «192.168.42.1:192.168.42.10» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «refuse-pap» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «auth» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «require-chap» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «name» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «l2tpd» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «file» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «/etc/ppp/options.xl2tpd» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: «/dev/pts/1» 
Mar 17 10:29:19 31-131-25-154 xl2tpd[1400]: Call established with 188.231.222.14, Local: 37046, Remote: 1380, Serial: 1
Mar 17 10:29:19 31-131-25-154 pppd[3331]: pppd 2.4.5 started by root, uid 0
Mar 17 10:29:19 31-131-25-154 pppd[3331]: Using interface ppp0
Mar 17 10:29:19 31-131-25-154 pppd[3331]: Connect: ppp0 <--> /dev/pts/1
Mar 17 10:29:19 31-131-25-154 pppd[3331]: local IP address 192.168.42.1
Mar 17 10:29:19 31-131-25-154 pppd[3331]: remote IP address 192.168.42.10
Mar 17 10:29:20 31-131-25-154 ntpd[1595]: Listen normally on 6 ppp0 192.168.42.1 UDP 123
Mar 17 10:29:20 31-131-25-154 ntpd[1595]: peers refreshed
Mar 17 10:29:20 31-131-25-154 ntpd[1595]: new interface(s) found: waking up resolver
Mar 17 10:30:24 31-131-25-154 xl2tpd[1400]: Maximum retries exceeded for tunnel 32999. Closing.
Mar 17 10:30:24 31-131-25-154 xl2tpd[1400]: Terminating pppd: sending TERM signal to pid 3331
Mar 17 10:30:24 31-131-25-154 xl2tpd[1400]: Connection 16 closed to 188.231.222.14, port 61076 (Timeout)
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Terminating on signal 15
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Modem hangup
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Connect time 1.1 minutes.
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Sent 1986 bytes, received 1351 bytes.
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Connection terminated.
Mar 17 10:30:24 31-131-25-154 pppd[3331]: Exit.
Mar 17 10:30:25 31-131-25-154 xl2tpd[1400]: get_call: can't find call 37046 in tunnel 32999#012 (ref=0/0)
Mar 17 10:30:25 31-131-25-154 ntpd[1595]: Deleting interface #6 ppp0, 192.168.42.1#123, interface stats: received=0, sent=0, dropped=0, active_time=65 secs
Mar 17 10:30:25 31-131-25-154 ntpd[1595]: peers refreshed
Mar 17 10:30:26 31-131-25-154 xl2tpd[1400]: result_code_avp: result code endianness fix for buggy Apple client. network=256, le=1
Mar 17 10:30:26 31-131-25-154 xl2tpd[1400]: control_finish: Connection closed to 188.231.222.14, port 61076 (Time), Local: 32999, Remote: 16

P.S. Как бы это странно не звучало, но здесь форум древовидной структуры, поэтому нужно отвечать на каждое сообщение отдельно. Так что сначала вы поступили правильно, и не нужно было удалять свой ответ и писать один большой с цитатами. Нужно было написать три отдельных ответа, тогда каждому бы пришло по уведомлению и ветки бы продолжались независимо.

Понял, ответил еще раз каждому.

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

Попробуйте добавить ″nodefaultroute″ в /etc/ppp/xl2tpd-options.

Надеюсь, вы не пытаетесь установить одновременно соедиение с андройда и с мака (два соединение с адреса 188.231.222.14)?

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

Пробовал поочердно.

Сегодня прочитал о том что openswan работает по UDP и в случае потери пакета рвет соединение. После попал на работу и как оказалось соединение работало в разы дольше, хотя тоже рвалось. Подскажите как можно оценить качество канала на UDP пакетах.

Так же остается загадкой, почему при подключении с мобилки(ios и андроид) интернет есть а при подключении с мака интернета нет.

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

На сервере включить udp echo службу (отредактировать /etc/xinetd.d/echo-dgram и перезапустить xinetd), открыть порт 7, запросы отправлять программой echoping.

Отправлять большие udp пакеты ″echoping -u -t 1000″, другие опции по вкусу.

Ещё можно с помощью ″iperf -c″ отправлять по udp (опция -u) заданное кол-во байт (опция -n) с заданной скорости (опция -b), а на сервере iperf покажет кол-во потерятных пакетов.

Но, потери udp должны быть достаточно большие, чтобы рвался ipsec. Попробуйте ещё с linux-клиента поднять l2tp.

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

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

вот что дал iperf

./iperf -u -n 10m -p 65005 -c 31.131.25.103 -l 1024
------------------------------------------------------------
Client connecting to 31.131.25.103, UDP port 65005
Sending 1024 byte datagrams
UDP buffer size: 9.00 KByte (default)
------------------------------------------------------------
[  4] local 192.168.10.4 port 53944 connected with 31.131.25.103 port 65005
^C[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-19.8 sec  2.48 MBytes  1.05 Mbits/sec
[  4] Sent 2537 datagrams
[  4] Server Report:
[  4]  0.0-19.8 sec  2.48 MBytes  1.05 Mbits/sec   1.841 ms    1/ 2536 (0.039%)
[  4]  0.0-19.8 sec  13 datagrams received out-of-order

вот так выглядит это на сервере

[  3] local 31.131.25.103 port 65005 connected with 188.231.222.14 port 53944
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec   128 KBytes  1.05 Mbits/sec   3.106 ms    2/  128 (1.6%)
[  3]  0.0- 1.0 sec  2 datagrams received out-of-order
[  3]  1.0- 2.0 sec   126 KBytes  1.03 Mbits/sec   1.276 ms    1/  127 (0.79%)
[  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec   1.919 ms    0/  128 (0%)
[  3]  3.0- 4.0 sec   128 KBytes  1.05 Mbits/sec   2.243 ms    1/  128 (0.78%)
[  3]  3.0- 4.0 sec  1 datagrams received out-of-order
[  3]  4.0- 5.0 sec   128 KBytes  1.05 Mbits/sec   1.027 ms    0/  128 (0%)
[  3]  5.0- 6.0 sec   128 KBytes  1.05 Mbits/sec   2.555 ms    6/  128 (4.7%)
[  3]  5.0- 6.0 sec  6 datagrams received out-of-order
[  3]  6.0- 7.0 sec   128 KBytes  1.05 Mbits/sec   1.314 ms    0/  128 (0%)
[  3]  7.0- 8.0 sec   128 KBytes  1.05 Mbits/sec   1.322 ms    0/  128 (0%)
[  3]  8.0- 9.0 sec   129 KBytes  1.06 Mbits/sec   1.350 ms    0/  129 (0%)
[  3]  9.0-10.0 sec   127 KBytes  1.04 Mbits/sec   1.887 ms    0/  127 (0%)
[  3] 10.0-11.0 sec   128 KBytes  1.05 Mbits/sec   1.358 ms    0/  128 (0%)
[  3] 11.0-12.0 sec   129 KBytes  1.06 Mbits/sec   2.125 ms    0/  129 (0%)
[  3] 12.0-13.0 sec   127 KBytes  1.04 Mbits/sec   1.502 ms    0/  127 (0%)
[  3] 13.0-14.0 sec   126 KBytes  1.03 Mbits/sec   1.329 ms    0/  126 (0%)
[  3] 14.0-15.0 sec   130 KBytes  1.06 Mbits/sec   4.933 ms    2/  130 (1.5%)
[  3] 14.0-15.0 sec  2 datagrams received out-of-order
[  3] 15.0-16.0 sec   128 KBytes  1.05 Mbits/sec   1.274 ms    1/  129 (0.78%)
[  3] 16.0-17.0 sec   127 KBytes  1.04 Mbits/sec   1.089 ms    0/  127 (0%)
[  3] 17.0-18.0 sec   128 KBytes  1.05 Mbits/sec   2.390 ms    1/  128 (0.78%)
[  3] 17.0-18.0 sec  1 datagrams received out-of-order
[  3] 18.0-19.0 sec   129 KBytes  1.06 Mbits/sec   1.370 ms    0/  129 (0%)
[  3]  0.0-19.8 sec  2.48 MBytes  1.05 Mbits/sec   1.842 ms    1/ 2536 (0.039%)
[  3]  0.0-19.8 sec  13 datagrams received out-of-order

Пакеты побольше

./iperf -u -n 10m -p 65005 -c 31.131.25.103 -l 5000
------------------------------------------------------------
Client connecting to 31.131.25.103, UDP port 65005
Sending 5000 byte datagrams
UDP buffer size: 9.00 KByte (default)
------------------------------------------------------------
[  4] local 192.168.10.4 port 57152 connected with 31.131.25.103 port 65005
^C[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-27.5 sec  3.43 MBytes  1.05 Mbits/sec
[  4] Sent 720 datagrams
[  4] Server Report:
[  4]  0.0-27.5 sec  1.01 MBytes   307 Kbits/sec   2.603 ms    2/  720 (0.28%)

На сервере

[  3] local 31.131.25.103 port 65005 connected with 188.231.222.14 port 57152
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  37.3 KBytes   306 Kbits/sec   0.927 ms    0/   26 (0%)
[  3]  1.0- 2.0 sec  35.9 KBytes   294 Kbits/sec   1.326 ms    1/   26 (3.8%)
[  3]  2.0- 3.0 sec  37.3 KBytes   306 Kbits/sec   2.920 ms    0/   26 (0%)
[  3]  3.0- 4.0 sec  37.3 KBytes   306 Kbits/sec   2.800 ms    0/   26 (0%)
[  3]  4.0- 5.0 sec  38.8 KBytes   318 Kbits/sec   2.936 ms    0/   27 (0%)
[  3]  5.0- 6.0 sec  37.3 KBytes   306 Kbits/sec   4.960 ms    0/   26 (0%)
[  3]  6.0- 7.0 sec  37.3 KBytes   306 Kbits/sec   1.949 ms    0/   26 (0%)
[  3]  7.0- 8.0 sec  37.3 KBytes   306 Kbits/sec   2.193 ms    0/   26 (0%)
[  3]  8.0- 9.0 sec  37.3 KBytes   306 Kbits/sec   1.620 ms    0/   26 (0%)
[  3]  9.0-10.0 sec  38.8 KBytes   318 Kbits/sec   2.236 ms    0/   27 (0%)
[  3] 10.0-11.0 sec  37.3 KBytes   306 Kbits/sec   5.797 ms    0/   26 (0%)
[  3] 11.0-12.0 sec  37.3 KBytes   306 Kbits/sec   3.009 ms    0/   26 (0%)
[  3] 12.0-13.0 sec  37.3 KBytes   306 Kbits/sec   2.169 ms    0/   26 (0%)
[  3] 13.0-14.0 sec  38.8 KBytes   318 Kbits/sec   3.426 ms    0/   27 (0%)
[  3] 14.0-15.0 sec  37.3 KBytes   306 Kbits/sec   1.419 ms    0/   26 (0%)
[  3] 15.0-16.0 sec  37.3 KBytes   306 Kbits/sec   5.793 ms    0/   26 (0%)
[  3] 16.0-17.0 sec  35.9 KBytes   294 Kbits/sec   3.460 ms    1/   26 (3.8%)
[  3] 17.0-18.0 sec  37.3 KBytes   306 Kbits/sec   2.106 ms    0/   26 (0%)
[  3] 18.0-19.0 sec  38.8 KBytes   318 Kbits/sec   1.401 ms    0/   27 (0%)
[  3] 19.0-20.0 sec  37.3 KBytes   306 Kbits/sec   1.849 ms    0/   26 (0%)
[  3] 20.0-21.0 sec  37.3 KBytes   306 Kbits/sec   6.301 ms    0/   26 (0%)
[  3] 21.0-22.0 sec  37.3 KBytes   306 Kbits/sec   9.105 ms    0/   26 (0%)
[  3] 22.0-23.0 sec  37.3 KBytes   306 Kbits/sec   5.354 ms    0/   26 (0%)
[  3] 23.0-24.0 sec  38.8 KBytes   318 Kbits/sec   1.760 ms    0/   27 (0%)
[  3] 24.0-25.0 sec  37.3 KBytes   306 Kbits/sec   1.582 ms    0/   26 (0%)
[  3] 25.0-26.0 sec  37.3 KBytes   306 Kbits/sec   1.549 ms    0/   26 (0%)
[  3] 26.0-27.0 sec  37.3 KBytes   306 Kbits/sec   2.991 ms    0/   26 (0%)
[  3]  0.0-27.5 sec  1.01 MBytes   307 Kbits/sec   2.604 ms    2/  720 (0.28%)

Я так понимаю что проблема все таки в потерях, подскажите есть ли вариант стабильного L2TP тунеля на tcp?

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

Сегодня прочитал о том что openswan работает по UDP и в случае потери пакета рвет соединение.

  • Я использовал libreswan и strongswan. Они слегка отличаются фичами, но оба отлично работают с iphone/mac/android. Остановился на libreswan.
  • Не заметил, чтобы ipsec падал при потере пакетов. Когда я блокирую все UDP пакеты в iptables - отваливается только l2tp туннель через минуту или две.
anonymous
()
Ответ на: комментарий от xstya

Потери пакетов у вас незначительные. ipsec разрываться от этого не должен. Разве что попробовать запустить iperf на порту 4500, может там всё по другому.

По tcp, из распространённых VPN, умеет работать openvpn, попробуйте, может заработает.

Или попробуйте помедитировать на дебугом xl2tpd. Откомментируете строки с debug в ″/etc/xl2tpd/xl2tpd.conf″. Добавьте в ″/etc/ipsec.conf″ после ″dumpdir″ строки:

plutostderrlog=/tmp/pluto.log
plutodebug = "control  natt"

Сделайте одно подключение с адройда, дождитесь разрыва и смотрите логи. Не знаю, будет ли что интерестное в этой куче текста, но, если выкладывать, то лучше не на форум, а на pastebin.com.

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