Командная строка подключения к L2TP VPN на Windows Server

Вопрос или проблема

Я ищу уже пару дней, но пока не очень удачно, так как всё, с чем я сталкиваюсь, основано на использовании интерфейса Network Manager.

Может ли кто-нибудь предоставить мне простое руководство о том, как настроить сервер Ubuntu для автоматического подключения (при запуске) к L2TP через IPSec VPN с учетными данными Windows Login?

Не обязательно использовать L2TP через IPSec, у меня также есть настроенный Windows Server для разрешения подключений PPTP VPN, но я предпочёл бы L2TP, так как это более безопасно.

Мне также нужно знать, есть ли специальная настройка, чтобы предотвратить туннелирование интернет-соединения через VPN, так как я знаю, что Windows делает это по умолчанию, и это нужно отключить на сетевом адаптере VPN в Windows. Если это необходимо сделать и на сервере Ubuntu, мне нужно знать, как это сделать, чтобы я не заблокировал доступ к серверу, потеряв интернет-соединение 😀

Причина в том, что у меня было довольно много попыток входа на SSH порт, поэтому я хочу установить аппаратный файрвол перед сервером, чтобы он не позволял SSH-подключения и чтобы единственный способ подключения к SSH-серверу был через корпоративный VPN.

Вам стоит ознакомиться с этой ссылкой для подключения L2TP. Также дополнительно проверьте этот вопрос и его ответ на Ask Ubuntu здесь. А также эти шаги на GitHub для подключения к L2TP серверу как клиент.

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

Ответ или решение

Подключение к L2TP VPN на Ubuntu Server через командную строку

Настройка автоматического подключения к L2TP over IPSec VPN на Ubuntu Server может показаться сложной задачей, однако она вполне реальна и может быть выполнена с помощью командной строки. В данном руководстве мы подробно рассмотрим шаги, необходимые для успешной конфигурации, включая управление интернет-трафиком, чтобы избежать блокировки доступа к серверу.

Шаг 1: Установка необходимых пакетов

Для начала вам нужно установить необходимые пакеты, чтобы ваш сервер смог устанавливать VPN-соединение. Откройте терминал и выполните следующие команды:

sudo apt update
sudo apt install strongswan xl2tpd
  • strongswan — это программное обеспечение для настройки IPSec.
  • xl2tpd — это реализация L2TPD для Linux.

Шаг 2: Настройка StrongSwan

После установки должны быть внесены изменения в конфигурацию StrongSwan. Откройте файл /etc/ipsec.conf:

sudo nano /etc/ipsec.conf

Добавьте следующие строки:

config setup
    charonstart=yes
    uniqueids=no

conn %default
    keyexchange=ikev1
    authby=secret
    ike=aes128-sha1;modp1024
    esp=aes128-sha1

conn L2TP-VPN
    keyexchange=ikev1
    left=%defaultroute
    leftid=your_vpn_username
    leftauth=psk
    right=your_vpn_server_ip_or_hostname
    rightsubnet=0.0.0.0/0
    rightauth=none
    auto=add

Замените your_vpn_username на ваше имя пользователя VPN, а your_vpn_server_ip_or_hostname на IP-адрес или имя хоста VPN-сервера.

Шаг 3: Настройка паролей

Теперь откройте файл /etc/ipsec.secrets для указания вашего предшествующего секрета (PSK):

sudo nano /etc/ipsec.secrets

Добавьте строку:

your_vpn_username : PSK "your_pre_shared_key"

Замените your_pre_shared_key на ваш предшествующий ключ (PSK), предоставленный вашим VPN-поставщиком.

Шаг 4: Настройка xl2tpd

Теперь перейдите к файлу конфигурации xl2tpd. Откройте /etc/xl2tpd/xl2tpd.conf:

sudo nano /etc/xl2tpd/xl2tpd.conf

Добавьте следующую конфигурацию:

[lac vpn-connection]
lns = your_vpn_server_ip_or_hostname
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

Замените your_vpn_server_ip_or_hostname на соответствующий адрес.

Шаг 5: Настройка PPP

Создайте новый файл options.xl2tpd:

sudo nano /etc/ppp/options.xl2tpd

Добавьте такие строки:

require-mschap-v2
ms-dns 8.8.8.8
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
debug
lock

Это базовая конфигурация PPP, которая по умолчанию использует Google DNS (8.8.8.8).

Шаг 6: Автоматизация подключения

Чтобы подключение к VPN происходило автоматически при загрузке, откройте файл /etc/systemd/system/l2tp.service:

sudo nano /etc/systemd/system/l2tp.service

Добавьте следующий контент:

[Unit]
Description=L2TP VPN connection
After=network.target

[Service]
ExecStart=/usr/sbin/ipsec up L2TP-VPN
ExecStartPost=/usr/sbin/xl2tpd -c /etc/xl2tpd/xl2tpd.conf
ExecStop=/usr/sbin/ipsec down L2TP-VPN

[Install]
WantedBy=multi-user.target

Затем сохраните и закройте файл и выполните:

sudo systemctl enable l2tp.service

Шаг 7: Установка IP-адреса без туннелирования

Чтобы избежать туннелирования всего интернет-трафика через VPN, нужно будет убедиться, что настройки маршрутизации правильные. Для этого вам нужно добавить статическое правило маршрутизации. Добавьте следующую строку в ваш файл /etc/network/interfaces или настройте правила iptables.

sudo ip route add default via your_default_gateway

Замените your_default_gateway на IP-адрес вашего шлюза.

Заключение

Теперь ваш Ubuntu Server будет автоматически подключаться к L2TP VPN при запуске. Это обеспечит безопасный доступ к вашим SSH-ресурсам, при этом интернет-трафик не будет проходить через VPN, предотвращая тем самым случайную блокировку доступа.

Эти шаги должны помочь вам настроить безопасное соединение для доступа к вашему серверу. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...