We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Termux как мобильный VPN‑сервер: полная настройка OpenVPN и WireGuard

Termux – это мощный терминал для Android, позволяющий запускать полноценные Linux‑утилиты. В этой статье мы покажем, как превратить ваш смартфон в полноценный VPN‑сервер, используя два самых популярных протокола: OpenVPN и WireGuard. Такой сервер может обеспечить безопасный доступ к домашней сети, обход гео‑блокировок и защиту при работе в публичных Wi‑Fi.

Подготовка устройства

  • Установите приложение Termux из Google Play.
  • Для работы VPN‑сервера потребуется root‑доступ (для настройки iptables/NAT). Если ваш телефон не рутован, можно использовать termux-wifi-auto‑скрипты, но функциональность будет ограничена.
  • Убедитесь, что у вас есть стабильное подключение к Интернету (например, 4G/5G).

Обновление и базовая настройка Termux

pkg update && pkg upgrade -y
pkg install -y wget curl git proot-distro

Установим необходимые пакеты и убедимся, что система готова к работе.

Настройка OpenVPN

Установка пакетов

pkg install -y openvpn easy-rsa iproute2 iptables

Создание PKI (Public Key Infrastructure)

Для генерации сертификатов будем использовать easy-rsa:

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-dh
./easyrsa build-server-full server nopass
./easyrsa build-client-full client1 nopass

Полученные файлы находятся в ~/openvpn-ca/pki. Скопируем их в рабочую директорию сервера:

mkdir -p ~/openvpn-server
cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem ~/openvpn-server/

Конфигурация сервера

Создаём файл server.conf:

cat > ~/openvpn-server/server.conf <<'EOF'
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA256
cipher AES-256-CBC
persist-key
persist-tun
keepalive 10 120
user nobody
group nogroup
persist-tun
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /data/data/com.termux/files/home/openvpn-server/openvpn.log
verb 3
EOF

Настройка NAT и IP‑forwarding

Разрешим пересылку пакетов и настроим маскарадинг:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o wlan0 -j MASQUERADE

Для сохранения правил после перезагрузки можно добавить их в ~/.bashrc или использовать iptables-save и iptables-restore.

Запуск OpenVPN‑сервера

openvpn --config ~/openvpn-server/server.conf &

Процесс будет работать в фоне. Проверить статус можно командой ps aux | grep openvpn.

Создание клиентского конфигурационного файла

Соберём клиентский .ovpn файл, включив в него сертификаты:

cat > ~/client1.ovpn <<'EOF'
client
dev tun
proto udp
remote YOUR_PUBLIC_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA256
cipher AES-256-CBC
verb 3

$(cat ~/openvpn-ca/pki/ca.crt)


$(cat ~/openvpn-ca/pki/issued/client1.crt)


$(cat ~/openvpn-ca/pki/private/client1.key)

EOF

Скопируйте client1.ovpn на клиентское устройство (Android, Windows, macOS) и импортируйте в приложение OpenVPN Connect.

Настройка WireGuard

Установка пакетов

pkg install -y wireguard-tools iproute2 iptables

Генерация ключей

umask 077
wg genkey | tee ~/wg_privatekey | wg pubkey > ~/wg_publickey

Для клиента генерируем отдельный набор ключей, например client_privatekey и client_publickey.

Конфигурация сервера (wg0.conf)

cat > ~/wg0.conf <<'EOF'
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = $(cat ~/wg_privatekey)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE

[Peer]
# client1
PublicKey = CLIENT_PUBLIC_KEY_PLACEHOLDER
AllowedIPs = 10.200.200.2/32
EOF

Замените CLIENT_PUBLIC_KEY_PLACEHOLDER на публичный ключ клиента.

Конфигурация клиента

cat > client1.conf <<'EOF'
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY_PLACEHOLDER
Address = 10.200.200.2/24
DNS = 8.8.8.8, 8.8.4.4

[Peer]
PublicKey = $(cat ~/wg_publickey)
Endpoint = YOUR_PUBLIC_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF

Опять же замените CLIENT_PRIVATE_KEY_PLACEHOLDER на соответствующий ключ.

Запуск WireGuard

wg-quick up wg0

Для остановки используйте wg-quick down wg0. Статус можно проверить командой wg show.

Тестирование и отладка

  • Проверьте подключение с клиента: ping 10.8.0.1 (OpenVPN) или ping 10.200.200.1 (WireGuard).
  • Убедитесь, что внешний IP меняется: откройте ifconfig.me в браузере клиента.
  • Для диагностики используйте логи: cat ~/openvpn-server/openvpn.log и wg show.
  • Если сервер не стартует, проверьте наличие прав root для iptables и корректность sysctl параметров.

Рекомендации по безопасности

  • Используйте сильные пароли и, по возможности, двухфакторную аутентификацию в клиентском приложении.
  • Регулярно обновляйте пакеты Termux: pkg upgrade -y.
  • Ограничьте входящие соединения только с нужных IP (iptables -s).
  • Включите журналирование соединений для быстрого обнаружения подозрительной активности.

Заключение

Termux предоставляет полноценную Linux‑среду на Android‑устройстве, позволяя развернуть надёжный VPN‑сервер как на базе OpenVPN, так и на более лёгком и быстром WireGuard. Следуя приведённым шагам, вы получаете полностью управляемый сервер, который можно использовать для защиты трафика, доступа к домашней сети и обхода ограничений.

Если вам требуется профессиональная поддержка, настройка масштабных VPN‑инфраструктур или интеграция с корпоративными решениями, обращайтесь в RybinskLab. Мы предоставляем услуги по разработке, аудиту и обслуживанию VPN‑систем, а также обучающие курсы по работе с Termux и сетевой безопасностью.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной