Маршрутизация сайтов через VPN или другой интерфейс
Сет в режиме Сетевой интерфейс отправляет трафик своих сайтов через интерфейс роутера, например туннель WireGuard или OpenVPN или второй аплинк. Всё остальное идёт обычным маршрутом.
Требования
- Поднятый интерфейс на роутере: VPN-клиент, настроенный вне b4, например WireGuard или OpenVPN, или второй аплинк.
- Команда
ipи backend файрвола: nftables или iptables с командойipset. - Сет с доменами сайтов или с их IP-адресами, диапазонами CIDR, категориями GeoIP или ASN. См. Добавление сайтов в сет.
Настройка
- Откройте Сеты и откройте сет или нажмите Создать сет и добавьте сайты на вкладке Цели.
- Откройте вкладку DNS & Маршрутизация, затем Маршрутизация трафика.
- Включите Включить маршрутизацию.
- В Режим маршрутизации выберите Сетевой интерфейс.
- В Выходной интерфейс выберите интерфейс VPN, например
wg0. - Включите Аварийное отключение, если сайты сета никогда не должны идти через обычный аплинк.
- Нажмите Сохранить или Создать сет для нового сета.
Поля описаны в разделе Сетевой интерфейс.
Чтобы отправить через VPN весь трафик устройства, выберите устройство в Цели > Исходные устройства и включите Любой IP-адрес в Цели > IP обхода.
Проверка результата
- Добавьте
ipinfo.ioв домены сета на время проверки. - На устройстве откройте
https://ipinfo.io/ipили выполнитеcurl -s https://ipinfo.io/ip. Показанный адрес - выходной адрес VPN, а не роутера.
Такая проверка надёжнее, чем открыть обычный сайт: веб-страница подгружает части с других хостов и может выглядеть сломанной, хотя маршрутизация работает.
Если выходной интерфейс - туннель, соединения сета на странице Логи заканчиваются пометкой [routed->wg0]. Кнопка Информация о системе в Настройки > Система > Сервис показывает число установленных сетов маршрутизации в строке Сеты маршрутизации раздела Firewall.
Аварийное отключение и трафик роутера
Если Аварийное отключение выключено, трафик сета, пока VPN не работает, уходит через обычный аплинк с настоящим адресом роутера. С ним этот трафик отбрасывается, пока интерфейс не вернётся.
Трафик самого роутера определяет, идут ли за сетом соединения, которые открывает сам роутер. Обычно подходит Автоматически. Схема с Xray, sing-box или другим прокси, который читает TUN-устройство, разобрана в разделе b4 вместе с Xray или XrayUI.
Сайты через VPN на другом устройстве
VPN может работать на другом устройстве в сети роутера, например на Raspberry Pi или втором роутере. Тогда сет отправляет свои сайты на это устройство, а оно пересылает их в свой VPN.
- Выполните шаги 1-4 из раздела Настройка.
- В Выходной интерфейс выберите интерфейс, который ведёт к этому устройству, например мост LAN.
- В Шлюз (необязательно) укажите адрес устройства в этой сети, например
192.168.1.10. - Нажмите Сохранить или Создать сет для нового сета.
Устройства этой сети идут за сетом по IPv4, а собственный трафик устройства-шлюза идёт обычным маршрутом. IPv6-трафик из этой сети за сетом не идёт никогда. Если шлюз IPv4, а Поддержка IPv6 включена, IPv6-трафик сета уходит через выходной интерфейс по собственному маршруту этого интерфейса, как без шлюза.
Шлюз вне сети выходного интерфейса b4 не использует и пишет причину в лог. Если после указания шлюза сайты перестали открываться, по адресу в Шлюз (необязательно) нет устройства, которое пересылает трафик, или VPN на устройстве не работает. Ошибки в логе при этом нет: пакеты уходят, а ответа нет. См. Шлюз.
Если не работает
- Сет ничего не маршрутизирует. Маршрутизация сопоставляет адреса назначения, и вкладка предупреждает, если в сете нет доменов, IP и ASN. Исходные устройства сами по себе трафик не выбирают.
- Выходной интерфейс помечен как недоступный. VPN не работает или его интерфейс теперь называется иначе. Маршрутизация возобновится, когда интерфейс вернётся.
- Устройство использует шифрованный DNS. b4 не видит DNS-ответов этого устройства, и первое соединение к новому адресу может пойти обычным маршрутом. Помогает отключить защищённый DNS в браузере или «Частный DNS» на Android. См. DNS.
- Трафик раньше забирает другой сервис. VPN- и прокси-сервисы добавляют свои записи
ip rule, и правило с меньшим приоритетом забирает пакеты раньше правила b4. См. b4 вместе с Xray или XrayUI. - Строка «Сеты маршрутизации» показывает ошибку. Файрвол отверг правила. Причины перечислены в разделе Если правила не ставятся.