VLESSbot

VPN на Linux — Hiddify, sing-box CLI, systemd, TUN, Wayland (2026)

Чтение: 11 мин

Автор: команда Chill VPN | Опубликовано: 11.05.2026 | Обновлено: 19.05.2026 | Чтение: 12 мин

Также известен как «ускоритель интернета», «стабильный канал» или «защищённое соединение».

Linux — самая гетерогенная платформа для VPN-юзера. Десятки дистрибутивов с разными package-менеджерами (apt, dnf, pacman, zypper, apk, nix), два display-сервера (X11 и Wayland), разные системы инициализации (systemd, OpenRC, runit), несколько desktop-environments (GNOME, KDE, XFCE, Hyprland). Это означает что универсальный гайд по VPN на Linux невозможен — нужно подстраиваться под конкретное окружение.

В этой статье — детальный setup для 5 популярных дистрибутивов (Ubuntu 24.04, Debian 12, Arch, Fedora 41, NixOS 25), 3 подхода к VPN (Hiddify GUI, NekoRay/NekoBox CLI, sing-box CLI с systemd), решение common-проблем (TUN capabilities, systemd-resolved для DNS, conflict Wayland с some GUI), и специфический сценарий — Raspberry Pi как VPN-gateway для всей домашней сети.

Что в статье

  1. Выбор подхода: GUI vs CLI vs server-mode
  2. Hiddify Next на Linux — AppImage, .deb, Flatpak
  3. NekoBox / NekoRay — для опытных, лучшая интеграция с sing-box
  4. sing-box CLI без GUI — для serverов и headless
  5. Установка на Ubuntu/Debian — apt-based
  6. Установка на Arch — pacman / AUR / yay
  7. Установка на Fedora — dnf
  8. Установка на NixOS — flake-based decларативная установка
  9. Установка на Alpine — apk и контейнеры
  10. TUN-режим: CAP_NET_ADMIN, setcap, sysctl
  11. DNS через VPN: systemd-resolved, manual resolv.conf
  12. Wayland vs X11 для GUI VPN-клиентов
  13. Raspberry Pi как VPN-gateway для дома
  14. FAQ — Docker, Tor chains, kill switch через nftables, IPv6

---

Выбор подхода — GUI vs CLI vs server-mode

Hiddify GUI — стандартный путь для desktop-юзеров. Простой, кросс-платформенный, ставится за 5 минут.

NekoBox / NekoRay — для опытных. Мощный routing, поддержка sing-box и xray-core, Qt-интерфейс.

sing-box CLI — для server'ов, headless-машин, и those хотят полный контроль через config-файл.

Какой выбрать:

---

Hiddify Next на Linux

AppImage (универсальный):

wget https://github.com/hiddify/hiddify-app/releases/latest/download/Hiddify-Linux-x64.AppImage
chmod +x Hiddify-Linux-x64.AppImage
./Hiddify-Linux-x64.AppImage

AppImage — это portable executable, работает на любом дистрибутиве с glibc 2.31+.

Для Ubuntu / Debian (.deb):

wget https://github.com/hiddify/hiddify-app/releases/latest/download/Hiddify-Linux-x64.deb
sudo dpkg -i Hiddify-Linux-x64.deb
sudo apt install -f  # доставить зависимости
hiddify-app

Flatpak:

Capability для TUN:

sudo setcap 'cap_net_admin,cap_net_raw=eip' /usr/local/bin/hiddify-app

Без этой команды Hiddify в TUN-режиме потребует sudo. С setcap — работает от user.

---

NekoBox / NekoRay

Скачивание:

wget https://github.com/MatsuriDayo/NekoBoxForAndroid/releases/latest/download/nekobox-linux-amd64.AppImage
chmod +x nekobox-linux-amd64.AppImage

Или из исходников:

git clone https://github.com/MatsuriDayo/nekoray.git
cd nekoray
sudo apt install -y cmake qtbase5-dev libqt5svg5-dev libgrpc++-dev
mkdir build && cd build
cmake ..
make -j$(nproc)

