Jump to content
  • Announcements

    • Как правильно добавить self-test и прочую отладку в тему   08/18/2016

      self-test и логи могут содержать непубличную информацию, потому их не стоит прикреплять к постам бездумно. Однако, слать селф-тесты в личку абсолютно неправильно, поскольку это усложняет координацию между разработчиками и отрывает диагностику от темы с проблемой. Потому следует делать так: Пишете пост или создаете тему с описанием проблемы. Сразу после этого в этой же теме создаете сообщение с приложенным self-test, логами и прочей отладкой. В это же сообщение добавляете ссылку на предыдущее, чтобы не приходилось искать описание. Скрываете сообщение с отладкой. Эта функция доступна всем юзерам. Выбираете в меню поста (спасибо @KorDen):

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

L2TP/IPsec сервер

38 posts in this topic

Итак, в ветке 2.11 был реализован L2TP/IPsec сервер. На данный момент его настройка осуществляется только из CLI, потому здесь будет приведен список команд для желающих настроить и попробовать.

Конфиг CLI:

access-list VPNL2TPIPsecServer
    permit udp 0.0.0.0 0.0.0.0 port eq 1701 0.0.0.0 0.0.0.0
! 
crypto ike key VPNL2TPIPsecServer l2tpipsecvpn any
crypto ike proposal VPNL2TPIPsecServer
    encryption 3des
    encryption des
    encryption aes-cbc-128
    encryption aes-cbc-256
    dh-group 2
    dh-group 1
    dh-group 14
    integrity sha1
    integrity md5
!
crypto ike policy VPNL2TPIPsecServer
    proposal VPNL2TPIPsecServer
    lifetime 28800
    mode ikev1
    negotiation-mode main
!
crypto ipsec transform-set VPNL2TPIPsecServer
    cypher esp-aes-128
    cypher esp-3des
    cypher esp-des
    hmac esp-sha1-hmac
    hmac esp-md5-hmac
    lifetime 28800
!
crypto ipsec profile VPNL2TPIPsecServer
    dpd-interval 30
    dpd-clear
    identity-local address 0.0.0.0
    match-identity-remote any
    authentication-local pre-share
    mode transport
    policy VPNL2TPIPsecServer
!
crypto map VPNL2TPIPsecServer
    set-peer any
    set-profile VPNL2TPIPsecServer
    set-transform VPNL2TPIPsecServer
    match-address VPNL2TPIPsecServer
    set-tcpmss pmtu
    nail-up
    no reauth-passive
    virtual-ip no enable
    l2tp-server range 172.16.2.33 172.16.2.43
    l2tp-server interface Home
    l2tp-server nat
    l2tp-server multi-login
    l2tp-server lcp echo 30 3
    l2tp-server enable
    enable
!

При этом "Общий ключ PSK" равен l2tpipsecvpn, настроен пул из 10 адресов, привязка к интерфейсу Home, включен NAT для доступа в Интернет и разрешено несколько подключений для одного и того же пользователя.

В целом настройки полностью повторяют функционал стандартного PPTP VPN-сервера.
Не забудьте добавить пользователей и установить им тег ipsec-l2tp, чтобы они могли коннектится к серверу!

 

PS: Проверена совместимость с Windows XP, 7, 10, Android, iOS и macOS. Везде использовались стандартные средства. Однако возможны разные странности в работе, поскольку это только первый релиз. Жду self-test'ов и описания ситуации, если что-то не работает.

PS2: Да, перед настройкой удалите все настроенные IPsec соединения, иначе могут быть разные глюки. Хотя совместимость с Virtual IP и другими туннелями в теории есть, ее нужно _специально_ готовить. Это все будет учтено в версии, которая будет настраиваться из Web, а пока лучше не рисковать.

  • Thanks 3
  • Upvote 6

Share this post


Link to post
Share on other sites

@Le ecureuil Первый репорт, пока без селфтеста

если создать l2tp сервер и он будет единственным ipsec соединением(как вы и рекомендовали) то ipsec служба сама не запускается. Если же есть кроме l2tp еще какое-нибудь ipsec подключение то служба запускается и l2tp сервер становится доступен

