Настройка L2TP с использованием Strongswan

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

Я настроил ikev2 с использованием Strongswan. Теперь мне нужно добавить поддержку l2tp. Какой лучший и простой способ добавить поддержку l2tp в Strongswan? Буду признателен за любую помощь.

Что касается конфигурации strongSwan, вам лишь необходимо разрешить инкапсуляцию L2TP трафика в туннель. Для этого следует указать порт L2TP в параметрах local_ts/remote_ts в swanctl.conf или leftsubnet/rightsubnet в ipsec.conf. Порт по умолчанию для L2TP – UDP/1701. Например:

> cat swanctl.conf
connections {
    # некоторые параметры
    connection1 {
    # некоторые параметры
        children {
            child1 {
                # некоторые параметры
                local_ts = 192.168.1.1[udp/1701]
                remote_ts = 192.168.1.10[udp/1701]
                # возможно, еще какие-то параметры
            }
        }
    }
}

После установления IPsec туннеля вы должны запускать ваш L2TP сервер/клиент, как если бы IPsec туннель вовсе не существовал. Ваш L2TP трафик будет прозрачно зашифрован с одной стороны и расшифрован с другой. Я бы рекомендовал эту статью по настройке L2TP в xl2tpd.

Рабочая конфигурация swanctl для strongswan в режиме клиента при подключении к L2TP VPN хабу с PSK:

connections {
    vpnhub {
        local-1 {
            id=192.168.1.27
            auth=psk
        }
        remote-1 {
            id=325.678.571.25
            auth=psk
        }
        children {
            default {
                esp_proposals=aes128-sha1-modp1024
                dpd_action=clear
                start_action=trap
                mode=transport
                local_ts=dynamic[17/1701]
                remote_ts=dynamic[17/1701]
            }
        }
        version=2
        proposals=aes128-sha1-modp2048
        local_addrs=192.168.1.27
        remote_addrs=325.678.571.25
        rekey_time=1h
    }
}

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

Для добавления поддержки L2TP в уже настроенный IPsec с использованием strongSwan, вам нужно учесть несколько ключевых аспектов конфигурации. В этом ответе будет подробно описан процесс настройки, чтобы вы могли эффективно интегрировать L2TP в свою существующую VPN.

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

Для начала убедитесь, что все необходимые пакеты установлены на вашем сервере. Для поддержки L2TP вам понадобится установить пакет xl2tpd, который является сервером L2TP. Вы можете установить его с помощью вашей системы управления пакетами. Например, для Ubuntu или Debian используйте:

sudo apt-get update
sudo apt-get install xl2tpd

Шаг 2: Настройка strongSwan для L2TP

После установки необходимых пакетов, отредактируйте конфигурационный файл strongSwan swanctl.conf (или ipsec.conf, в зависимости от вашей версии и предпочтений).

Пример конфигурации для swanctl.conf может выглядеть следующим образом:

connections {
    vpnhub {
        local-1 {
            id=192.168.1.27
            auth=psk
        }
        remote-1 {
            id=325.678.571.25
            auth=psk
        }
        children {
            default {
                esp_proposals=aes128-sha1-modp2048
                dpd_action=clear
                start_action=trap
                mode=transport
                local_ts=dynamic[17/1701]
                remote_ts=dynamic[17/1701]
            }
        }
        version=2
        proposals=aes128-sha1-modp2048
        local_addrs=192.168.1.27
        remote_addrs=325.678.571.25
        rekey_time=1h
    }
}

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

Теперь, когда strongSwan настроен для работы с L2TP, вам нужно будет настроить сервер xl2tpd. Откройте файл конфигурации /etc/xl2tpd/xl2tpd.conf и отредактируйте его, добавив следующие параметры:

[lac myvpn]
lns = 192.168.1.10
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd

[lac myvpn]
line = myvpn
name = myvpn
redial = yes
redial timeout = 5
require chap = yes
refuse pap = yes
require authentication = yes

Шаг 4: Настройка PPP для xl2tpd

После этого вам нужно будет настроить /etc/ppp/options.xl2tpd. Пример такого конфигурационного файла:

require-mschap-v2
noccp
auth
crtscts
lock
hide-password
modem
name myvpn
172.16.0.1:172.16.0.2
debug
nodefaultroute
replacedefaultroute
persist
maxfail 0

Шаг 5: Перезапуск служб

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

sudo systemctl restart strongswan
sudo systemctl restart xl2tpd

Шаг 6: Проверка соединения

Используйте следующие команды для проверки статуса соединений:

sudo ipsec status
sudo xl2tpd -c /etc/xl2tpd/xl2tpd.conf

Заключение

Эти шаги позволят вам настроить поддержку L2TP в strongSwan. Обратите внимание, что аутентификация должна быть правильно настроена, и убедитесь, что ваши правила брандмауэра (iptables) позволяют трафик на UDP порту 1701.

В случае возникновения проблем, проверьте логи strongSwan и xl2tpd для получения более подробной информации о ситуации.

Полезные ресурсы

  • Официальная документация strongSwan.
  • Сообщество поддержки пользователя для получения помощи.

Следуя этому руководству, вы сможете легко интегрировать L2TP в вашу настройку VPN на основе strongSwan.

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

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