- Записки IT специалиста
- Настраиваем L2TP VPN-сервер на платформе Linux (Debian / Ubuntu)
- Настраиваем IPsec
- Настраиваем L2TP
- Дополнительные материалы:
- Настройка SSTP VPN на Linux Mint
- Предварительная подготовка
- Настройка подключения
- Настройка SSTP VPN на Linux Mint : 2 комментария
- Добавить комментарий Отменить ответ
- Решение IT-задач любой сложности
- Архивы
- Рубрики
Записки 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=30sconn 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.
Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку:
Где mySharedKey — общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. Для этого можно воспользоваться командой:
Результатом ее выполнения станет случайная строка длинной в 18 символов.
После внесения указанных настроек перезапустим службу:
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-сервера в системе.
Сохраним все внесенные изменения и перезапустим службу L2TP-сервера:
Строку со следующим сообщением можно проигнорировать, на работу VPN-сервера она не влияет:
xl2tpd[843]: setsockopt recvref[30]: Protocol not available
Заключительным этапом настройки будет создание учетных записей для удаленных клиентов, для этого откроем файл /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 часов практики и доступ навсегда.
Дополнительные материалы:
- Настраиваем VPN. Часть 1 — Общие вопросы
- Настраиваем VPN. Часть 2 — Cтруктура сети
- Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux
- Настраиваем VPN сервер. Часть 4 — PPTP. Платформа Windows
- Настраиваем VPN сервер. Часть 5 — L2TP. Платформа Windows
- Ubuntu Server. Форвардинг PPTP средствами iptables
- Организация VPN каналов между офисами при помощи OpenVPN
- Организация каналов между офисами при помощи OpenVPN с дополнительной парольной защитой
- Организация VPN каналов между офисами. Маршрутизация
- Организация каналов между офисами при помощи OpenVPN на платформе Linux
- Настройка OpenVPN-сервера для доступа в интернет
- Настройка двух и более OpenVPN-серверов на одном сервере
- Почему тормозит OpenVPN? Размер буферов приема и отправки
- Как настроить несколько одновременных OpenVPN подключений в Windows
- SSH-туннели на службе системного администратора
- Создание ключей и сертификатов для OpenVPN при помощи Easy-RSA 3
- Настройка OpenVPN-сервера на роутерах Mikrotik
- Настройка VPN-подключения в роутерах Mikrotik
- OpenVPN объединяем ключи и конфигурацию клиента в один файл
- OpenVPN и инфраструктура открытых ключей (PKI)
- Настройка OpenVPN-сервера на роутерах Mikrotik
- Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
- Настраиваем PPTP или L2TP VPN-сервер при помощи RRAS в Windows Server
- Автоматическое добавление маршрутов для VPN-соединения в Windows
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Настройка SSTP VPN на Linux Mint
Мне очень часто приходится использовать SSTP VPN в повседневной работе. Однако, когда я начал использовать Linux Mint в качестве основной операционной системы на домашнем ПК, то, к своему удивлению, обнаружил, что из коробки возможности настройки такого типа VPN подключения не предусмотрено. Поэтому я решил соорудить небольшую шпаргалку в виде краткой публикации и том, как выполняется настройка SSTP VPN на Linux Mint.
Сразу оговорю, что решение не мое. Я нашел его на GitHub.
Проверял работу на Linux Mint 20.3 и Linux Mint 21. Работает в обоих случаях. Правда, на Mint 21 подключение получается настроить только через “Network Connections”. Если конфигурировать через “Network Settings”, то интерфейс настройки подключения не отображается корректно. На Linux Mint 20.3 такой проблемы нет.
Предварительная подготовка
Установка SSTP VPN на Linux Mint довольно проста.
Сначала добавляем репозиторий:
sudo add-apt-repository -y ppa:eivnaes/network-manager-sstp && sudo apt update
Затем обновляем список пакетов:
И последним шагом запускаем установку необходимых пакетов:
sudo apt install -y sstp-client network-manager-sstp network-manager-sstp-gnome
Настройка подключения
После того, как все необходимые пакеты были установлены можно переходить к непосредственной настройки SSTP подключения.
Как я уже говорил выше в Linux Mint 20.3 вы можете конфигурировать подключения либо через “Network Connections”, либо через “Network Settings”.
Но вот на Linux Mint 21 настройка подключения работает только через менеджер сетевых подключений (Network Connections).
Хотя активировать подключение на Linux Mint 21 вы можете как через менеджер сетевых подключений, так и в диалогового окна системных настроек сети (Network Settings).
Каких то других проблем, кроме небольшой особенности настройки, на Linux Mint 21 я не обнаружил.
Настройка SSTP VPN на Linux Mint : 2 комментария
Добрый день!
Хотел установить VPN в Ubuntu Mint 21.
Однако или я полный глупец, однако ни один из рекомендованных способов установки VPN, мне не помог!?
То есть или мне хватает уровня работы в консоли, хотя разные пакеты и прочее устанавливаю без особых проблем, однако в вопросе УСПЕШНОЙ установки, (не говорю ВООБЩЕ о подключении)? или все Ваши советы написаны для программистов а не просто опытных пользователей!?
ВОПРОС?
– где я могу делать ошибки и как их обойти и устранить.
– где еще я могу найти РАБОТАЮЩИЕ СОВЕТЫ а не перечень неработающих советов? Спасибо! Михаил. Коломна, Россия , 2003-05-13/суб.
Добрый день! где я могу делать ошибки и как их обойти и устранить.
// Сложно ответить на этот вопрос. Какие именно ошибки генерируются в консоле? где еще я могу найти РАБОТАЮЩИЕ СОВЕТЫ а не перечень неработающих советов
// Думаю, стоит воспользоваться тем поисковиком, который вам более по душе. Опорных материалов по настройке VPN довольно много. Можно поискать информацию на англоязычных ресурсах. Обычно там гораздо больше толковых материалов.
Добавить комментарий Отменить ответ
Решение IT-задач любой сложности
Архивы
Рубрики
- 1С (4)
- Active Directory Domain Services (4)
- Active Directory Federation Services (1)
- Ansible (7)
- Astra Linux Directory (1)
- Azure (5)
- Cireson (2)
- Communigate Pro (20)
- Docker (1)
- EVE-NG (2)
- Exchange (27)
- GitLab (1)
- JIRA (1)
- Kubernetes (4)
- Linux (24)
- Power Automate (4)
- Project Server (2)
- Project Web App (2)
- Proxmox (8)
- Scripts (1)
- Sendria (1)
- SharePoint (3)
- System Center (25)
- Veeam (3)
- VirtualHere (3)
- VMware (2)
- Web Application Proxy (2)
- Zabbix (7)
- Балансировка сетевого траффика (2)
- Онлайн кассы (2)
- Печать (1)
- Прочее (3)
- Публикация сервисов и приложений (2)
- Сертификаты (5)
- сети (1)
- Система управления проектами (2)
- Системы хранения данных (2)
- Торговое оборудование (1)