Каким образом в панели 3x-ui настроить Routing Rules так, чтобы пришедший трафик шел на туннель WG на всей системе?
Здравствуйте!
На сервере VPS в другой стране развернута панель 3x-ui.
В настройках этой панели есть Routing Rules.
Каким образом я могу настроить переадресацию трафика, который пришел с публичного IP VPS и порта 9321 на туннель Wireguard (10.0.0.2:9321), чтобы получать доступ к своему серверу еще через 1 публичный IP (WireGuard развернут на хосте + панель 3x-ui запущена в докерe с настройками сети host)?
Можно ли достичь желаемой цели по аналогии с еще одним сервером в России, на котором развернут просто Nginx Proxy Manager + WireGuard на хосте, который перенаправляет трафик с публичного IP VPS и порта 9321 на туннель Wireguard (10.0.0.2:9321)?
Нужно было убрать использование всей сети (network_mode: host) из файла docker-compose 3x-ui и выставить необходимые ранее сконфигурированные порты. Тогда все завелось.
не проще было просто поставить 3x-ui на 2й сервер, а на 1вом сделать переадресацию нужного порта с помощью iptables ?)
из Вашего вопроса непонятно что куда Вы хотите переадресовать... на какой сервер стоит WG, на каком 3x-ui...
Ситуация у меня следующая: в моем распоряжении 2 сервера (в России и Швеции). Для доступа к домашней инфраструктуре я имею через VPS в России с помощью Nginx Proxy Manager.
Но также у меня есть друзья в стране 404, которым я тоже хотел дать доступ к своей домашней инфраструктуре. Но наши, если я правильно понимаю, блокируют любые подключения из Украины. Из-за чего друзья из Незалежной не могут получить доступ. В связи с чем было принято решение на уже имеющемся сервере настроить такой же доступ. Но возникла проблема, что npm и 3x-ui использую один и те же порты (что логично, я просто забыл об этом), из-за чего я не могу просто установить там NPM.
Переадресовывать я хочу трафик, который придет на публичный IP VPS на порт 9321 на туннель WireGuard, который ведет к моему домашнему серверу (внутри VPN Wireguard нужный компьютер имеет адрес 10.0.0.2 и порт 9321) (Очень упрощенная схема: друзья из Украины --> VPS в Швеции --> WG Tunnel --> VPS в России --> мой домашний сервер)
Проблема заключается в том, что сервер в Швеции должен быть клиентом WG, а не сервером, через которые идут запросы. На сколько я знаю, в 3x-ui нет возможности настроить сам сервер в качестве клиента WG.
По поводу IPTables. Мне кажется будет просто удобнее сделать с использованием VPN. Просто для более удобного доступа ко всей домашней инфраструктуре серверов. Да и ко всему прочему банально безопаснее. WG как-никак шифрует трафик.
TL;DR Нужно с помощью панели 3x-ui настроить переадресацию трафика (с помощью встроенной панели
Routing Rules
), который приходит на публичный IPv4 VPS сервера в Швеции на установленный на том же сервере туннель Wireguard (в моем случае на 10.0.0.2:9321 внутри VPN WireGuard)
Василий Никонов, самый простой вариант - это просто настроить Zerotier... можно даже на свой сервер - например ZNET https://ztnet.network/
3x-ui не использует те же порты что и nnm, там куча вариантов настроек и можно изменить любой порт, хоть веб морды хоть для подключения TLC
Вам достаточно просто переадресовать порт с VPS из швеции на ваш IP с WG серваком, порт для подключения к WG. а в насройках подключения вместо IP сервера WG указать IP сервака швеции...
ну и не забыть включить NAT на серваке швеции, в iptables и ядре... и он просто переадресует порт с себя на сервак WG, где уже пройдет вся авторизация)
Если я запущу сначала 3x-ui, то запустить NPM не получится. Питон начнет ругаться, видимо, на ошибки из-за конфликтов портов (а если прокинуть порт 443 на 441 в контейнер NPM, то просто выдаст ошибку, что все порты заняты 3x-ui).
Собственно, в этом вся проблема и кроется. Я потому и спросил помощи...
Василий Никонов, собственно тут проблема в том, что Вы не знаете докер...
Вам достаточно в конфиге докера 3x-ui убрать network_mode: host, и пробросить конкретные порты, как это сделано в nnm...
Вы бы параметры в гугле посмотрели, иил в чатГПТ)
network_mode: host - понтирует ВСЕ порты в этот контейнер
например
ports:
- '40500:2053' - для веба (хотя я не помню какой там для веба по умолчаниЮ, думаю в документации написано)
- '44333:443' - для vless к примеру..
UPD - порт для веба внутренний 2053, а внешний любой по желанию поставьте. но лучше не ниже 1000
Василий Никонов, ну дык.. да...) просто если надо будет добавить портом придется их дописать и перезапустить контейнеры...
вообще я так же тупил, пока не начал искать документацию по конкретному вопросу.. )