Плагин L2TP для NetworkManager

UPD: Сейчас поддержкой и разработкой плагина я не занимаюсь, т.к. перестал сам им пользоваться. Но его разработкой продолжили заниматься тут. Где взять новые DEB пакеты я не знаю, возможно их не существует вообще.

TL;DR: теперь подключаться к L2TP VPN можно через NetworkManager.

Допилил сегодня плагин для Network Manager с поддержкой L2TP. Поддерживает VPN через L2TP и, теоретически, L2TP через IPSec.
Я проверял на “beeline домашний интернет” (http://help.internet.beeline.ru/internet/install/windows7/l2tp) и в общем-то для этого его и взялся дорабатывать. В принципе, можно даже озаглавить статью типа “Настройка beeline l2tp vpn через NetworkManager“.

Установка

Можно установить из PPA:
https://launchpad.net/~seriy-pr/+archive/network-manager-l2tp

sudo apt-add-repository ppa:seriy-pr/network-manager-l2tp
sudo apt-get update
sudo apt-get install network-manager-l2tp-gnome

* Если первая команда не сработает, нужно сперва сделать sudo apt-get install python-software-properties
После установки настоятельно рекомендую выполнить

sudo service xl2tpd stop
sudo update-rc.d xl2tpd disable

После этого можно будет создать новое VPN подключение “Layer 2 Tunnelling Protocol (L2TP)” (см. скриншот).
Напомню как:

  1. Кликаем по иконке NM в трее
  2. Выбираем “Изменить соединения”
  3. Открываем вкладку VPN
  4. Жмем “Добавить”
  5. В выпадающем списке выбираем “Layer 2 Tunnelling Protocol (L2TP)” жмем создать
  6. Дальше уже заполняем окно с настройками для нового соединения

Можно сразу попасть на 5-й пункт если запустить в консоли nm-connection-editor --type=vpn --create

Если что-то не работает

Можете пожаловаться мне. Делать это следует так:
Сперва выполняем команды lsb_release -a и uname -a и отправляем мне что они напечатают.
В идеале прикладывайте еще ссылку на инструкцию вашего провайдера по настройке VPN для Windows.
Дальше в зависимости от того какая возникла проблема:

Не устанавливается пакет

Присылайте вывод команды
apt-cache policy network-manager-l2tp
Ну и какую ошибку пишет при установке.

Не получается Добавить новое VPN подключение

Имеется в виду что пакет установился, но при попытке создать и настроить новое VPN подключение возникают проблемы (нет пункта “Layer 2 Tunnelling Protocol (L2TP)” или программа вылетает или не сохраняются настройки).
В консоли запускаете команду
nm-connection-editor --type=vpn --create
И пробуете добавить и настроить новое подключение. Присылайте что напечатает в консоль и опишите саму проблему конечно же.

При попытке подключения происходят ошибки

Открываете 2 консоли, в одной запускаете

sudo /usr/lib/NetworkManager/nm-l2tp-service --debug

в другой

tail -f -n 0 /var/log/syslog

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

На компьютере, куда я хочу установить плагин нет интернета.

Есть скрипт на Python, который умеет выкачивать deb пакеты с плагином и всеми зависимостями.
На компьютере с интернетом окрываете эту ссылку https://gist.github.com/3029495, копируете код в файл, называете его, например, l2tp-downloader.py.
Далее, если компьютер с интернетом на Linux, то просто запускаете этот файл в консоли командой python l2tp-downloader.py и отвечаете на вопросы.
Если компьютер под Windows, нужно скачать и установить Python 2.7 с сайта http://python.org/ и с его помощью запустить скрипт.
После того как скрипт отработает, он создаст .tar архив, в котором будут лежать все зависимости и файл README с инструкцией по установке.

Работает ли плагин на KDE?

Плагин состоит из 2-х частей: независимый от интерфейса “бэкенд” и интерфейс для Gnome. Интерфейса под KDE я не делал. Но независимые разработчики недавно выпустили универсальный интерфейс для KDE панели plasma [1][2]. Проект новый, так что присутствует пока не во всех дистрибутивах, но в 2014 году должен постепенно появиться (запланирован в Ubuntu 14.04, Fedora 20). Пакет в репозиториях называется plasma-nm. Если plasma-nm у вас установлен, всё равно нужно “доставить” бэкенд-часть, например так:

sudo apt-add-repository ppa:seriy-pr/network-manager-l2tp
sudo apt-get update
sudo apt-get install network-manager-l2tp

Т.е. нужно установить пакет network-manager-l2tp (не network-manager-l2tp-gnome!!!).

Альтернативные GUI программы для подключения к L2TP VPN в Linux

Если этот плагин почему то так у вас и не заработал, можете попробовать одну из следующих GUI-программ (к слову, все эти L2TP-GUI, в т.ч. и мой плагин, “внутри себя” используют одни и те же консольные программы: xl2tpd (для L2TP), pppd (для VPN) и openswan (для IPSec), но генерируют к ним немного разные конфиги и запускают их немного по разному).

vpnpptp

Официальный сайт vpnpptp. Программа написана на Pascal и Bash с использованием Qt. Из плюсов – много настроек, разрабатывается нашими соотечественниками, оптимизирована для подключения к beeline. Из минусов, пожалуй, довольно нестабильная работа, необходимость вводить root-пароль для подключения и не очень удобный интерфейс. (Ну и еще сам код программы жуткий).

L2tp-IPsec-VPN

Сайт, Wiki. Написана на C++ и Qt. Из плюсов – очень хорошая поддержка IPsec, неплохой интерфейс, можно подключаться без root пароля, активно разрабатывается, дружелюбный разработчик =). Из минусов – опять же, недостаточно стабильная работа, поддержку работы БЕЗ IPSec (нужно для работы с beeline) добавили совсем недавно (по моей просьбе), но заставить его работать с beeline так и не получилось.

Эпилог

Разработку веду на Github https://github.com/seriyps/NetworkManager-l2tp.
Пожелания, багрепорты, комментарии, благодарности приветствуются.

Тикеты с просьбой добавить поддержку L2TP в NM появились на Launchpad и Gnome в сентябре 2008г. Изначально плагин разработал Alexey Torkhov, но затем прекратил его поддержку.

251 thoughts on “Плагин L2TP для NetworkManager

  1. niko

    можете выложить сюда плагин. не имею понятия как скачать его. интернет точко на винде

    Reply
    1. Jerry

      На странице https://launchpad.net/~seriy-pr/+archive/ubuntu/network-manager-l2tp/+packages внизу раскрываете список пакетов для вашей версии Ubuntu и скачиваете. Не забудьте проверить, что установлены xl2tpd и openswan. Если их нет – возьмите с любого зеркала Ubuntu. Все пакеты устанавливаются через
      sudo dpkg -i

      Reply
  2. niko

    очнь много зависимостей с пакета networkmanager ,есть пакет со всеми зависимостями и одной установкой?

    Reply
  3. Алексей

    Пытаюсь LINUX MINT 18 подружить с билайновским L2TP

    user-N150P-N210P-N220P user # lsb_release -a
    No LSB modules are available.
    Distributor ID: LinuxMint
    Description: Linux Mint 18 Sarah
    Release: 18
    Codename: sarah
    user-N150P-N210P-N220P user # uname -a
    Linux user-N150P-N210P-N220P 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    user-N150P-N210P-N220P user #

    Беда с первой строки ритуала

    user@user-N150P-N210P-N220P ~ $ sudo apt-add-repository ppa:seriy-pr/network-manager-l2tp
    ‘\xd0\x94\xd0\xb0\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9 PPA \xd0\xbd\xd0\xb5 \xd0\xbf\xd0\xbe\xd0\xb4\xd0\xb4\xd0\xb5\xd1\x80\xd0\xb6\xd0\xb8\xd0\xb2\xd0\xb0\xd0\xb5\xd1\x82 xenial’
    Не удаётся добавить PPA: «’\xd0\x94\xd0\xb0\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9 PPA \xd0\xbd\xd0\xb5 \xd0\xbf\xd0\xbe\xd0\xb4\xd0\xb4\xd0\xb5\xd1\x80\xd0\xb6\xd0\xb8\xd0\xb2\xd0\xb0\xd0\xb5\xd1\x82 xenial’».

    Команда sudo apt-get install python-software-properties выполнилась без нареканий, но и после этого ничего не изменилось

    Reply
  4. master

    Calculate GNU/Linux установил net-misc/networkmanager-l2tp ,но в меню networkmanager он не появляется.
    nm-connection-editor –type=vpn –create
    пишет :
    ** Message: vpn: (l2tp,/etc/NetworkManager/VPN/nm-l2tp-service.name) cannot load legacy-only plugin

    Reply
  5. петр

    Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
    gpg: no valid OpenPGP data found.
    Exception in thread Thread-1:

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *