Linux — родная среда для VPN. Большинство современных VPN-клиентов разрабатывались на Linux, и именно там они работают наиболее предсказуемо. Если вы используете Ubuntu, Fedora, Arch, Mint, Debian или любой другой дистрибутив, эта статья — пошаговый гайд по настройке VPN с протоколами VLESS+REALITY. Покажем три способа: GUI через Hiddify Next, консольный sing-box для серверов и продвинутых пользователей, и интеграцию с NetworkManager для системного VPN. После прочтения у вас будет рабочий VPN на Linux, который автоматически подключается при загрузке системы и обходит ТСПУ Роскомнадзора.
Что вы получите
Рабочий VLESS+REALITY VPN на Linux за 10 минут. Скрипты автозапуска. Решения типичных проблем (Wayland, systemd-resolved, conflict с другими VPN). Прокачанная конфигурация для Linux-сервера (например, для удалённой разработки через VPN). Сравнение Hiddify, sing-box, v2rayA — какое выбрать.
Способ 1. Hiddify Next (GUI, для большинства)
Hiddify Next — open-source GUI-клиент на Flutter, работает на Linux через AppImage. Самый удобный способ для рабочих станций.
Установка через AppImage
# Скачиваем AppImage wget https://github.com/hiddify/hiddify-next/releases/latest/download/Hiddify-Linux-x64.AppImage # Делаем исполняемым chmod +x Hiddify-Linux-x64.AppImage # Запускаем ./Hiddify-Linux-x64.AppImage
AppImage не требует прав администратора и работает в любом Linux-дистрибутиве. Файл автономный, не требует установки в систему.
Установка через Flatpak
Если вы используете Flatpak, Hiddify доступен в Flathub:
flatpak install flathub app.hiddify.com
Импорт подписки
Запустите Hiddify Next, нажмите «+» в углу → «Add from URL» → вставьте ссылку подписки от VPN RUS Client (https://vpnrusclient.com/sub/VPN-XXXX). Hiddify подтянет конфигурацию, появится список серверов: 🇳🇱 Нидерланды, 🇩🇪 Германия. Выберите страну и подключитесь.
Настройка прав на TUN
Для туннельного режима (полный системный VPN) Hiddify требует CAP_NET_ADMIN. AppImage запрашивает sudo при первом подключении. Если хочется без sudo — установите capability вручную:
sudo setcap cap_net_admin+ep ~/Hiddify-Linux-x64.AppImage
Способ 2. sing-box CLI (для серверов и продвинутых)
sing-box — это голый VPN-движок без GUI, идеален для headless-серверов, embedded-устройств, скриптовой автоматизации. Работает на Ubuntu, Fedora, Debian, Arch, OpenWrt, Alpine.
Установка на Ubuntu/Debian
# Добавляем репозиторий sudo curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sing-box.asc echo "deb [signed-by=/etc/apt/keyrings/sing-box.asc] https://deb.sagernet.org/ * *" | sudo tee /etc/apt/sources.list.d/sagernet.list sudo apt update sudo apt install sing-box
Установка на Fedora/RHEL
sudo dnf install dnf-plugins-core sudo dnf config-manager --add-repo https://sing-box.app/sing-box.repo sudo dnf install sing-box
Установка на Arch Linux
В AUR есть пакет sing-box-bin:
yay -S sing-box-bin
Конфигурация sing-box для VPN RUS Client
sing-box использует JSON-конфигурацию. Создайте файл /etc/sing-box/config.json:
{ "log": { "level": "info" }, "outbounds": [ { "type": "selector", "tag": "main", "outbounds": ["NL", "DE"], "default": "NL" }, { "type": "vless", "tag": "NL", "server": "vpn.vpnrusclient.com", "server_port": 443, "uuid": "ВАШ-UUID-ЗДЕСЬ", "tls": { "enabled": true, "server_name": "vpn.vpnrusclient.com" }, "transport": { "type": "ws", "path": "/vpnws", "headers": { "Host": "vpn.vpnrusclient.com" } } }, { "type": "vless", "tag": "DE", "server": "de.vpnrusclient.com", "server_port": 443, "uuid": "ВАШ-UUID-ЗДЕСЬ", "tls": { "enabled": true, "server_name": "de.vpnrusclient.com" }, "transport": { "type": "ws", "path": "/vpnws", "headers": { "Host": "de.vpnrusclient.com" } } }, { "type": "direct", "tag": "direct" } ], "route": { "rules": [ { "ip_is_private": true, "outbound": "direct" } ], "final": "main" }, "inbounds": [ { "type": "tun", "tag": "tun-in", "inet4_address": "172.19.0.1/30", "auto_route": true, "strict_route": true, "stack": "system" } ] }
UUID вы получаете из подписки VPN RUS Client. Чтобы извлечь — откройте ссылку в браузере, увидите base64-текст, декодируйте (echo "..." | base64 -d), там будет vless://UUID@... — это ваш UUID.
Запуск как systemd-сервис
sudo systemctl enable sing-box sudo systemctl start sing-box # Проверка статуса sudo systemctl status sing-box # Логи sudo journalctl -u sing-box -f
После старта VPN активируется системно, весь трафик идёт через туннель.
Способ 3. NetworkManager + интеграция
Для интеграции в системную панель Linux (GNOME/KDE) можно использовать NetworkManager. Это позволяет включать/отключать VPN из меню статус-бара.
К сожалению, NetworkManager нативно не поддерживает VLESS — это очень новый протокол. Но есть способ через nm-extension-vless (community plugin):
# Ubuntu/Debian sudo apt install network-manager-vless # Fedora sudo dnf install NetworkManager-vless # После установки — добавить новое VPN-подключение через GUI: # Settings → Network → VPN → + # Тип: VLESS # URL подписки: https://vpnrusclient.com/sub/...
Не во всех дистрибутивах этот плагин есть. Если нет — используйте Hiddify или sing-box.
VPN на Linux-сервере для команды
Если вы DevOps/системный администратор и хотите дать команде VPN через единый Linux-сервер:
- На Linux-сервере установите sing-box (как outbound через VPN RUS Client)
- Поднимите SOCKS5-сервер на 127.0.0.1:1080 как inbound
- Команда подключается к этому SOCKS5 через ваш сервер
- Все запросы команды идут через ваш sing-box → VPN RUS Client → интернет
Это позволяет иметь один VPN-аккаунт VPN RUS Client (199 ₽/мес) и обслуживать всю команду через прокси на корпоративном сервере. Только помните о limit 4 уникальных IP в 10 мин на стороне VPN RUS Client — для команды до 4-5 человек подходит.
Сравнение клиентов на Linux
| Клиент | GUI | Серверный режим | VLESS+REALITY | Кому подходит |
|---|---|---|---|---|
| Hiddify Next | ✓ | × | ✓ | Рабочая станция, начинающие |
| sing-box | × | ✓ | ✓ | Сервер, headless, скрипты |
| v2rayA | Web UI | ✓ | ✓ | Сервер с веб-управлением |
| Xray-core | × | ✓ | ✓ | Продвинутые, кастомные конфиги |
| NekoRay | ✓ | ✓ | ✓ | Гибкий GUI с advanced настройками |
Решение типичных проблем
VPN подключился, но интернета нет
На Ubuntu это часто связано с systemd-resolved и DNS. Проверьте: cat /etc/resolv.conf — должно показывать 127.0.0.53. Если показывает другой адрес — отключите конфликтующий resolver. Альтернатива: пропишите DNS в Hiddify или sing-box (1.1.1.1, 8.8.8.8).
Hiddify падает на Wayland
Старые версии Hiddify Flutter некорректно работали на Wayland. Решение: запустите с переменной QT_QPA_PLATFORM=xcb. Или обновите Hiddify до 2.0+ — там Wayland поддерживается.
sing-box: «failed to start tun: operation not permitted»
sing-box требует CAP_NET_ADMIN. При запуске через systemd служба должна иметь CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE. По умолчанию в official sing-box.service это уже настроено.
Конфликт с OpenVPN/WireGuard
Если у вас уже стоит другой VPN (например, от работы) — нельзя запускать два TUN-туннеля одновременно. Отключите старый VPN перед запуском Hiddify/sing-box. Можно использовать SOCKS5-режим вместо TUN, тогда конфликта не будет.
Snap-приложения не работают через VPN
Snap использует свой namespace, который иногда не видит TUN-туннель. Решение: перезапустить Snap-приложение после подключения VPN. Или установить через apt/flatpak вместо snap.
Автозапуск VPN при загрузке
Самый надёжный способ — через systemd. Создайте файл ~/.config/systemd/user/hiddify.service:
[Unit] Description=Hiddify VPN After=network-online.target [Service] Type=simple ExecStart=/home/USER/Hiddify-Linux-x64.AppImage --tray Restart=on-failure [Install] WantedBy=default.target
systemctl --user enable hiddify systemctl --user start hiddify
Split tunneling на Linux
В sing-box split tunneling настраивается через routing-rules:
"route": { "rules": [ { "ip_is_private": true, "outbound": "direct" }, { "geoip": "ru", "outbound": "direct" }, { "domain_suffix": [".ru", ".рф"], "outbound": "direct" } ], "final": "main" }
Российские IP и домены (.ru, .рф) идут напрямую, остальное — через VPN. Идеально для повседневной работы.
FAQ про VPN на Linux
Можно ли использовать VPN на VPS-сервере?
Да, sing-box или xray-core на Linux-сервере — стандартный сценарий. Можно использовать как outbound (например, для обхода геоблокировок API в коде) или как relay (форвардинг трафика других пользователей).
VPN на Raspberry Pi?
Полностью работает. sing-box есть в ARM-сборке. Можно сделать домашний VPN-роутер: Pi с VPN, Wi-Fi точка доступа на Pi → весь домашний трафик через VPN. Идеально для Smart TV и других устройств без своего VPN.
VPN на сервере GitLab/Jenkins для CI?
Если ваш CI требует доступа к зарубежным сервисам (npm, PyPI, Docker Hub) — VPN полезен. Но обычно для CI лучше использовать локальные mirror-ы (Verdaccio, Nexus) и не гонять весь трафик через VPN — это медленнее и ненадёжнее.
Snap или Flatpak?
Hiddify через Flatpak работает стабильнее, чем через Snap. Snap имеет дополнительные ограничения песочницы, иногда конфликтующие с VPN. Если есть выбор — берите Flatpak или AppImage.
Стоит ли компилировать Xray-core самостоятельно?
Только для специфических случаев (старые ARM-устройства, embedded, кастомные патчи). Для типичного использования бинарник sing-box достаточен и проверен.
Заключение
Linux — лучшая платформа для VPN-энтузиаста. Все современные клиенты работают нативно, есть гибкие конфигурации для любых сценариев — от домашней рабочей станции до корпоративного gateway. VPN RUS Client с поддержкой VLESS+REALITY идеально интегрируется через Hiddify, sing-box или v2rayA.