Настройка VPN-сервера L2TP/IPsec и IKEv2 на Ubuntu 22.04
Введение
Руководство описывает настройку VPN-сервера Ubuntu 22.04 с поддержкой L2TP/IPsec и IKEv2. Скрипты hwdsl2/setup-ipsec-vpn позволяют быстро развернуть защищённый сервер. Клиенты смогут выбирать L2TP/IPsec или IKEv2, получая гибкость и надёжное шифрование.Предварительные требования
- VPS: EDIS Global VPS с Ubuntu 22.04 и доступом root или sudo.
- Клиентский компьютер: Ubuntu или другой Linux, совместимый с L2TP/IPsec и IKEv2; доступ root или sudo.
Обзор
Основные этапы:- На VPS: обновление пакетов, установка зависимостей, запуск скрипта настройки L2TP/IPsec и IKEv2, добавление и удаление VPN-пользователей.
- На клиенте: установка VPN-клиента, настройка и подключение по L2TP/IPsec или IKEv2.
Действия на VPS
- Обновите системные пакеты
Обновите сервер:
- Установите необходимые пакеты
Установите curl и wget для скачивания скриптов и файлов:
- Скачайте и запустите скрипт настройки VPN
Используйте скрипт hwdsl2/setup-ipsec-vpn:
VPN_DNS_SRV1иVPN_DNS_SRV2задают DNS для VPN-клиентов.- Скрипт запросит данные VPN: IPsec PSK, имя пользователя и пароль. Если запрос не появляется, он создаст их автоматически.
x.x.x.x публичным IP сервера. Скрипт выводит важные реквизиты VPN — храните их безопасно.
- Управление пользователями VPN
Добавление пользователя
Скачайте скрипт управления и добавьте пользователя:addvpnuser.sh добавляет VPN-пользователей с заданными именем и паролем. Замените 'newusername' и 'newpassword' нужными значениями.
Удаление пользователя
Скачайте скрипт удаления и удалите пользователя:delvpnuser.sh удаляет пользователя по имени. Замените 'username_to_remove' нужным именем.
Действия на клиентском компьютере
Вариант 1. Подключение по L2TP/IPsec
- Установите клиент L2TP VPN
Установите плагин L2TP для Network Manager:
- Настройте VPN-соединение
Выполните следующие действия:
- Откройте настройки VPN: перейдите в Settings → Network → VPN и нажмите +.
- Выберите тип: Layer 2 Tunneling Protocol (L2TP).
- Общие параметры:
- Name: имя подключения, например
My L2TP VPN. - Gateway: IP VPN-сервера (
Your VPN Server IP). - User name: имя VPN-пользователя (
Your VPN Username). - Password: нажмите значок рядом с полем, выберите Store the password only for this user, затем введите пароль (
Your VPN Password). - NT Domain: оставьте пустым.
- Name: имя подключения, например
- Настройки IPsec:
- Нажмите IPsec Settings….
- Отметьте Enable IPsec tunnel to L2TP host.
- Pre-shared key: укажите IPsec PSK (
Your VPN IPsec PSK). - Разверните Advanced. В Phase1 Algorithms введите
aes128-sha1-modp2048, а в Phase2 Algorithms —aes128-sha1.
- Сохраните и подключитесь: закройте настройки IPsec кнопкой OK, сохраните соединение кнопкой Add и переведите переключатель VPN в ON.
- Проверьте VPN-соединение
После подключения проверьте IP:
Вариант 2. Подключение по IKEv2
- Установите плагин StrongSwan для Network Manager
- Получите клиентские файлы VPN
С VPN-сервера нужны:
vpnclient.p12— клиентский сертификат и закрытый ключ.vpnclient.mobileconfig— профиль macOS/iOS, для Linux не нужен.vpnclient.sswan— конфигурация StrongSwan, необязательна.
Your_VPN_Server_IP адресом VPN-сервера.
- Извлеките сертификаты и закрытый ключ
Создайте каталог и извлеките файлы из .p12:
ca.cer— сертификат центра сертификации.client.cer— клиентский сертификат.client.key— закрытый ключ.
- Защитите файлы сертификатов и ключа
Эти конфиденциальные файлы нужно защитить:
- Установите плагины Network Manager, если они ещё не установлены
Установите пакеты для своего дистрибутива:
- Настройте VPN-соединение
Настройка IKEv2:
- Откройте VPN: перейдите в Settings → Network → VPN и нажмите +.
- Выберите тип: IPsec/IKEv2 (strongSwan).
- Общие параметры: в Name задайте имя, например
My IKEv2 VPN. - Шлюз: в Address введите IP или домен VPN-сервера (
Your VPN Server IP); в Certificate выберите извлечённыйca.cer. - Аутентификация клиента: в Authentication выберите Certificate (/private key), в Certificate (file) —
client.cer, в Private key —client.key. - Параметры: отметьте Request an inner IP address.
- Алгоритмы шифрования: отметьте Enable custom proposals, оставьте IKE пустым, в ESP введите
aes128gcm16. - Сохраните и подключитесь: нажмите Add, затем переведите VPN в ON.
- Проверьте VPN-соединение
Проверьте публичный IP, чтобы подтвердить подключение через VPN:
Устранение неполадок
- Соединение не устанавливается: проверьте, что межсетевой экран сервера разрешает нужные VPN-порты, например UDP 500 и 4500 для IPsec, и службы VPN запущены.
- Ошибки аутентификации: проверьте IPsec PSK, имя и пароль, правильность установки сертификатов и ключей и их права доступа.
- Проблемы DNS: если после подключения не разрешаются домены, задайте DNS в клиенте или настройте передачу DNS-параметров клиентам на сервере.
- Ошибки StrongSwan: изучите
/var/log/syslogилиjournalctl -xe; убедитесь, что настройки IKEv2 согласованы на клиенте и сервере.
Заключение
VPN-сервер Ubuntu 22.04 с поддержкой L2TP/IPsec и IKEv2 настроен. Конфигурация повышает безопасность сети за счёт шифрования интернет-трафика и предоставляет разные варианты подключения клиентов.Источники
Примечание: соблюдайте местные законы и правила использования VPN. Надёжно храните реквизиты VPN и сертификаты, чтобы предотвратить несанкционированный доступ.