Ник | Пост | Дата |
---|---|---|
Fanarill(Ivan) | Всех приветствую. Сразу скажу цель всего моего деяния: хочу подключаться к VPS по VPN, а далее трафик который идет к VPS пусть по второму VPN (сервера Cloudflare, конфиг к которому сгенерен через wgcf). У меня было несколько фундаментально разных попыток сделать это. Попытка 1: К VPS я подключаюсь через wg0, а wg1 - это WireGuard подключаемый к серверам Cloudflare. То есть я хочу сделать цепочку вида: Local PC (connects with wg0) → VPS → (connects with wg1) → Cloudflare → Destination. Мой VPS выступает как будто в роли proxy, но хочу я это сделать через VPNы. Единственная проблема - я могу настроить, только Local PC и VPS. Когда включаю оба интерфейса wg1 и wg0, то wg0 может совершать хендшейки, но перенаправлять трафик между ними я не осилил. Я каким-то образом видимо должен nat правильно настроить?.. Для настройки интерфейсов, использую я iptables и wg-quick, иногда ip. Если не использовать wg1 и использовать настройку рода iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0, то цепочка становится рабочей и выглядит так: Local PC (connects with wg0) → VPS (connects with eth0) → Destination. Возможно ли сделать, то что я хочу (перенаправить трафик далее на второй vpn)? Ну и повторяю проблему - нет доступа к настройкам сервера cloudflare. Попытка 2: Тогда конфиг для сервера выглядит следующим образом:
Конфиг для клиента остался тем же (только публичный ключ у пира поменялся):
Теперь даже хендшейков не происходит. Пытался делать в аналогии с Multi-Hop WireGuard | Pro Custodibus, но моя проблема естественно, что я не могу настроить что-то на серверах cloudflare. То есть сервер cloudflare для меня черный ящик… ==================================== Я не пробовал жестко дебагать, потому что не умею в это, с сетями слаб, если кто-то что может посоветовать буду рад. Про дебагать я имею ввиду следующее: возможно мне хотелось бы уметь полностью отследить пришел ли пакет, прошел ли он через routing table, перешел ли в другой интерфейс, в корректном состоянии он или нет и т.д. Ну и в целом вопрос можно ли реализовать то, что я хочу? Может я вообще фигню пытаюсь сделать… Короче нужна ваша помощь. Сам уже не справлюсь, силы на исходе) Заранее спасибо! | 2024-10-15T09:23:21.409Z |
0ka(0ka) | в секцию interface в wgcf.conf добавь table=100. запускай оба конфига через wg-quick, затем
wg0_subnet нужно заменить на своё или вместо всего этого просто пробрось порт если не вышло то пиши дс или тг | 2024-10-16T04:06:45.563Z |
Fanarill(Ivan) |
Я уже слишком долго долблюсь с этим, поэтому я уже хронологию событий не помню, но насколько помню мне эта настройка наконец разрешила делать и хендшейки для wg0 и заставить работать инет для wg1 одновременно. И мне оказывается маскарадинг надо было на все интерфейсы навесить, чтобы добиться того же результата. Теперь у меня встала проблема, что если в wg1 прописать AllowedIPs = 0.0.0.0/0, то видимо происходит проблема рода: представим что надо отправить ack к хендшейку, но этот пакет отправляется не ко мне, а обратно на VPN из-за того что туда весь трафик идет. В итоге я весь день провозился с тем, чтобы понять что нужно поставить в AllowedIPs. То есть я как будто бы должен разрешить все КРОМЕ адресов моих локальных компьютеров и адресов wg0. Так и сделал, зашел на данный замечательный сайт WireGuard AllowedIPs Calculator | Pro Custodibus, и разрешил все айпишники кроме моего (под моим имею ввиду не VPS), и адреса wg0. Сеть намертво умирает. Никуда не могу подключиться. Пытался только wg0 заблокировать, или только свой - тоже нет результата. Попробовал, вбить айпишники сервера ifconfig.co и о магия когда я туда захожу через локальный пк, я действительно захожу через cloudflare. Я в каком-то смысле могу реализовать таким образом что-то рода split tunneling, явно избирая какие айпишники пойдут через cloudflare а какие нет. Для интереса я через cloudflare все айпи гугла забил
Хз кому это пригодится, но не суть. Я все же не умею абсолютно весь трафик перенаправлять. Поковырялся с wireshark’ом и смотрел на разницу между рабочей и нерабочей версией. В итоге пришлось банить айпишники cloudflare еще, потому что в рабочей версии запрос идет на eth0, а в нерабочей на wg1. Тоже не помогло. Эту опцию не использовал, потому что не супер понимаю, что она делает. Еще не добрался до этого, но пока что хоть какой-то прогресс. А контакты где можно найти?) | 2024-10-16T18:18:16.816Z |
0ka(0ka) |
в лс свой пиши | 2024-10-16T18:20:08.605Z |
Fanarill(Ivan) | в дсе ник как и на форуме Fanarill | 2024-10-16T18:24:40.825Z |
0ka(0ka) | жду приема | 2024-10-16T18:37:38.244Z |
praniguroiqua | Текста много, читал не очень внимательно, но что могу сказать:
И посмотреть, чтобы FORWARD либо по умолчанию, либо по специальному правилу для wg0 принимало
что, как я понял, уже делается
Чтобы посмотреть подробнее присылай
Это необязательно. Тут довольно простой роутинг, можно обойтись без правил. Это не обязательно. Более точные адреса (например | 2024-10-16T19:11:18.462Z |
0ka(0ka) |
а как? мы уже сделали как я писал | 2024-10-16T19:41:54.829Z |
praniguroiqua | Да я там в середине описал Как видно, чтобы определить, куда посылать пакет, хватает только адреса назначения, а с этим справится и обычный ip route. Это, естественно, подразумевая, что мы не против, чтобы вся vps в интернет ходила через wg1. Если нужно только из wg0 в wg1, то да, либо ip rule, либо через iptables руководить пакетами. | 2024-10-16T20:15:10.905Z |
0ka(0ka) | если вы хотите default route на wg1 в основной таблице то без ip rule не обойтись, default route на wg1 как минимум убьёт ssh на vps | 2024-10-16T20:23:17.089Z |
praniguroiqua |
должен об этом позаботиться. | 2024-10-16T20:31:55.105Z |
0ka(0ka) | ничего не понял | 2024-10-16T20:43:07.751Z |
praniguroiqua | Когда мы подключаемся к впс по ссш, мы, предположительно, делаем это со своего пк из домашней сети. То есть роутинг там аналогичный ваергарду, который создаёт wg0: | 2024-10-16T20:49:53.710Z |