Ник | Пост | Дата |
---|---|---|
vurk | Всех приветствую. Пытаюсь настроить соединение по такой схеме - http://0x0.st/H_6K.jpg Смысл такой организации: 1) российская ВПСка хостит “сервер” ваергарда, чтобы обеспечить доступ клиентом (пиров) между собой, в т.ч. подключенных к ней роутеров для доступа к устройствам за роутерами. 2) Настройка маршрутизации основного трафика для всех клиентов сразу делается в одном месте и удобно - на российской ВПСке. 3) Все, что должно идти не на .ru/.рф, идет на зарубежную (NL) ВПСку. Дано: поднято две ВПС (ру и нл). На ру организован шлюз с ваергард, к нему подключены все нужные клиенты. Для клиентов данный шлюз - основной (0.0.0.0/0 и ::/0). На зарубежной ВПС поднят xray-server, настроенный на работу reality (конфигурация рабочая, пробовал подключаться напрямую с клиентов с помощью nekoray/foxray). Что я сделал: скачал xray-core, использовал такой конфиг - http://0x0.st/H_6P.json, поднял клиент на российской ВПСке с этим конфигом. xray не ругался на ошибки. Через ss вижу
Вроде работает. Дальше мне надо как-то перевести весь трафик, который идет от “клиентов” (то есть пиров) ваергард “сервера” (пира-шлюза-российской ВПС) на зарубежную ВПС. Тут две проблемы: 1) как это сделать (пробовал iptables через цепочку прероутинга редиректить весь tcp/udp трафик с ваергард порта на порт 10808/9 - не вышло), 2) как при глобальном редиректе всего трафика фильтровать, куда пускать трафик к .ru/.рф, а куда остальной? Прошу знатоков подсказать, куда копать. ПыСы. В nekoray, например, есть некий tun mode, который создает интерфейс и делает его основным. Как это сделать через xray-core с его конфигом я не понял. Судя по всему, это как раз то, что мне нужно. | 2023-08-12T00:10:25.412Z |
Sofi | Во первых, не PREROUTING нужна, а FORWARD на первом сервере во второй. | 2023-08-12T02:38:49.464Z |
vurk |
Поясни подробнее, пожалуйста. Не понял, при чем тут форвардинг, если речь идет об перенаправлении трафика с порта wireguard (например, 51820) на порт local proxy xray (10808/10809). ЕЯПП это больше похоже на transparent proxy, для которой должно работать что-то вроде
Но это, очевидно, не работает. По поводу AS серверов, разве эту задачу не выполняет сам xray? В доках описано, что можно избирательно пускать трафик в обход прокси, если есть совпадения по домену/regexp и т.д. У меня вопрос здесь в том, достаточно ли будет просто завернуть весь входящий трафик российской ВПС, который идет на порт 51820, в прокси, чтобы xray все сам разруливал, или нужны будут доп. действия (какие)? UPD. Пока разбирался с проблемой перевода трафика на другой порт, оказалось что хотя xray запущен на российской ВПС и не ругается на ошибки, по traceroute весь трафик все равно идет напрямую, а не через прокси на зарубежной ВПС. Видимо, еще в конфиге клиента ошибка. | 2023-08-12T06:58:09.954Z |
Sofi | Насколько я поняла из вашего вопроса, вам нужно форвардить с РФ до Нидерландов тот трафик, который не должен проходить через сервера РФ, разве нет? Конкретнее задачу опишите, пожалуйста. | 2023-08-12T09:18:58.583Z |
vurk | Я плохо объяснил. Исправляюсь. Есть российская ВПС. У нее две задачи: 1) с помощью wireguard объединить в одну сеть множество устройств, чтобы можно было общаться между устройствами, 2) быть шлюзом для выхода в интернет с помощью xray (это важно, что это не просто шлюз, а именно шлюз через xray). Шлюз через xray работает следующим образом. На российской ВПС стоит клиент (xray-core) с конфигом, который я публиковал в первом посте (который, судя по всему не работает). На зарубежной ВПС развернут xray-server с xtls-reality в качестве основного способа работы. Сейчас у меня два вопроса: 1) как весь трафик от пиров wireguard, для который российская ВПС - шлюз для выхода в интерент, завернуть в xray (в локальный прокси, который открывается на порту 10808 или 10809, 2) как без GUI, то есть средствами только xray-core из терминала по ssh подключить российскую ВПС к зарубежной ВПС так, чтобы трафик, который идет от пиров wireguard и от самой российской ВПС шел по правилам, заданным в конфиге xray-core клиента, т.е. все, что идет на домены *.рф и *.ru - идет в обход прокси (НЕ через зарубежную ВПС), а весь остальной трафик только через зарубежную ВПС (то есть через xray xtls-reality сервер). Сама маршрутизация по доменам осуществляется xray. Для меня не понятно, как это происходит через режим прокси. | 2023-08-12T10:49:32.203Z |
bolvan |
redsocks Что касается доменов, то как вы собираетесь их распознавать и по ним принимать решение ? Это возможно для http, теоретически можно выдернуть SNI из ClientHello, то есть сделать для https, но что со всем остальным делать ? | 2023-08-12T11:48:32.061Z |
Sofi | Поднимается redsocks или подобный прокси. По второму вопросу: | 2023-08-12T13:53:27.105Z |
0ka(0ka) | пользуйся sing-box вместо xray, он поддерживает tun, в который весь wg трафик пойдёт без проблем, конфиг дам если надо. Протокол лучше используй ss, а не vless/vless/trojan т.к. он поддерживает udp, а не делает конвертацию в TCP (это медленно). Если к этому еще приделать rule по доменам, то сервак понадобится не слабый т.к. маршрутизировать будет sing-box (медленно) | 2023-08-13T15:34:57.636Z |
ValdikSS |
Нужно использовать inbound dokodemo-door с соответствующими iptables/nftables-правилами. Настройка не отличается от просто настройки v2fly/xray в качестве прокси-сервера/клиента. Только учтите, что это всё ещё прокси: вы сможете туннелировать только TCP/UDP-трафик, не сможете принимать входящие подключения, могут быть проблемы с VoIP/WebRTC. В вашем конфигурационном файле нет правил на маршрутизации (routing → rules) через удалённый сервер.
| 2023-08-14T07:58:38.859Z |
aphexman(Вячеслав) | Привет! Я вижу ты крутой спец, помоги пожалуйста с настройкой wireguard разобраться, заранее спасибо! | 2023-08-16T10:52:49.250Z |
0ka(0ka) | в плане? что нужно? | 2023-08-16T18:36:18.853Z |
Gamber | 0ka буду признателен, если поделитесь примером конфига.
iptabels (выход через дефолтный шлюз)
ip
route (прописан маршрут до 2ip.ru, все работает, вижу IP NL сервера)
| 2023-10-31T06:34:52.181Z |
Dhohbr | @Gamber если я равильно понял вас, то должно работать так: Тогда клиенты должны видеть на сайте 2ip адрес NL сервера. | 2023-10-31T07:32:33.666Z |
0ka(0ka) | попробуйте так
и проверка на сервере через
это всё без гарантий т.к. проверить не могу, если последняя команда фейлит то проверяйте на клиенте | 2023-10-31T09:23:58.062Z |
nzkhammatov(Ainur Khammatov) |
| 2023-10-31T09:52:48.750Z |
Gamber | 0ka khammatov Благодарю, все получилось. | 2023-10-31T13:17:13.175Z |
Gamber | Наверное, не буду поднимать новую тему, так как это, по сути, продолжение истории. После успешного тестирования вышеописанной связки на стороннем RU VPS, решил поднять его непосредственно у себя. Дано: Две локации в RU. На обеих Микротики в качестве маршрутизаторов. Локация 1. За NAT провайдера. Локация 2. Публичная статика. Между локациями поднят WG туннель, прописаны маршруты в LAN обеих локаций. В LAN Локации 2 поднят сервер на Debian, на котором развернут Sing-Box клиент, смотрящий в зарубежный NL сервер. По конфигу клиента все в целом так же, только в Inbound включен auto_route. В iptables, NAT на LAN интерфейсе сервера. Клиент успешно поднимается, curl 2ip.ru отдает зарубежный IP. Дополнительных таблиц маршрутизации не создаю. На роутере в Локации 1 поднят GRE туннель в Локацию 2 на Debain сервер. GRE добавлен в NAT, по BGP получаю список заблокированных подсетей в роуты, в качестве шлюза задаю IP GRE интерфейса на стороне Debian. Тут вопросов нет, все работает как нужно. Проблемы начинаются в Локации 2. Первое, что я попытался сделать, повторить схему, реализованную в первой локации. Создал на Debian еще один GRE интерфейс, поднял туннель с роутером, добавил туннель на роутере в NAT, прописал маршруты до GRE Debian сервера. Вот с NAT и начинаются проблемы, первые пару минут все работает (хосты в LAN успешно ходят куда нужно через NL), но потом я вижу, как NAT правило для GRE начинает генерировать огромное количество трафика, процесс клиента Sing-Box уходит в 100% загрузку и падает. Есть стойкое подозрение, что получилась у меня петля или нечто подобное. Попробовал выйти из ситуации так. Убрал GRE и NAT, в маршруты BGP прописал IP LAN интерфейса Debian сервера. Работает, но есть ощущение, что криво. При подключении с рабочего ПК к заблокированному ресурсу, есть явная и ощутимая задержка около 5-7 секунд. Если заменить в настройках сетевого адаптера шлюз с LAN IP роутера на LAN IP Debian сервера, все начинает работать адекватно. Дайте пожалуйста совет, как наиболее грамотно выйти из этой ситуации? | 2024-06-06T17:11:11.951Z |