L2tp linux ubuntu client

L2TP/IPSEC между роутером MikroTik и Ubuntu Linux

Появилась потребность в организации VPN тунеля между локальным роутером MikroTik c RouterOS на борту и удаленным сервером на базе Ubuntu Linux. Причем сервер должен выглядеть для локальной сети местным, т.е. находится в этом же L2-сегменте. В качетве тунеля был выбран l2tp, практика показывает что он более стабилен, чем тот же pptp. Так как l2tp не обеспечивает шифрование данных поверх него был настроеен ipsec. В качестве сервера l2tp выступает RouterOS. Конфигурация узлов следуюущая:

Узел Внешний адрес Локальный адрес
MikroTik 192.168.0.1 10.0.0.1/24
Linux 192.168.1.100 10.0.0.100

1. L2TP сервер на стороне MikroTik

Создаем пользоваьеля для VPN.

Для того чтобы присутсвие удаленного сервера в локальной сети работало необходимо Proxy ARP на локальном интерфесе.

2. L2TP клиент Ubuntu Linux

Устананвливаем xl2tpd, это сервер и клиент для протокола l2tp.

Приводим конфигурационный файл /etc/xl2tpd/xl2tpd.conf к следующему виду

Добавляем учетные данные пользователя в /etc/ppp/chap-secrets

Тунель долежен подняться и работать. Однако, данные передаются через интернет инкапсулированными без шифрования, в большинстве случаем это не приемлемо. Поэтому продолжаем и настраиваем ipsec поверх l2tp-тунеля.

3. MikroTik IPSEC

Политики шифрования трафика.

4. Ubuntu IPSEC

В Linux нам потребуется два пакета, собственно ipsec-tools и racoon, поскольку мы используем pre-shared key для идентификация.

Заносим реквизиты в /etc/racoon/psk.txt

Приводим /etc/racoon/racoon.conf к следующему виду

Настраиваем политики шифрования трафика /etc/ipsec-tools.conf

Если все сделано правильно, то можно увидеть следующее:

Вам также может понравиться

Мониторинг состояния tcp-соединений в Nagios/Icinga

Отслеживать состояние tcp-соединений не всегда нужно, но иногда очень полезно. Я уже писал про это применительно к Zabbix. Сейчас для мониторинга я […]

Ускоряем Graphite-web

Я уже писал про graphite, я все еще считаю, что для time series нет ничего лучше. А так как начиная с версии […]

OpenSSH и эллиптическая криптография (ECC)

Криптография с открытым ключом или асимметричное шифрование существует уже давно. Наиболее попялрному алгоритму RSA вот уже почти 40 лет, алгоритм DSA в […]

Устанавливаем Puppet Dashboard

Я уже упоминал о Puppet, как о средстве централизованного управления парком серверов, теперь речь зайдет о Puppet Dashboard. Это веб-интерфейс предостовляющий наглядный […]

5 комментариев “ L2TP/IPSEC между роутером MikroTik и Ubuntu Linux ”

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

На микротике открыл порт, смотрю торчем на л2тп интерфейс. запросы из вне идут. А назад нет.

Дело в маршрутах на оперврт я так понимаю? когда я с локалки микротика захожу все пашет, так как прописан маршрут.
а из когда из вне, трафик идёт через тунель, только в одну сторону, назад он не идёт.

я вижу 2 выхода. смаскарадить или маршрут по умолчанию поменять на тунель. только как это сделать?

Эту проблему поборол. на опенврт прописал в конфигах след.

Читайте также:  Как добавить меню windows forms

config interface ‘vpn’
option ifname ‘ppp0’
option proto ‘none’

config zone
option name ‘lan’
option network ‘lan vpn’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’

На камеру удаленно заходит, видео еле-еле пашет на битрейте 80кбит, хотя сигнал стабильный. И если я поставлю в камере битрейт побольше, сначала пинги растут, потом туннель рвется, и восстанавливается через определенное время. Неужели l2tp такая нестабильная технология? в логах микротика —
logged out
terminating — administrator request
disconnected

Если туннель не грузить, он не падает.

Вопрос: Не знаешь, как сделать, чтобы при подключении туннеля на опенврт маршрут сам добавлялся…
пока, что приходится ручками route add -net 192.168.0/24 ppp0

Сделал по офф мануалу с микротик wiki site2site l2tp

прописал маршруты. сдвинулось, но не сильно,

с локалки микротика смог зайти в веб-интерфейс openwrt. а дальше на камеру зайти не смог( которая в локалке openwrt) не пингуется..

и вот ещё что заметил, если я пингую с локалки openwrt комп в локалке микротика, пинги не идут… а ели пинговать напрямую с самой opewrt то пинги проходят..

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

Есть два варианта:
1. Локальная сеть ходит на удаленный сервер через l2tp с NAT, который не корректно настроен
2. Локальная сеть ходит на удаленный сервер через l2tp, при этом на удаленном сервере не прописан маршрут в локальную сеть через l2tp

