настройка sing box на openwrt
настройка sing-box на openwrt
Sing-box на OpenWrt: безопасная настройка без подводных
Подробный гайд: настройка sing-box на openwrt — шаг за шагом, с защитой от утечек и обходом DPI. Настрой сегодня!
настройка sing-box на openwrt — это не просто установка пакета и запуск службы. Это комплексная задача по созданию доверенного сетевого шлюза, который будет фильтровать весь трафик домашней сети, скрывать реальные IP-адреса устройств и предотвращать утечки через DNS, WebRTC или приложения, игнорирующие системные настройки прокси. В этом материале разберём всё: от выбора протокола до проверки kill switch после перезагрузки роутера.
Почему обычный WireGuard на OpenWrt — это полумера?
Многие пользователи ставят WireGuard на роутер и считают проблему решённой. Но реальность сложнее:
- Нет защиты от DPI (Deep Packet Inspection). Роскомнадзор и провайдеры легко блокируют чистый WireGuard по сигнатурам.
- Отсутствует split tunneling по доменам. Весь трафик идёт через VPN, включая локальные сервисы (например, NAS или камеру наблюдения), что создаёт задержки.
- Нет fallback-механизмов. При обрыве соединения трафик может «выпасть» в открытый интернет — особенно если не настроен iptables правильно.
- WireGuard сам по себе — только туннель, без встроенных правил маршрутизации, фильтрации рекламы или обхода блокировок.
Sing-box решает эти проблемы. Это универсальный прокси-платформа с поддержкой десятков протоколов (Shadowsocks, VLESS, Trojan, Tor, даже DNS-over-HTTPS), возможностью писать собственные правила маршрутизации и интегрировать obfs4, TLS-fingerprinting и другие методы маскировки.
Чего вам НЕ говорят в других гайдах
Большинство инструкций в рунете сводятся к «скопируй конфиг — запусти». Но за этим стоит несколько опасных мифов:
- «Бесплатные конфиги — это дар»
На практике такие файлы часто содержат: - Устаревшие или поддельные сертификаты.
- Серверы, контролируемые третьими лицами (вплоть до мошенников).
- Скрытые метрики, отправляющие ваш IP и список посещённых сайтов.
Пример: в 2023 году исследователи обнаружили, что 78% «бесплатных Shadowsocks-конфигов» из Telegram-каналов вели на серверы, собирающие трафик для последующей перепродажи.
- «Kill switch работает всегда»
Не факт. Многие реализации отключаются при: - Перезагрузке роутера до полного старта sing-box.
- Сбое DHCP-сервера.
- Обновлении прошивки OpenWrt.
Проверить можно так: отключи интернет на WAN-порту и убедись, что устройства в LAN не получают доступа в сеть. Если пингуется 8.8.8.8 — kill switch не сработал.
-
«No-logs — значит анонимность»
Юрисдикция важнее слов в политике. Провайдер из США, Германии или Франции обязан выдать данные по запросу суда — даже если заявляет «no logs». А вот сервер в Казахстане или Беларуси может передавать информацию без ордера. -
«DNS утечек нет, если я использую DoH»
Неверно. Приложения вроде Zoom, Discord или Steam могут использовать собственные DNS-резолверы, игнорируя системные настройки. Только принудительная маршрутизация через TProxy или REDIRECT в iptables гарантирует перехват всех запросов. -
«Обход блокировок = безопасность»
Нет. Маскировка трафика (например, через WebSocket + TLS) помогает обойти цензуру, но не защищает от MITM-атак, если не проверять сертификаты (certificate pinning). Без этого злоумышленник в публичном Wi-Fi может подменить сайт банка.
Подготовка: что нужно до установки
Перед тем как начать настройку sing-box на openwrt, убедитесь в следующем:
- Версия OpenWrt — не ниже 22.03. Поддержка musl и современных библиотек обязательна.
- Свободное место — минимум 15 МБ. Sing-box с зависимостями весит около 8–10 МБ.
- Доступ по SSH — через
ssh root@192.168.1.1. - Резервная копия — сохраните текущий
/etc/config/networkи/etc/config/firewall.
Установка через opkg:
opkg update
opkg install sing-box
Если пакет недоступен — соберите его вручную через ImageBuilder или скачайте бинарник с GitHub Releases (проверьте SHA256!).
Конфигурация: от нуля до рабочего туннеля
Sing-box управляется через один JSON- или YAML-файл: /etc/sing-box/config.json.
Пример минимального конфига для VLESS + WebSocket + TLS (часто используется для обхода блокировок):
{
"log": { "level": "warn" },
"dns": {
"servers": [
{
"address": "https://dns.google/dns-query",
"detour": "direct"
}
]
},
"inbounds": [
{
"type": "tproxy",
"listen": "0.0.0.0",
"listen_port": 1080,
"sniff": true,
"sniff_override_destination": true
}
],
"outbounds": [
{
"type": "vless",
"tag": "proxy",
"server": "your-server.com",
"server_port": 443,
"uuid": "ваш-uuid",
"packet_encoding": "xudp",
"tls": {
"enabled": true,
"server_name": "your-server.com"
},
"transport": {
"type": "ws",
"path": "/websocket-path"
}
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
}
],
"route": {
"rules": [
{ "domain_suffix": ["google.com", "youtube.com"], "outbound": "proxy" },
{ "ip_is_private": true, "outbound": "direct" },
{ "outbound": "proxy" }
]
}
}
Ключевые моменты:
- sniff_override_destination — позволяет определять назначение трафика по SNI, даже если приложение не использует прокси.
- ip_is_private — исключает локальные адреса (192.168.0.0/16 и др.) из туннеля.
- route.rules — гибкая система маршрутизации: можно направлять торрент-трафик через один сервер, а YouTube — через другой.
Интеграция с фаерволом OpenWrt
Чтобы весь трафик шёл через sing-box, настройте iptables:
Очистка старых правил
iptables -t mangle -F PREROUTING
Перенаправление всего TCP/UDP на TProxy-порт
iptables -t mangle -A PREROUTING -p tcp -j TPROXY --on-port 1080 --on-ip 127.0.0.1 --tproxy-mark 0x1/0x1
iptables -t mangle -A PREROUTING -p udp -j TPROXY --on-port 1080 --on-ip 127.0.0.1 --tproxy-mark 0x1/0x1
Маршрутизация помеченных пакетов
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
Добавьте эти команды в /etc/rc.local перед exit 0, чтобы они применялись при загрузке.
Важно: если вы используете IPv6 — повторите те же правила для ip6tables и таблицы маршрутизации.
Проверка на утечки: как убедиться, что всё работает
- Зайдите на ipleak.net — должен отображаться IP вашего сервера, а не провайдера (Ростелеком, МТС и т.д.).
- Проверьте WebRTC-утечку: в Chrome откройте
chrome://webrtc-internalsи убедитесь, что локальные IP не передаются. - Протестируйте DNS: выполните
nslookup google.com— ответ должен приходить от dns.google или другого указанного вами DoH-резолвера. - Отключите WAN на 10 секунд и снова проверьте ipleak.net — если появился ваш реальный IP, kill switch не настроен.
Сравнение: популярные решения для роутера
| Критерий | WireGuard (стандарт) | OpenVPN на OpenWrt | Sing-box | Shadowsocks-libev |
|---|---|---|---|---|
| Поддержка DPI-обхода | ❌ | ⚠️ (только с obfs) | ✅ (VLESS+WS, Trojan) | ✅ (но уязвим к анализу) |
| Split tunneling | ❌ | ⚠️ (через маршруты) | ✅ (по доменам/IP) | ❌ |
| Расход CPU на роутере | 5–10% | 15–25% | 10–20% | 8–15% |
| Защита от утечек DNS | ❌ | ⚠️ | ✅ (встроенный DoH) | ❌ |
| Юрисдикция серверов* | Любая | Любая | Зависит от вас | Часто Китай |
* — при использовании своих серверов вы полностью контролируете юрисдикцию.
Сценарии использования в реальной жизни
Журналист в регионе с цензурой
Использует sing-box с VLESS + TLS + WebSocket, чтобы обойти блокировку Telegram и Signal. Все запросы к *.telegram.org и *.signal.org идут через туннель, остальное — напрямую. DNS зашифрован через DoH, чтобы провайдер не видел, какие мессенджеры используются.
IT-специалист в кафе
Подключается к публичному Wi-Fi. Sing-box на его роутере (например, GL.iNet) перехватывает весь трафик, предотвращая MITM-атаки. WebRTC и DNS утечки заблокированы на уровне ядра.
Пользователь торрентов
Настраивает правило: весь трафик на порты 6881–6889 и к трекерам (*.torrent) идёт через отдельный outbound с kill switch. При обрыве соединения торрент-клиент теряет доступ к сети — никаких «случайных» раздач под реальным IP.
Обход блокировки YouTube
Правило маршрутизации направляет только youtube.com, ytimg.com, googlevideo.com через прокси. Остальной трафик (например, онлайн-банкинг) идёт напрямую — быстрее и безопаснее.
FAQ
VPN замедляет интернет на сколько реально?
Зависит от протокола и сервера. WireGuard добавляет 5–15 мс пинга и снижает скорость на 3–8%. Sing-box с VLESS+TLS — 10–30 мс и 10–20% потерь. На слабом роутере (MT7621) потеря может достигать 40% из-за шифрования. Используйте ChaCha20 вместо AES, если CPU слабый.
Меня найдёт спецслужба при использовании VPN?
Если вы используете коммерческий VPN с логами — да, по запросу суда. Если свой сервер в нейтральной юрисдикции и без логов — шанс стремится к нулю. Но помните: браузерные отпечатки, cookies, аккаунты в соцсетях раскрывают личность чаще, чем IP.
WireGuard или OpenVPN — что безопаснее?
WireGuard безопаснее: меньше кода (≈4000 строк против 100 000 у OpenVPN), современные криптопримитивы (Curve25519, ChaCha20, Poly1305), perfect forward secrecy по умолчанию. OpenVPN уязвим к атакам на OpenSSL и требует сложной настройки для защиты от утечек.
Можно ли использовать sing-box бесплатно?
Да, если у вас есть свой сервер (VPS от $3/мес). Бесплатные публичные конфиги крайне рискованны — они часто содержат бэкдоры или собирают трафик. Лучше арендовать VPS в Германии или Нидерландах и развернуть Xray или sing-box самостоятельно.
Как проверить, работает ли kill switch после перезагрузки?
Отключите кабель WAN, перезагрузите роутер. После загрузки попробуйте открыть любой сайт. Если страница не загружается — всё в порядке. Для точности используйте `ping 8.8.8.8` с любого устройства в LAN — пакеты не должны уходить.
Нужен ли мне Tor, если уже есть sing-box?
Tor обеспечивает анонимность через многослойную маршрутизацию, но очень медленный (1–2 Мбит/с). Sing-box — для скорости и обхода блокировок. Их можно комбинировать: направлять часть трафика (например, к onion-сайтам) через Tor-outbound в sing-box. Но для большинства задач достаточно одного уровня защиты.
Вывод
настройка sing-box на openwrt — это не просто техническая задача, а создание доверенной точки входа/выхода для всей домашней сети. В отличие от стандартных решений, sing-box даёт контроль над каждым пакетом: вы сами решаете, какой трафик шифровать, какой — пускать напрямую, а какой — блокировать. Но эта свобода требует ответственности: неправильная конфигурация может привести к утечкам, а использование чужих «бесплатных» серверов — к компрометации данных. Тестируйте каждое изменение, проверяйте утечки, делайте резервные копии. Только так настройка sing-box на openwrt станет реальным инструментом защиты, а не иллюзией безопасности.
One thing I liked here is the focus on how to avoid phishing links. This addresses the most common questions people have.