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

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

Настройка продвинутого сетевого стека в Termux для специфических задач

Termux предоставляет полноценный Linux‑окружение на Android‑устройствах, позволяя использовать широкий набор сетевых инструментов. В этой статье мы рассмотрим, как собрать продвинутый сетевой стек, пригодный для задач VPN, прокси‑серверов, фильтрации трафика и кастомного DNS.

Установка базовых пакетов

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

pkg update && pkg upgrade -y
pkg install -y git curl wget nano net-tools iproute2
pkg install -y openvpn wireguard-tools tinyproxy squid dnsmasq
pkg install -y iptables nftables

Обратите внимание, что iptables и nftables могут конфликтовать; в большинстве случаев рекомендуется использовать nftables.

Настройка VPN

Для создания защищённого канала можно использовать OpenVPN или WireGuard. Ниже приведены базовые примеры.

OpenVPN

Скачайте конфигурационный файл от вашего провайдера и запустите клиент.

wget https://example.com/client.ovpn -O ~/client.ovpn
openvpn --config ~/client.ovpn --daemon

Для автозапуска создайте скрипт ~/.termux/boot/openvpn.sh и сделайте его исполняемым.

#!/data/data/com.termux/files/usr/bin/sh
openvpn --config ~/client.ovpn --daemon
chmod +x ~/.termux/boot/openvpn.sh

WireGuard

Создайте конфигурацию /data/data/com.termux/files/home/wg0.conf и запустите интерфейс.

cat > ~/wg0.conf <<'EOF'
[Interface]
PrivateKey = YOUR_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF
wg-quick up wg0

Для автоматического поднятия при загрузке добавьте в ~/.termux/boot/wg.sh:

#!/data/data/com.termux/files/usr/bin/sh
wg-quick up wg0
chmod +x ~/.termux/boot/wg.sh

Настройка прокси‑серверов

В зависимости от требований можно использовать tinyproxy (легковесный HTTP‑прокси) или squid (полнофункциональный). Ниже – базовая настройка.

Tinyproxy

mkdir -p $PREFIX/etc/tinyproxy
cp $PREFIX/share/tinyproxy/tinyproxy.conf $PREFIX/etc/tinyproxy/
sed -i 's/^Port 8888/Port 8080/' $PREFIX/etc/tinyproxy/tinyproxy.conf
sed -i 's/^#Allow 127.0.0.1/Allow 0.0.0.0\/0/' $PREFIX/etc/tinyproxy/tinyproxy.conf
tinyproxy -c $PREFIX/etc/tinyproxy/tinyproxy.conf -d

Squid

mkdir -p $PREFIX/etc/squid
squid -z -c $PREFIX/etc/squid/squid.conf
sed -i 's/^http_port 3128/http_port 3128 transparent/' $PREFIX/etc/squid/squid.conf
sed -i 's/^#acl localnet src 10.0.0.0\/8/acl localnet src 0.0.0.0\/0/' $PREFIX/etc/squid/squid.conf
squid -N -d 1 -c $PREFIX/etc/squid/squid.conf

Фильтрация трафика с iptables / nftables

Для ограничения доступа к определённым портам или протоколам используем правила.

# Пример: разрешить только HTTPS и SSH
iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP

Экспортировать правила в файл:

iptables-save > ~/iptables.rules

Для загрузки при старте:

#!/data/data/com.termux/files/usr/bin/sh
iptables-restore < ~/iptables.rules
chmod +x ~/.termux/boot/iptables.sh

Кастомный DNS с dnsmasq

dnsmasq позволяет быстро обслуживать локальные запросы и переадресовывать определённые домены.

mkdir -p $PREFIX/etc/dnsmasq.d
cat > $PREFIX/etc/dnsmasq.conf <<'EOF'
no-resolv
server=1.1.1.1
address=/local.test/192.168.1.100
EOF
dnsmasq --conf-file=$PREFIX/etc/dnsmasq.conf -d

Чтобы использовать dnsmasq в качестве системного резольвера, измените файл /etc/resolv.conf:

echo "nameserver 127.0.0.1" > $PREFIX/etc/resolv.conf

Автозапуск сервисов в Termux

Termux предоставляет директорию ~/.termux/boot, скрипты из которой выполняются при каждом запуске терминала (если включён termux-boot).

pkg install -y termux-services
termux-setup-storage
termux-boot

Поместите все ранее созданные скрипты (openvpn.sh, wg.sh, iptables.sh) в эту директорию и сделайте их исполняемыми.

Безопасность и отладка

  • Регулярно проверяйте логи: logcat | grep termux или просматривайте файлы ~/openvpn.log.
  • Используйте tcpdump (установить pkg install tcpdump) для анализа пакетов.
  • Для ограничения прав доступа к конфигурационным файлам применяйте chmod 600.

Заключение

Настроенный продвинутый сетевой стек в Termux открывает широкие возможности: от безопасных VPN‑соединений до кастомных прокси‑серверов и локального DNS. Благодаря автозапуску и скриптам вы получаете полностью автоматизированную инфраструктуру прямо на мобильном устройстве.

Профессиональные IT‑услуги в Рыбинске оказывает компания RybinskLab. Мы поможем внедрить и поддержать любые решения, адаптированные под ваши бизнес‑задачи.

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

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

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

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

Связаться со мной
Поддержать проект