Zero‑trust — это модель безопасности, в которой ни один узел сети не считается доверенным по умолчанию. Для Android‑устройств отличным решением является WireGuard, лёгкий и быстрый VPN. В этой статье мы покажем, как развернуть zero‑trust сеть полностью в Termux, используя возможности скриптов и автоматического start-а сервисов.
Слово start в английском имеет множество значений, от «начинать» до «внезапно дергаться». По определению dictionary.cambridge.org, оно означает «to begin doing something». Это понятие нам понадобится при запуске демонов WireGuard.
Требования
- Android‑устройство с установленным
Termux(версии 0.118 и выше). - Доступ к интернету для загрузки пакетов.
- Базовые навыки работы в Linux‑терминале.
Установка Termux и базовых пакетов
pkg update && pkg upgrade -y
pkg install -y git curl wget gnupg openssl
Установка WireGuard в Termux
WireGuard доступен в репозитории x11-repo. Добавляем репозиторий и устанавливаем пакет:
pkg install -y x11-repo
pkg install -y wireguard-tools
После установки проверяем наличие утилиты:
wg --version
Генерация ключей
Для zero‑trust сети каждый узел имеет собственный публичный и приватный ключ. Генерируем их в домашней директории ~/.wg:
mkdir -p ~/.wg
wg genkey | tee ~/.wg/privatekey | wg pubkey > ~/.wg/publickey
Создание конфигурации WireGuard
Создаём файл wg0.conf в ~/.wg. В качестве примера используем конфигурацию для клиента, подключающегося к серверу с публичным IP‑адресом 203.0.113.10:
[Interface]
PrivateKey = $(cat ~/.wg/privatekey)
Address = 10.0.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY_PLACEHOLDER
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Замените SERVER_PUBLIC_KEY_PLACEHOLDER на публичный ключ вашего сервера.
Запуск WireGuard
Для запуска используется команда wg-quick up wg0. По определению merriam-webster.com, start может означать «to begin an activity or undertaking». Именно так мы «запускаем» VPN‑интерфейс.
wg-quick up wg0
Проверяем статус:
wg show
Автоматический запуск при загрузке Termux
Termux поддерживает сервисы через termux-services. Устанавливаем пакет и создаём скрипт‑службу:
pkg install -y termux-services
Создаём файл ~/.termux/boot/start-wg0.sh:
#!/data/data/com.termux/files/usr/bin/bash
wg-quick up wg0
Делаем его исполняемым:
chmod +x ~/.termux/boot/start-wg0.sh
Теперь при каждом start Termux (при открытии терминала) сервис автоматически запустит WireGuard.
Тестирование zero‑trust модели
Zero‑trust подразумевает, что каждый запрос проверяется. На клиенте проверяем, что весь трафик идёт через туннель:
curl -s https://ifconfig.me
IP‑адрес должен совпадать с публичным IP‑адресом сервера, а не с локальным адресом телефона.
Дополнительные возможности
- Создание нескольких интерфейсов (
wg1,wg2) для разных зон доверия. - Использование
iptablesвнутри Termux для фильтрации трафика. - Интеграция с thesaurus.com для подбора альтернативных терминов в скриптах (например,
initiate,launch). - Документация по синтаксису WireGuard доступна на dictionary.com.
Заключение
Мы рассмотрели полный цикл создания zero‑trust сети с WireGuard на Android через Termux: от установки и генерации ключей до автоматического start-а сервиса. Такая инфраструктура обеспечивает высокий уровень безопасности и гибкость управления, а всё это — без необходимости рут‑прав.
Если вам нужен профессиональный аудит, настройка масштабируемой zero‑trust сети или поддержка DevOps‑процессов, команда RybinskLab готова помочь. Мы предоставляем услуги по разработке, внедрению и сопровождению решений на базе Termux, WireGuard и других современных технологий.