- Вопрос или проблема
- Ответ или решение
- Подключение к L2TP VPN на Ubuntu Server через командную строку
- Шаг 1: Установка необходимых пакетов
- Шаг 2: Настройка StrongSwan
- Шаг 3: Настройка паролей
- Шаг 4: Настройка xl2tpd
- Шаг 5: Настройка PPP
- Шаг 6: Автоматизация подключения
- Шаг 7: Установка IP-адреса без туннелирования
- Заключение
Вопрос или проблема
Я ищу уже пару дней, но пока не очень удачно, так как всё, с чем я сталкиваюсь, основано на использовании интерфейса 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, предотвращая тем самым случайную блокировку доступа.
Эти шаги должны помочь вам настроить безопасное соединение для доступа к вашему серверу. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.