Создание L2TP VPN-сервера на Android-устройстве с использованием Termux — задача не из легких, но вполне осуществимая. В этом руководстве я покажу, как настроить L2TP VPN-сервер через Termux.
Еще по теме: Запуск HTTP-сервера с HTTPS в Termux
Создание L2TP сервера через Termux
Предварительные условия:
- Root oбязателен для выполнения всех действий.
- Устройство должно поддерживать необходимые модули ядра для IPsec и L2TP.
Получение root-доступа
Инструкции зависят от модели и марки вашего устройства:
- Разблокировка загрузчика (bootloader).
- Установка кастомного рекавери (например, TWRP).
- Установка root-менеджера (например, Magisk).
Установка необходимых пакетов
После получения root-доступа, откройте Termux и установите нужные пакеты:
1 2 |
pkg update && pkg upgrade pkg install strongswan xl2tpd |
Настройка strongSwan
Создайте и отредактируйте файл конфигурации:
1 |
nano /data/data/com.termux/files/usr/etc/ipsec.conf |
Добавьте следующие строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
config setup charondebug="ike 2, knl 2, cfg 2" uniqueids=no conn %default keyexchange=ikev1 authby=secret ike=aes256-sha1-modp1024! esp=aes256-sha1! keyingtries=1 ikelifetime=24h lifetime=24h dpdaction=clear dpddelay=300s rekey=no left=%any leftauth=psk leftsubnet=0.0.0.0/0 right=%any rightauth=psk rightsourceip=10.0.0.0/24 rightsubnet=10.0.0.0/24 auto=add conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT leftfirewall=yes leftupdown=/usr/libexec/ipsec/_updown iptables |
Настройка PSK (предварительно общий ключ)
Создайте и отредактируйте файл конфигурации PSK:
1 |
nano /data/data/com.termux/files/usr/etc/ipsec.secrets |
Добавьте следующую строку:
1 |
: PSK "YOUR_SECRET_KEY" |
Настройка xl2tpd
Создайте и отредактируйте файл конфигурации xl2tpd:
1 |
nano /data/data/com.termux/files/usr/etc/xl2tpd/xl2tpd.conf |
Добавьте следующие строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[global] port = 1701 [lns default] ip range = 10.0.0.2-10.0.0.254 local ip = 10.0.0.1 refuse chap = yes refuse pap = yes require authentication = yes name = L2TP-VPN ppp debug = yes pppoptfile = /data/data/com.termux/files/usr/etc/ppp/options.xl2tpd length bit = yes |
Настройка PPP
Создайте конфиг файл для PPP:
1 |
nano /data/data/com.termux/files/usr/etc/ppp/options.xl2tpd |
Добавьте следующие строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
require-mschap-v2 ms-dns 8.8.8.8 ms-dns 8.8.4.4 asyncmap 0 auth crtscts lock hide-password modem debug name l2tpd proxyarp lcp-echo-interval 30 lcp-echo-failure 4 |
Настройка пользователей
Создайте файл для пользователей:
1 |
nano /data/data/com.termux/files/usr/etc/ppp/chap-secrets |
Добавьте следующую строку:
1 |
"USERNAME" l2tpd "PASSWORD" * |
Запуск сервера
Для запуска сервера потребуется root-доступ:
1. Запустите strongSwan:
1 |
su -c "ipsec start" |
2. Запустите xl2tpd:
1 |
su -c "xl2tpd" |
Важные замечания
- Убедитесь, что ваше устройство поддерживает необходимые модули ядра для IPsec и L2TP.
- Возможно, потребуется настроить правила iptables для корректной работы NAT и Firewall.
- Используйте логи для отладки проблем, связанных с настройкой и подключением.
Настройка L2TP VPN-сервера через Termux на Android-устройстве может быть сложной задачей, особенно из-за необходимости root-доступа и ограничений мобильной платформы. Однако, следуя шагам, описанным выше, вы сможете настроить и запустить VPN-сервер.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Команды Termux по категориям
- Анализ APK-файлов на Android Termux
- Как обойти ограничения OpenVPN Access Server