поверял на start2

По возможности сделаю  селф познее. 

Edited by r13
  • Thanks 1

Share this post


Link to post
Share on other sites
11 час назад, r13 сказал:

@Le ecureuil Первый репорт, пока без селфтеста

если создать l2tp сервер и он будет единственным ipsec соединением(как вы и рекомендовали) то ipsec служба сама не запускается. Если же есть кроме l2tp еще какое-нибудь ipsec подключение то служба запускается и l2tp сервер становится доступен

поверял на start2

По возможности сделаю  селф познее. 

А service ipsec выполнен?

Share this post


Link to post
Share on other sites
44 минуты назад, Le ecureuil сказал:

А service ipsec выполнен?

Насильно нет, с некоторых пор же оно само запускается(после того как выключатель из веб пропал) после обеда скину селфтест. 

Share this post


Link to post
Share on other sites
34 минуты назад, r13 сказал:

Насильно нет, с некоторых пор же оно само запускается(после того как выключатель из веб пропал) после обеда скину селфтест. 

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

Просто сейчас Web сам ее шлет без отдельной галки, потому и кажется, что стало "само".

Share this post


Link to post
Share on other sites
35 минут назад, Le ecureuil сказал:

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

Просто сейчас Web сам ее шлет без отдельной галки, потому и кажется, что стало "само".

Ок, ясно. 

Share this post


Link to post
Share on other sites

@Le ecureuil

Start2 2.11.A.1.0-0 + ios 10.3.3

Периодически при соединении подобный лог:

Скрытый текст
Sep 10 19:53:07ipsec
10[CFG] configured proposals: ESP:AES_CBC=256/HMAC_SHA1_96/#/#/NO_EXT_SEQ, ESP:AES_CBC=128/HMAC_SHA1_96/#/#/NO_EXT_SEQ
Sep 10 19:53:07ipsec
10[CFG] selected proposal: ESP:AES_CBC=256/HMAC_SHA1_96/#/#/NO_EXT_SEQ
Sep 10 19:53:07ipsec
10[IKE] received 3600s lifetime, configured 28800s
Sep 10 19:53:07ipsec
10[IKE] received 0 lifebytes, configured 21474836480
Sep 10 19:53:07accel-ppp
l2tp: new tunnel 30972-9 created following reception of SCCRQ from 192.168.1.34:60470
Sep 10 19:53:07accel-ppp
l2tp tunnel 30972-9 (192.168.1.34:60470): impossible to process the send queue: sending packet 0 failed
Sep 10 19:53:07accel-ppp
l2tp tunnel 30972-9 (192.168.1.34:60470): impossible to send SCCRP: transmitting messages from send queue failed
Sep 10 19:53:07ipsec
13[IKE] CHILD_SA VPNL2TPIPsecServer{2} established with SPIs c4a093f2_i 02fc312e_o and TS 192.168.1.104/32[udp/l2tp] === 192.168.1.34/32[udp/60470]
Sep 10 19:53:07ndm
IpSec::Configurator: crypto map "VPNL2TPIPsecServer" is up.
Sep 10 19:53:07ndm
IpSec::Configurator: IPsec connection to L2TP/IPsec server from "192.168.1.34" is established.
Sep 10 19:53:07ndm
IpSec::IpSecNetfilter: start reloading netfilter configuration...
Sep 10 19:53:08ndm
IpSec::IpSecNetfilter: netfilter configuration reloading is done.
Sep 10 19:53:08accel-ppp
l2tp: new tunnel 33212-9 created following reception of SCCRQ from 192.168.1.34:60470
Sep 10 19:53:08accel-ppp
l2tp tunnel 33212-9 (192.168.1.34:60470): established at 192.168.1.104:1701
Sep 10 19:53:08accel-ppp
l2tp tunnel 33212-9 (192.168.1.34:60470): new session 43382-8065 created following reception of ICRQ

я так понимаю l2tp запускается раньше поднятия ipsec и получается ошибка:

Sep 10 19:53:07accel-ppp
l2tp: new tunnel 30972-9 created following reception of SCCRQ from 192.168.1.34:60470
Sep 10 19:53:07accel-ppp
l2tp tunnel 30972-9 (192.168.1.34:60470): impossible to process the send queue: sending packet 0 failed
Sep 10 19:53:07accel-ppp
l2tp tunnel 30972-9 (192.168.1.34:60470): impossible to send SCCRP: transmitting messages from send queue failed

Далее l2tp пересоздается и все корректно работает:

Sep 10 19:53:08accel-ppp
l2tp: new tunnel 33212-9 created following reception of SCCRQ from 192.168.1.34:60470
Sep 10 19:53:08accel-ppp
l2tp tunnel 33212-9 (192.168.1.34:60470): established at 192.168.1.104:1701
Sep 10 19:53:08accel-ppp
l2tp tunnel 33212-9 (192.168.1.34:60470): new session 43382-8065 created following reception of ICRQ

селф далее.

 

Edited by r13
  • Thanks 1

Share this post


Link to post
Share on other sites

2all Iphone не сбрасывает l2tp ipsec туннель при уходе в сон в отличие от подключения посредством virtual-ip, так что есть весомый плюс для перехода на этот тип подключения :-D

Share this post


Link to post
Share on other sites

@Le ecureuil Feature Request на будущее: привязка ip адресов к клиентам, по аналогии с pptp сервером.

UPD: А, все нашел(работает), уже есть оказывается. спасибо.

Edited by r13
  • Upvote 1

Share this post


Link to post
Share on other sites
В 08.09.2017 в 18:11, Le ecureuil сказал:

включен NAT для доступа в Интернет

Дайте конфиг без NAT, чтобы у сервера и клиента были разные внешние ip. 

По результатам тестирования для младшеньких это лучший VPN. Работает не только лучше обычного IPsec, но и даже лучше PPTP. Перехожу с IPsec Virtual IP на L2TP.

Share this post


Link to post
Share on other sites
2 часа назад, Кинетиковод сказал:

Дайте конфиг без NAT, чтобы у сервера и клиента были разные внешние ip. 

По результатам тестирования для младшеньких это лучший VPN. Работает не только лучше обычного IPsec, но и даже лучше PPTP. Перехожу с IPsec Virtual IP на L2TP.

>> crypto map VPNL2TPIPsecServer no l2tp-server nat

Share this post


Link to post
Share on other sites
1 час назад, Le ecureuil сказал:

>> crypto map VPNL2TPIPsecServer no l2tp-server nat

Не работает. Роутер говорит, что "SNAT is disabled", но клиент всё-равно получает ip сервера. system configuration save не забыл. 

  • Thanks 1

Share this post


Link to post
Share on other sites

Обнаружил странную особенность работы сервера. Каждый раз при подключении клиента, сервер даёт новый адрес на единицу больше, чем было при прошлом подключении, как бы перебирая всё подряд. При этом хоть пул в настройках и задан в диапазоне 172.16.2.33-172.16.2.43 сервер после адреса 43 продолжает выдавать следующие адреса 44, 45 и т.д.

Такое ощущение, что сервер не понимает, что клиент уже отключился и освободил адрес и каждое подключение воспринимает, как нового клиента выдавая ему очередной по счёту адрес. 

После перезагрузки роутера счётчик обнуляется и начинается новый отсчёт с 33 адреса. 

  • Thanks 1

Share this post


Link to post
Share on other sites

@Le ecureuil Почему при rekey приходящем  с удаленной стороны не сбрасывается счетчик на кинетике?

Примеры в селфе 23:32 - 23:43

и 01:42 - 1:54

И еще вопрос, зачем IPSec/L2TP клиент участвует в выборе IPSec на совместимость? Я думал это относится только к "серверам"?

Share this post


Link to post
Share on other sites
1 минуту назад, r13 сказал:

@Le ecureuil Почему при rekey приходящем  с удаленной стороны не сбрасывается счетчик на кинетике?

Примеры в селфе 23:32 - 23:43

и 01:42 - 1:54

И еще вопрос, зачем IPSec/L2TP клиент участвует в выборе IPSec на совместимость? Я думал это относится только к "серверам"?

