Как сконфигурировать правила маршрутизации 3x-ui?
Нужно понять: есть сервер в Питере с 3x-ui который в свою очередь соединен с сервером в Амстердаме. К Питерскому серверу подключаюсь с мобилок по VLESS а к Амстердаму стучатся роутеры по проводу по WG. Вопрос: как настроить правила маршрутизации в 3x-ui чтобы трафик к Российским ресурсам не уходил по WG в Амстердам?
По вводным: понятно, что можно настроить это на самой мобилке как я делал с WG, но хочется перейти на новый уровень комфорта.
По вводным: на данный момент outbound wg стоит первым, а Routing rule ext:geoip_RU.dat:ru в direct последним и вроде все хорошо но госуслуги упорно говорят что интернета нет
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В 3x-ui маршрутизация зависит от порядка правил и от того, к какому outbound они ведут. Если outbound WireGuard стоит первым как дефолтный, то всё, что не попало в более раннее правило, уйдёт в Амстердам. Для российских ресурсов правило
geoip:ruиgeosite:category-ruнужно ставить выше общего правила на WG, а не “последним”.Логика должна быть такая: сначала исключения в
direct, потом блокировки/служебные правила, и только в конце общий outbound через WireGuard.{ "routing": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "field", "domain": ["geosite:category-ru", "geosite:private"], "outboundTag": "direct" }, { "type": "field", "ip": ["geoip:ru", "geoip:private"], "outboundTag": "direct" }, { "type": "field", "network": "tcp,udp", "outboundTag": "wg-amsterdam" } ] } }{ "routing": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "field", "domain": ["geosite:category-ru", "geosite:private"], "outboundTag": "direct" }, { "type": "field", "ip": ["geoip:ru", "geoip:private"], "outboundTag": "direct" }, { "type": "field", "network": "tcp,udp", "outboundTag": "wg-amsterdam" } ] } }
Проверьте, что теги outbound совпадают один в один с тем, как они названы в 3x-ui. Если outbound называется не
wg-amsterdam, а напримерwireguard, в правилах должен быть именно этот тег.С Госуслугами часто есть отдельный нюанс: одного
geoip:ruможет быть мало. Часть доменов и проверочных адресов может не попадать в вашу базу или резолвиться не так, как ожидается. Добавьте доменные правила выше IP-правил:{ "type": "field", "domain": [ "domain:gosuslugi.ru", "domain:esia.gosuslugi.ru", "domain:gu-st.ru", "domain:gosuslugi.ru" ], "outboundTag": "direct" }{ "type": "field", "domain": [ "domain:gosuslugi.ru", "domain:esia.gosuslugi.ru", "domain:gu-st.ru", "domain:gosuslugi.ru" ], "outboundTag": "direct" }
Также обновите базы
geoipиgeosite. Если 3x-ui использует старые dat-файлы, правило вроде бы есть, но нужные сети туда не входят. После изменения правил перезапустите Xray полностью, а не только сохраните форму.Итог: российские правила должны стоять до WG, direct должен быть реальным outbound без туннеля, базы geoip/geosite должны быть свежими, а для проблемных сервисов вроде Госуслуг лучше добавить отдельные доменные исключения. Тогда мобильные клиенты смогут ходить к РФ-ресурсам напрямую, а остальной трафик останется через Амстердам.