Особенности NekoBox:

---

sing-box CLI без GUI

Для server'ов и headless-машин.

Установка:

# Скачать релиз для своей архитектуры
curl -L -o /tmp/sing-box.tar.gz \
  https://github.com/SagerNet/sing-box/releases/latest/download/sing-box-1.10.0-linux-amd64.tar.gz

tar -xzf /tmp/sing-box.tar.gz -C /tmp
sudo cp /tmp/sing-box-*/sing-box /usr/local/bin/
sudo chmod +x /usr/local/bin/sing-box
sudo setcap 'cap_net_admin,cap_net_raw=eip' /usr/local/bin/sing-box

Конфиг /etc/sing-box/config.json:

{
  "log": {"level": "info"},
  "dns": {
    "servers": [
      {"address": "https://1.1.1.1/dns-query", "tag": "dns-cloudflare"},
      {"address": "8.8.8.8", "tag": "dns-google"}
    ]
  },
  "inbounds": [{
    "type": "tun",
    "tag": "tun-in",
    "inet4_address": "172.19.0.1/30",
    "inet6_address": "fdfe:dcba:9876::1/126",
    "auto_route": true,
    "stack": "system",
    "sniff": true
  }],
  "outbounds": [
    {
      "type": "vless",
      "tag": "proxy",
      "server": "YOUR-SERVER-IP",
      "server_port": 443,
      "uuid": "YOUR-UUID",
      "flow": "xtls-rprx-vision",
      "tls": {
        "enabled": true,
        "server_name": "www.cloudflare.com",
        "utls": {"enabled": true, "fingerprint": "chrome"},
        "reality": {
          "enabled": true,
          "public_key": "YOUR-PUBLIC-KEY",
          "short_id": "YOUR-SHORT-ID"
        }
      }
    },
    {"type": "direct", "tag": "direct"},
    {"type": "block", "tag": "block"}
  ],
  "route": {
    "rules": [
      {"geoip": ["ru", "private"], "outbound": "direct"},
      {"domain_suffix": ["sber.ru", "tinkoff.ru", "gosuslugi.ru"], "outbound": "direct"}
    ],
    "final": "proxy",
    "auto_detect_interface": true
  }
}

Systemd сервис /etc/systemd/system/sing-box.service:

[Unit]
Description=sing-box VPN
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json
Restart=on-failure
RestartSec=5
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

Активация:

sudo systemctl daemon-reload
sudo systemctl enable --now sing-box
sudo systemctl status sing-box
journalctl -u sing-box -f  # логи

---

Установка на Ubuntu / Debian

Ubuntu 24.04 / Debian 12:

# Hiddify GUI (.deb)
wget https://github.com/hiddify/hiddify-app/releases/latest/download/Hiddify-Linux-x64.deb
sudo dpkg -i Hiddify-Linux-x64.deb
sudo apt install -f

# Или sing-box CLI
sudo apt update && sudo apt install curl
# Дальше как выше — скачиваешь sing-box, ставишь

Repository подход (для server'ов): sing-box имеет официальный APT-repo:

curl -fsSL https://sing-box.app/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/sing-box.gpg
echo "deb [signed-by=/usr/share/keyrings/sing-box.gpg] https://deb.sing-box.app/ * *" | sudo tee /etc/apt/sources.list.d/sing-box.list
sudo apt update
sudo apt install sing-box

После установки конфиг в /etc/sing-box/config.json, сервис автоматически создан.

---

Установка на Arch Linux

Pacman (если в Arch repo):

sudo pacman -S sing-box

AUR (через yay или paru):

yay -S hiddify-next-bin
yay -S nekoray-bin

Arch Build System (если хочешь компилировать):

git clone https://aur.archlinux.org/sing-box.git
cd sing-box
makepkg -si

Arch всегда даёт самые свежие версии.

---

Установка на Fedora

Fedora 41:

# sing-box через COPR (Community Project Repository)
sudo dnf copr enable solopasha/sing-box
sudo dnf install sing-box

# Hiddify через .rpm
wget https://github.com/hiddify/hiddify-app/releases/latest/download/Hiddify-Linux-x64.rpm
sudo dnf install ./Hiddify-Linux-x64.rpm

RHEL / CentOS Stream / Rocky Linux:

---

Установка на NixOS

NixOS — декларативный setup через flakes:

/etc/nixos/configuration.nix:

{ config, pkgs, ... }:
{
  # Установка sing-box
  environment.systemPackages = with pkgs; [
    sing-box
  ];

  # Конфиг и сервис
  systemd.services.sing-box = {
    description = "sing-box VPN";
    after = [ "network.target" ];
    wantedBy = [ "multi-user.target" ];
    serviceConfig = {
      ExecStart = "${pkgs.sing-box}/bin/sing-box run -c /etc/sing-box/config.json";
      Restart = "on-failure";
      AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_RAW";
    };
  };

  # NetworkManager если desktop
  networking.networkmanager.enable = true;
}

После: sudo nixos-rebuild switch.

Преимущество NixOS — config в одном месте, можно reproducible на другой машине одной командой.

---

Установка на Alpine

Alpine — для контейнеров и embedded:

apk add sing-box
# либо
apk add ca-certificates curl
curl -L -o /tmp/sing-box.tar.gz https://github.com/SagerNet/sing-box/releases/latest/download/sing-box-linux-amd64.tar.gz
# и т.д.

OpenRC service вместо systemd:

cat > /etc/init.d/sing-box << 'EOF'
#!/sbin/openrc-run
command=/usr/local/bin/sing-box
command_args="run -c /etc/sing-box/config.json"
command_background=true
pidfile=/run/sing-box.pid
EOF

chmod +x /etc/init.d/sing-box
rc-update add sing-box default
rc-service sing-box start

---

TUN-режим — CAP_NET_ADMIN, setcap, sysctl

Необходимые capabilities:

Дать без sudo:

sudo setcap 'cap_net_admin,cap_net_raw=eip' /path/to/sing-box
# Проверь:
getcap /path/to/sing-box

Для systemd-сервиса: В unit-файле:

AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW

sysctl для IPv4-forwarding (если нужен gateway-режим):

echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-ipforward.conf
sudo sysctl -p

---

DNS через VPN — systemd-resolved, manual resolv.conf

systemd-resolved (default на Ubuntu, Fedora):

/etc/systemd/resolved.conf:

[Resolve]
DNS=1.1.1.1 1.0.0.1
DNSStubListener=yes
DNSSEC=yes
DNSOverTLS=yes
sudo systemctl restart systemd-resolved

Manual resolv.conf (для дистрибутивов без systemd-resolved):

sudo rm -f /etc/resolv.conf
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
sudo chattr +i /etc/resolv.conf  # защитить от NetworkManager-overwrite

Внутри sing-box DNS-конфиг (см. config.json выше) — лучше всего, направляет резолв через туннель.

---

Wayland vs X11 для GUI VPN-клиентов

X11:

Wayland (GNOME 40+, KDE Plasma 6+):

На Hyprland / Sway:

---

Raspberry Pi как VPN-gateway

Один из лучших use-cases Linux VPN: ставишь sing-box на Raspberry Pi 4 (или 5), включаешь IP-forwarding, и все домашние устройства автоматически идут через VPN.

Setup:

  1. OS: Raspberry Pi OS (Debian-based) или Ubuntu Server ARM64
  1. sing-box ARM64:
curl -L -o /tmp/sing-box.tar.gz \
  https://github.com/SagerNet/sing-box/releases/latest/download/sing-box-linux-arm64.tar.gz
tar -xzf /tmp/sing-box.tar.gz -C /tmp
sudo cp /tmp/sing-box-*/sing-box /usr/local/bin/
sudo setcap 'cap_net_admin,cap_net_raw=eip' /usr/local/bin/sing-box
  1. IP-forwarding:
echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-ipforward.conf
sudo sysctl -p
  1. NAT для домашних устройств: через iptables или nftables:
sudo nft add table inet nat
sudo nft add chain inet nat postrouting { type nat hook postrouting priority srcnat \; }
sudo nft add rule inet nat postrouting oifname "tun0" masquerade
  1. DHCP на Raspberry Pi — раздаёт IP домашним устройствам с gateway = Pi.
  1. Все домашние устройства: при подключении к Wi-Fi роутера → IP от Pi → шлюз — Pi → весь трафик идёт через sing-box-туннель → VPN.

Преимущества:

Минусы:

---

FAQ

Можно ли запустить sing-box в Docker? Да. Официальный Docker-image:

docker run -d --name sing-box \
  --cap-add=NET_ADMIN \
  --device /dev/net/tun \
  -v /etc/sing-box:/etc/sing-box \
  ghcr.io/sagernet/sing-box:latest run -c /etc/sing-box/config.json

Tor + VPN chain на Linux — как настроить? Подключаешь VPN → tor-сервис ходит через VPN → твой браузер через Tor. Сценарий: VPN-провайдер не видит что ты в Tor, Tor-exit не видит твой реальный IP.

Kill switch через nftables на Linux:

sudo nft add table inet filter
sudo nft add chain inet filter output { type filter hook output priority filter \; policy drop \; }
sudo nft add rule inet filter output oifname "tun0" accept
sudo nft add rule inet filter output oifname "lo" accept
sudo nft add rule inet filter output meta nfproto ipv4 daddr YOUR-VPN-SERVER accept

Это блокирует всё кроме VPN-туннеля и подключения к VPN-серверу.

IPv6 на Linux через VPN — нужно настраивать отдельно? В sing-box config есть IPv6 (inet6_address). Если у тебя дома IPv6 от провайдера — настрой и его, иначе утечка.

WireGuard на Linux отдельно от sing-box? WireGuard — стандартный Linux-протокол, есть в kernel с 5.6. Ставится через apt install wireguard, конфиг в /etc/wireguard/wg0.conf, запуск wg-quick up wg0. Это альтернатива sing-box для одного протокола.

Хочу VPN на сервере (Debian) для outbound-трафика — как? Поднимаешь sing-box на сервере → все запросы из сервера идут через VPN. Полезно для scrapeров, ботов, обхода geo-block в API. Сервер в датацентре + VPN-туннель в EU = поведение «обычного пользователя» для целевого сервиса.

SystemD-resolved vs Network Manager — конфликт? Не сильный. NetworkManager использует systemd-resolved как backend по умолчанию. DNS-настройки в systemd-resolved.conf приоритетнее.

Что делать если sing-box падает после systemctl restart? Проверь логи: journalctl -u sing-box -n 50. Часто проблема в правах TUN-интерфейса. Сделай setcap команду ещё раз после обновлений.

Можно ли держать конфиги VPN в Git-репо? Технически — да, но твой UUID и Reality-keys — это секреты. Лучше в Git хранить шаблон конфига (без keys), а keys — в env-variables или encrypted secrets (например, sops, age).

ARM Linux на M-маках (через UTM или Parallels)? sing-box-linux-arm64 — да, работает в ARM-виртуалке. Конфигурация идентична.

---

Итог

Linux — это гетерогенная платформа, требующая выбора пути по дистрибутиву и задаче. Для desktop Ubuntu/Fedora — Hiddify GUI (5 минут setup). Для опытных — NekoBox (Qt). Для серверов и headless — sing-box CLI с systemd. На NixOS — декларативно через flakes. На Raspberry Pi — отличный VPN-gateway для всей домашней сети. Главные подводные камни: TUN-capabilities (setcap CAP_NET_ADMIN), systemd-resolved DNS, и совместимость с Wayland (некоторые tray-иконки требуют дополнительной настройки).

Получить ключ VLESS для Linux →

---

Читайте также