P.S. C наступающим новым годом!

Привет, поднял xl2tpd на собранной openwrt со скриптами Huntsman (для 3g/4g модема — huawei e3276 — работает в режиме сетевой карты). роутер tp-link 842nd.

Соединился с микротиком по твоему мануалу, пока без шифрования.
Если пинговать удаленный сервер напрямую с микротика, то пинги проходят.
А с локальной сети не могу пропинговать, ssh и тд не работает — connection refused

Понимаю, что дело в микротике. пробовал proxy-arp на интерфейс бридж ставить и на лан2, ничего не меняется.

конфиг:
1. Локалка микротика — 192.168.1.0/24
2. Локалка openwrt — 192.168.2.0/24
3. l2tp — remote-adress — 192.168.3.2 local-adress — 192.168.3.1

PS: очень прошу помощи — это один из последних шагов в подключении ip камеры c хранилищем на роутере. ( видеоархив уже пишется) через 3g

Источник

How to Setup an L2TP/IPsec VPN Client on Linux

L2TP (which stands for Layer 2 Tunneling Protocol) is a tunneling protocol designed to support virtual private networks (VPN connections) over the internet. It is implemented in most if not all modern operating systems including Linux and VPN-capable devices.

The L2TP does not provide any authentication or encryption mechanisms directly to traffic that passes through it, it is usually implemented with the IPsec authentication suite (L2TP/IPsec) to provide encryption within the L2TP tunnel.

In this article, we will show how to set up an L2TP/IPSec VPN connection in Ubuntu and its derivatives and Fedora Linux.

This guide assumes that the L2TP/IPsec VPN server has been set up and that you have received the following VPN connection details from your organization’s or company’s system administrator.

How to Setup L2TP VPN Connection in Linux

To add an L2TP/IPsec option to the NetworkManager, you need to install the NetworkManager-l2tp VPN plugin which supports NetworkManager 1.8 and later. It provides support for L2TP and L2TP/IPsec.

To install the L2TP module on Ubuntu and Ubuntu-based Linux distributions, use the following PPA.

On RHEL/CentOS and Fedora Linux, use the following dnf command to install L2TP module.

Читайте также:  Установка gscan2pdf astra linux

Once the package installation is complete, click on your Network Manager icon, then go to Network Settings.

Access Network Settings

Next, add a new VPN connection by clicking on the (+) sign.

Add New VPN Connection

Then select Layer 2 Tunneling Protocol (L2TP) option from the pop-up window.

Select Layer 2 Tunneling Protocol

Next, enter the VPN connection details (gateway IP address or hostname, username and password) you received from the system administrator, in the following window.

Add VPN Details

Next, click IPsec Settings to enter the pre-shared key for the connection. Then enable IPsec tunnel to L2TP host, enter (or copy and paste the) the Pre-shared key and click Ok.

Add Pre-shared Key

After that, click Add. Now your new VPN connection should be added.

VPN Connection Created

Next, turn on the VPN connection to start using it. If the connection details are correct, the connection should be established successfully.

Enable VPN Connection Enabled VPN Connection

Last but not least, test if the VPN is working fine. You can check your computer’s public IP address to confirm this from a web browser: it should now point to the IP of the gateway.

Confirm Your VPN Connection

That’s the end of this article. If you have any queries or thoughts to share, reach us via the feedback form below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

Как настроить клиент L2TP в Ubuntu 18.04?

Я настроил свою систему в соответствии с руководством, которое я нашел в Интернете.

Я в основном установил необходимые зависимости:

И настроил их, применяя изменения к следующим файлам (VPN_SERVER_IP, VPN_IPSEC_PSK, VPN_USERNAME, VPN_PASSWORD заменяются действительными значениями; XXX.XXX.XXX.XXX в журналах ниже — это IP-адрес VPN-сервера)

/etc/NetworkManager/NetworkManager.conf (по умолчанию ничего не изменилось):

Когда я хочу подключиться к VPN, я делаю /etc/init.d/network-manager start в журналах ничего необычного не появляется:

ipsec up myvpn также кажется успешным:

В общем, похоже, что ошибок нет, но я не могу проверить, действительно ли я установил соединение или нет. Самая большая проблема в том, что при запуске я не вижу ни одного устройства ppp0. ip link :

Из-за этого я не могу определить, какой трафик должен пройти через VPN-сервер. Как я могу убедиться, что устройство ppp0 появляется и IP-адрес назначается ему сервером DHCP/VPN?

1 ответ

echo «c myvpn» > /var/run/xl2tpd/l2tp-control выполняется как корень должен создать интерфейс ppp0. Я сделал некоторые изменения в конфигурационных файлах, и когда я дал эту команду, я обнаружил, что в журналах есть жалобы lock вариант в /etc/ppp/options.l2tpd.client быть неизвестным (в /var/log/syslog ). Я удалил lock из конфигурационного файла и теперь это работает.

Моя текущая конфигурация вставлена ​​ниже.

/ и т.д. / сеть / интерфейсы:

Сначала обновите и очистите машину

Установить программное обеспечение VPN

После перезагрузки выключите L2TP-сервер, нам нужен только клиент

Настройте инструкции VPN:

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

Источник

Установка и настройка L2TP VPN-сервера на Ubuntu Server

L2TP сервер удобен тем, что позволяет использовать встроенные средства Windows для подключения. В данной инструкции рассмотрим процесс его установки и настройки на Ubuntu 16.04 и 18.04. В итоге мы получим:

  • VPN-сервер, использующий туннельный протокол L2TP.
  • Защита соединения посредством общего ключа + аутентификация пользователя.
  • Доступ к локальной сети.
Читайте также:  Что делать если упала windows

Мы выполним следующие настройки:

Настройка IPSEC

Для управления IPSec используется пакет strongswan — установим его командой:

apt-get install strongswan

Открываем конфигурационный файл для настройки ipsec:

Для config setup добавим:

config setup
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
protostack=netkey

* где virtual_private для нас является наиболее важным параметром и определяет приватные сети. В данном примере просто перечислены сети, зарезервированные под локальные — мы можем указать и другие.

. а также вставляем ниже:

conn l2tpvpn
type=transport
authby=secret
pfs=no
rekey=no
keyingtries=2
left=%any
leftprotoport=udp/l2tp
leftid=@l2tpvpnserver
right=%any
rightprotoport=udp/%any
auto=add

  • type — тип соединения. Возможны варианты tunnel ( хост-хост, хост-подсеть или подсеть-подсеть); transport (хост-хост); passthrough (без обработки IPsec).
  • authby — способы аутентификации двух узлов. Возможны варианты secret (по паролю) или rsasig (цифровые подписи RSA).
  • pfs — расшифровывается как Perfect Forward Secrecy. Позволяет активировать совершенную секретность в канале ключей соединения.
  • rekey — перепроверить соединение, когда оно истекает.
  • keyingtries — число попыток, чтобы «договориться» о соединении или его замене.
  • left — IP-адрес левого участника (сервера). %any означает, что адрес может быть любой.
  • leftprotoport — определяет протокол и порт, на котором будет работать левая сторона (сервер). В данном примере указан UDP и порт 1701.
  • leftid — идентификация левого участника соединения.
  • right — IP-адрес правого участника (клиента). %any означает, что адрес может быть любой.
  • rightprotoport — определяет протокол и порт, на котором будет работать правая сторона (клиент). В данном примере указан UDP и любой порт.
  • auto — операция, которая должна запуститься автоматически при старте IPsec.

Создаем секретный ключ — для этого открываем на редактирование файл:

%any %any : PSK «my_key_password»

* в данном примере мы устанавливаем общий пароль my_key_password для соединений с любого IP.

Разрешаем автозапуск strongswan и перезапускаем службу:

systemctl enable strongswan

systemctl restart strongswan

Устанавливаем сервер L2TP:

apt-get install xl2tpd

Открываем файл настройки сервера:

[global]
port = 1701
access control = no
ipsec saref = yes
force userspace = yes
auth file = /etc/ppp/chap-secrets

[lns default]
ip range = 176.16.10.10-176.16.10.200
local ip = 176.16.10.1
name = l2tpserver
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes
exclusive = no
hidden bit = no
length bit = yes
require authentication = yes
require chap = yes
refuse pap = yes

  • port — порт UDP, на котором работает VPN. По умолчанию, 1701.
  • access control — принимать или нет запросы только от клиентов с определенными IP, перечисленными в настройках клиентов.
  • ipsec saref — указывает использовать или нет ipsec Security Association, позволяющий отслеживать несколько клиентов с одинаковыми IP-адресами.
  • force userspace — повышает производительность за счет декапсуляции пакетов L2TP.
  • auth file — путь к файлу аутентификации.
  • ip range — диапазон адресов, которые назначаются подключенным клиентам.
  • local ip — IP-адрес сервера в сети VPN.
  • name — имя сервера для процесса согласования.
  • pppoptfile — путь к файлу с настройкой pppd.
  • flow bit — позволяет добавлять в пакеты порядковые номера.
  • exclusive — если поставить в yes, сервер разрешит только одно соединение с клиентом.
  • hidden bit — скрывать или нет AVP.
  • length bit — использовать ли бит длины, указывающий полезную нагрузку.
  • require authentication — требовать ли аутентификацию.
  • require chap — требовать ли аутентификацию PPP по протоколу CHAP.
  • refuse pap — требовать ли аутентификацию PPP по протоколу PAP.

Разрешаем автозапуск vpn-сервера и перезапускаем его:

systemctl enable xl2tpd

systemctl restart xl2tpd

Открываем на редактирование конфигурационный файл:

Источник

Оцените статью