Задача: Как настроить L2TP подключение из под Ubuntu 18.04 Desktop к домашней сети где в качестве роутера используется Mikrotik RB2012UiAS-2HnD с развернутым сервисом: PPPL2TP Server.

Просто я к сожалению когда работал на Ubuntu Trusty Desktop так и не смог настроить L2TP подключение и использовал PPTP подключение. Читал что это не безопасно, но с учетом того как в меня все дома настроена я не беспокоился.

А тут я уже давным давно перешел на другой долговременный релиз UbuntuUbuntu 18.04 Desktop в качестве домашней системы. И просматривая свои заметки на этот счет на меня накинулось, что есть не завершенная часть настройки удаленного подключения, может в этой системе все сложится удачно.

И вот теперь я разбираю новую заметку которая мне понадобится, но сперва создаю стенд под Virtualbox на основной системе: Lenovo E555 Ubuntu 18.04 Desktop, где в наличии две виртуальные машины.

Одна: Mikrotik x86 (с поднятым сервисом L2TP Server поднятым по заметке с двумя интерфейсами: eth1 — смотрит в интернет (172.33.33.34), eth2 — смотрит в локальную сеть

  • Login для подключения через L2TP: l2tp_user1
  • Password для подключения через L2TP: Aa1234567
  • IPSec phrase: 612mbddr@

Вторая: Ubuntu 18.04 Desktop (eth1 (172.33.33.26) — смотрит в интернет))

На второй системе проделываю:

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

Если перейти в Настройки, они же «Параметры» (значок с изображением отвертки и гаечного ключа) из правого верхнего угла, затем перейти на элемент «Сеть», щелкнуть на плюсик у VPN, то можно заметить что в системе присутствует только один вид настройки удаленного подключения — это “Туннельный протокол типа точка-точка (PPTP)”. Вот только мне не это нужно. Чтобы это дело исправить нужно:

ekzorchik@srv-bionic:~$ apt-cache search network-manager-l2tp

network-manager-l2tp - network management framework (L2TP plugin core)

network-manager-l2tp-gnome - network management framework (L2TP plugin GNOME GUI)

ekzorchik@srv-bionic:~$ sudo apt-get install network-manager-l2tp-gnome -y

Затем закрыть «Настройки» и заново дойти до VPN меню и нажать плюсик будет доступно новое подключение: «Layer 2 Tunneling Protocol (L2TP)» выбираю его.

Вкладка «Идентификация» окна «Добавить VPN»

  • Название: home
  • Шлюз: 172.33.33.34
  • Имя пользователя: l2tp_user1
  • Пароль: Aa1234567 (здесь же нажимаю на восклицательный знак в ромбе и выбираю «Запомнить пароль только для этого пользователя»

затем нажимаю «Настройки Ipsec»

  • Enable Ipsec tunnel to L2TP host: отмечаю галочкой
  • Pre-shared key: 612mbddr@
  • Phase1 Algorithms: 3des-sha1-modp1024
  • Phase2 Algorithms: 3des-sha1

и нажимаю кнопку OKДобавить (окна «Добавить VPN»), затем нужно указать пароль для разблокировки связки ключей (это пароль при использовании команды sudo для текущего пользователя, в моем случае он совпадает с паролем (712mbddr@) от учетной записи ekzorchik текущей системы) и нажимаю «Разблокировать».

Вот теперь если в настроенного VPN подключения передвинуть бегунок в положение «Включено» должно произойти подключение к L2TP Server развернутому на Mikrotik. Но обычно все сразу не начинает работать как и планируется и следует углубиться в детали почему. В логах на Mikrotik наблюдаю вот такие вот сообщения:

Ошибки при установлении соединения через L2TPага, проблемы со второй фазой аутентификации, это либо то что передает Ubuntu 18.04 Desktop, либо на Mikrotik. Когда все было поправлено, то на Mikrotik станет видно активное VPN соединение:
winbox — IP&DNS:PORT — user&pass — PPP — вкладка Active ConnectionsУспешно активное L2TP+IPsec соединение с Ubuntu Bionic к Mikrotik

Отлично, раз работает в лабораторных условиях, то будет и работать на боевых условиях.
Для справки приведу полный конфиг настроенного Mikrotik в этой заметки:
winbox — IP&DNS:PORT — user&pass — New Terminal

[admin@MikroTik] > export
# aug/25/2018 19:41:58 by RouterOS 6.42.5
# software id = Z4W6-YUUQ
#
#
#
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec policy group
add name=ipsec_policy_group1
/ip ipsec proposal
add enc-algorithms=3des name=l2tp_proposal
/ip pool
add name=l2tp_pool ranges=192.168.199.1-192.168.199.10
add name=dhcp_pool1 ranges=10.10.10.2-10.10.10.254
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=ether2 name=dhcp1
/ppp profile
add change-tcp-mss=yes local-address=192.168.199.1 name=l2tp_profile \
remote-address=l2tp_pool use-compression=yes use-encryption=yes use-ipv6=\
no
/tool user-manager customer
set admin access=\
own-routers,own-users,own-profiles,own-limits,config-payment-gw
/interface l2tp-server server
set authentication=mschap2 enabled=yes ipsec-secret=866%sacred.77 use-ipsec=\
yes
/ip address
add address=10.10.10.1/24 interface=ether2 network=10.10.10.0
/ip dhcp-client
add dhcp-options=hostname,clientid disabled=no interface=ether1
/ip dhcp-server network
add address=10.10.10.0/24 gateway=10.10.10.1
/ip firewall filter
add action=accept chain=input port=1701,500,4500 protocol=udp
add action=accept chain=input protocol=ipsec-esp
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=\
192.168.199.0/24
add action=masquerade chain=srcnat src-address=10.10.10.0/24
/ip ipsec policy
set 0 proposal=l2tp_proposal
/ppp secret
add name=l2tp_user1 password=Aa1234567 profile=l2tp_profile service=l2tp
#error exporting /routing pim
#error exporting /routing rip
#error exporting /routing ripng
/system lcd
set contrast=0 enabled=no port=parallel type=24x4
/system lcd page
set time disabled=yes display-time=5s
set resources disabled=yes display-time=5s
set uptime disabled=yes display-time=5s
set packets disabled=yes display-time=5s
set bits disabled=yes display-time=5s
set version disabled=yes display-time=5s
set identity disabled=yes display-time=5s
set ether1 disabled=yes display-time=5s
set ether2 disabled=yes display-time=5s
set <l2tp-l2tp_user1> disabled=yes display-time=5s
/tool user-manager database
set db-path=user-manager

На заметку: если настраиваете с нуля Mikrotik то можно под каждую задачу подготовить скрипт настройки, но предварительно убрав из него строки отмеченные символом комментария («#»).

Итого заметка работоспособна. С уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru