Vpn l2tp для linux

Записки IT специалиста

Настраиваем L2TP VPN-сервер на платформе Linux (Debian / Ubuntu)

L2TP — один из наиболее популярных VPN-протоколов, обладающий, благодаря IPsec, отличной безопасностью, достаточной простотой и широкой поддержкой со стороны всех современных ОС. Для работы с ним не требуется установка дополнительного ПО и какие-либо сложные настройки. Мы уже рассматривали настройку L2TP VPN-сервера на платформах Windows и Mikrotik, а теперь расскажем, как настроить аналогичный сервер в Linux, дистрибутивах основанных на Debian или Ubuntu.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Перед тем, как приступать к работе над данной статьей мы внимательно изучили русскоязычный сегмент сети на предмет освещения данной темы и были весьма сильно удивлены. Большинство находящихся на первых страницах поиска ресурсов перепечатывает одну и ту же устаревшую инструкцию, даже в достаточно свежих публикациях. Но наш сайт с самого своего основания принципиально не занимается перепечатками (кроме переводов) и мы всегда проверяем на практике то, что рекомендуем нашим читателям. В этот раз нам пришлось потратить некоторое лишнее время на чтение документации, зато теперь мы можем предложить вам актуальный материал по настройке L2TP в Linux.

В качестве систем на тестовом стенде мы использовали Debian 10 и Ubuntu 20.04, но с некоторыми изменениями данная инструкция применима к любым версиям Linux со strongSwan версии 5.0 и выше.

Настраиваем IPsec

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

Для работы с IPsec мы будем использовать пакет strongSwan, установим его:

Затем откроем файл настроек /etc/ipsec.conf и добавим в его конец следующие две секции:

conn rw-base 
fragmentation=yes
dpdaction=clear
dpdtimeout=90s
dpddelay=30s

conn l2tp-vpn
also=rw-base
ike=aes128-sha256-modp3072
esp=aes128-sha256-modp3072
leftsubnet=%dynamic[/1701]
rightsubnet=%dynamic
leftauth=psk
rightauth=psk
type=transport
auto=add

Первая секция задает общие параметры: включает фрагментацию IKE и настраивает протокол обнаружения мертвых узлов (Dead Peer Detection, DPD), отвечающий за обнаружение неактивных клиентов. Вторая относится уже к L2TP-соединениям, указывая использовать транспортный режим IPsec, аутентификацию по общему ключу и задает используемые шифры. Приведенные значения являются рекомендуемыми и взяты из официальной документации strongSwan.

Читайте также:  Где находятся пароли linux

Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку:

Где mySharedKey — общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. Для этого можно воспользоваться командой:

Результатом ее выполнения станет случайная строка длинной в 18 символов.

l2tp-vpn-server-debian-ubuntu-001.png

После внесения указанных настроек перезапустим службу:

systemctl restart strongswan

В Ubuntu имя службы несколько иное — strongswan-starter, поэтому команда будет иметь вид:

systemctl restart strongswan-starter

Настраиваем L2TP

Для реализации функций L2TP-сервера предназначен пакет xl2tpd, для его установки выполните:

Затем откройте файл настроек /etc/xl2tpd/xl2tpd.conf, раскомментируйте и приведите к следующему виду опции:

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

[lns default]
exclusive = no
ip range = 10.2.2.100-10.2.2.199
hidden bit = no
local ip = 10.2.2.1
length bit = yes
require authentication = yes
name = l2tp-vpn
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes

Большая часть опций относится к настройке протокола L2TP и требует понимания его работы, поэтому мы на них останавливаться не будем. Разберем те опции, которые имеют существенное значение. Параметр auth file указывает на файл с данными для аутентификации, а pppoptfile — набор опций для PPP-соединения, которое используется внутри L2TP-туннеля, name — имя сервера, которое будет использоваться для поиска аутентификационных данных в файле chap-secrets.

Опции local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP, в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2), либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию. Автоматизировать создание маршрутов для Windows-клиентов можно с использованием PowerShell.

Для настройки PPP перейдем в /etc/ppp и скопируем стандартный файл настроек:

cd /etc/ppp
cp options options.xl2tpd

Затем открываем файл /etc/ppp/options.xl2tpd на редактирование и приводим к следующему виду. Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла.

asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1460
lcp-echo-interval 30
lcp-echo-failure 4
noipx
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
multilink
mppe-stateful

Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию:

Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции:

ms-dns 192.168.1.1
ms-dns 192.168.1.2

Это позволит настроить первичный и альтернативный DNS-сервера в системе.

Читайте также:  Steam beta client linux

Сохраним все внесенные изменения и перезапустим службу L2TP-сервера:

Строку со следующим сообщением можно проигнорировать, на работу VPN-сервера она не влияет:

xl2tpd[843]: setsockopt recvref[30]: Protocol not available

l2tp-vpn-server-debian-ubuntu-002.png

Заключительным этапом настройки будет создание учетных записей для удаленных клиентов, для этого откроем файл /etc/ppp/chap-secrets и внесем следующую строку:

Первым указываем логин, затем имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf, после него идет пароль и IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона. Если же требуется выдать клиенту постоянный адрес, то его следует указать явно, и он не должен входить в динамический диапазон указанный в ip range, например:

petrov l2tp-vpn Pa$$word_1 10.2.2.99

Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 500 UDP, 1701 UDP и 4500 UDP.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

  1. Настраиваем VPN. Часть 1 — Общие вопросы
  2. Настраиваем VPN. Часть 2 — Cтруктура сети
  3. Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux
  4. Настраиваем VPN сервер. Часть 4 — PPTP. Платформа Windows
  5. Настраиваем VPN сервер. Часть 5 — L2TP. Платформа Windows
  6. Ubuntu Server. Форвардинг PPTP средствами iptables
  7. Организация VPN каналов между офисами при помощи OpenVPN
  8. Организация каналов между офисами при помощи OpenVPN с дополнительной парольной защитой
  9. Организация VPN каналов между офисами. Маршрутизация
  10. Организация каналов между офисами при помощи OpenVPN на платформе Linux
  11. Настройка OpenVPN-сервера для доступа в интернет
  12. Настройка двух и более OpenVPN-серверов на одном сервере
  13. Почему тормозит OpenVPN? Размер буферов приема и отправки
  14. Как настроить несколько одновременных OpenVPN подключений в Windows
  15. SSH-туннели на службе системного администратора
  16. Создание ключей и сертификатов для OpenVPN при помощи Easy-RSA 3
  17. Настройка OpenVPN-сервера на роутерах Mikrotik
  18. Настройка VPN-подключения в роутерах Mikrotik
  19. OpenVPN объединяем ключи и конфигурацию клиента в один файл
  20. OpenVPN и инфраструктура открытых ключей (PKI)
  21. Настройка OpenVPN-сервера на роутерах Mikrotik
  22. Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
  23. Настраиваем PPTP или L2TP VPN-сервер при помощи RRAS в Windows Server
  24. Автоматическое добавление маршрутов для VPN-соединения в Windows

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

VPN в Linux по протоколу L2TP

В большинстве случаев VPN соединение настраивается по туннельному протоколу L2TP.

Читайте также:  Alt linux server графический интерфейс

Поддержки VPN соединения с протоколом L2TP/IPSec в системе Linux по умолчанию нет. Я использую в качестве основной системы Debian 10 и у меня его нет.

список возможных соединений debian 10

В операционных системах Windows данный протокол есть по умолчанию. Как там происходит процесс настройки вы можете узнать из этой статьи, опубликованной ранее.

Посмотрев дистрибутив Linux mint и Ubuntu оказалось, что и там нет необходимых протоколов.

Так как все эти системы основаны на Debian, решение данного вопроса будет одинаковым на всех системах.

Далее я опишу процесс настройки VPN протоколу L2TP в системе Debina 10

Для начала нам нужно установить необходимые пакеты, которые обеспечат поддержку необходимых нам протоколов.

Необходимые пакеты L2TP для VPN соединения есть в репозиториях Debian 10, поэтому просто ставим их при помощи менеджера пакетов Synaptic.

Открываем менеджер и в поиске пишем L2TP.

после поиска отмечаем для установки два пакета

network-manager-l2tp и его «графическую часть» gnome, удобно для тех кто все делает в графическом интерфейсе

vpn network-manager-l2tp выбор пакетов

Отмечаем нужные пакеты для установки

vpn network-manager-l2tp установка пакетов

В результате выделится зеленым три пакета, для установки.

Со всем соглашаемся и нажимаем применить, дожидаемся окончания установки.

Устанавливаем пакеты для L2tp в терминале

Так же можно все эти пакеты установить командами в терминале, открываем терминал и последовательно выполняем команды

Устанавливаем пакет network-manager-l2tp

sudo apt install network-manager-l2tp

Устанавливаем пакет network-manager-l2tp-gnome

sudo apt install network-manager-l2tp-gnome

vpn l2tp установка пакетов из терминала vpn l2tp установка пакетов из терминала

Настраиваем само подключение по протоколу L2TP

После установки всех необходимых пакетов нам остается только выбрать необходимый способ подключения в окне сетевых соединений.

vpn l2tp настраиваем соединение

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

Шлюз — ip вашего сервера, соответственно далее логин и пароль.

Перед тем как ввести пароль выберите способ его хранения, вводить каждый раз или запомнить его раз и навсегда.

настраиваем соединение

Не забудьте указать PSK ключ для подключения, ниже показано где его ввести

настраиваем соединение

После ввода всех данных, сохраняете настроенное соединение и можете выбрать его по клику левой кнопки мыши в трее

l2tp подключаемся

На этом, настройка VPN подключения закончена.

Если есть, что добавить или поделится опытом пишите в комментариях.

Я настраивал вот по такому протоколу:
Настройка internet beeline vpn alexandr@mx:~/Настройка internet beeline vpn
$ sudo su
root@mx:/home/alexandr/Настройка internet beeline vpn# ls
xl2tpd_1.3.12-1.1_amd64.deb
libstrongswan_5.7.2-1_amd64.deb
strongswan-starter_5.7.2-1_amd64.deb
strongswan_5.7.2-1_all.deb
trongswan-libcharon_5.7.2-1_amd64.deb
strongswan-charon_5.7.2-1_amd64.deb
network-manager-l2tp_1.2.10-1_amd64.deb
network-manager-l2tp-gnome_1.2.10-1_amd64.deb
dpkg -i xl2tpd_ 1.3.12-1.1_amd64.deb dpkg -i libstrongswan_5.7.2-1_amd64.deb dpkg -i strongswan-starter_5.7. 2-1_amd64.deb dpkg -i strongswan-libcharon_5.7.2-1_amd64.deb dpkg -i strongswan-charon_5.7.2-1_amd64.deb dpkg -i strongswan_5.7.2-1_all. deb dpkg -i network-manager-l 2tp_1.2.10-1_amd64.deb dpkg -i network-manager-l2tp- gnome_1.2.10-1_amd64.deb

Windows 10 отключается интернет

Windows 7 USB 3.0

загрузчик UEFI в Windows

Canon LBP 6000 в Linux

погода Linux Conky

LAMP Mongaro

Linux systemctl

работа с протоколом SSH

apt-key 8 Linux

LAMP в Linux

Audacity

© 2019-2023 Про ПК. Инструкции по работе на компьютере, настрока операционных систем Windows и Linux, использование программ.

Источник

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