Понятие "сервер" и "клиент" в IPsec немного неверное, обе стороны вообще говоря равноправны. Скорее их нужно называть "инициатор" и "ответчик". Именно поэтому в IKEv1 мы не можем сказать, к какому именно соединению пришел ответный IKE-пакет, и это  определяется перебором с небольшой эвристикой, которая не всегда правильно (и не всегда может из-за недостатка информации) срабатывает.

  • Thanks 1

Share this post


Link to post
Share on other sites
4 минуты назад, r13 сказал:

@Le ecureuil Почему при rekey приходящем  с удаленной стороны не сбрасывается счетчик на кинетике?

Примеры в селфе 23:32 - 23:43

и 01:42 - 1:54

И еще вопрос, зачем IPSec/L2TP клиент участвует в выборе IPSec на совместимость? Я думал это относится только к "серверам"?

Какой именно счетчик? Счетчик CHILD_SA в {X}? Так он и не должен.

Share this post


Link to post
Share on other sites
Только что, Le ecureuil сказал:

Какой именно счетчик? Счетчик CHILD_SA в {X}? Так он и не должен.

Счетчик rekey interval

Share this post


Link to post
Share on other sites
1 минуту назад, r13 сказал:

Счетчик rekey interval

Серверная сторона настроена так, чтобы не инициировать rekey сама, но отвечает на него.

Share this post


Link to post
Share on other sites
Только что, Le ecureuil сказал:

Серверная сторона настроена так, чтобы не инициировать rekey сама, но отвечает на него.

В перечисленных мной временных интервалах в время первое это rekey инициированный клиентом(23:32), 2е rekey инициированный сервером через час после соединения 23:43(rekey interval 3600)

Или я что то не допонял?

Share this post


Link to post
Share on other sites

В 23-44 strongswan обнаруживает, что пора бы инициировать rekey самому, но так как настроен этого не делать, то тупо удаляет устаревшие SA и отправляет об этом отчет другой стороне без инициирования rekey (а новые SA уже есть от rekey в 23-32, потому это происходит безболезненно). Весь rekey и вся реаутентификация управляются полностью пожеланиями инициатора.

  • Thanks 1

Share this post


Link to post
Share on other sites
29 минут назад, ICMP сказал:

А какая тут скорость?

Померяйте, похвалитесь нам)

Share this post


Link to post
Share on other sites
2 часа назад, ICMP сказал:

Это L3 или все же L2?

 

L3. Полный аналог PPTP с точки зрения энкапсуляции.

Share this post


Link to post
Share on other sites

@Le ecureuil А вэб для L2TP/IPsec сервера будет?

  • Upvote 1

Share this post


Link to post
Share on other sites
14 часа назад, T@rkus сказал:

@Le ecureuil А вэб для L2TP/IPsec сервера будет?

Конечно, сейчас в разработке.

  • Upvote 1

Share this post


Link to post
Share on other sites
В 9/12/2017 в 01:45, Кинетиковод сказал:

Обнаружил странную особенность работы сервера. Каждый раз при подключении клиента, сервер даёт новый адрес на единицу больше, чем было при прошлом подключении, как бы перебирая всё подряд. При этом хоть пул в настройках и задан в диапазоне 172.16.2.33-172.16.2.43 сервер после адреса 43 продолжает выдавать следующие адреса 44, 45 и т.д.

Такое ощущение, что сервер не понимает, что клиент уже отключился и освободил адрес и каждое подключение воспринимает, как нового клиента выдавая ему очередной по счёту адрес. 

После перезагрузки роутера счётчик обнуляется и начинается новый отсчёт с 33 адреса. 

Поправлено.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
В 9/12/2017 в 00:04, Кинетиковод сказал:

Не работает. Роутер говорит, что "SNAT is disabled", но клиент всё-равно получает ip сервера. system configuration save не забыл. 

Поправлено. Теперь работает.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites

В версию 2.10 может добавите L2TP/IPsec сервер ? ...пока 2.10 ещё бета-тестирование проходит? ....нуууу пжжжалуйста

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×