• XSS.stack #1 – первый литературный журнал от юзеров форума

Wireguard перенаправить на другой endpoint

Raskolnikov

RAID-массив
Пользователь
Регистрация
17.01.2019
Сообщения
79
Реакции
20
Есть несколько серверов с установленным wireguard, пусть это будет s1, s2

Есть клиентский конфиг с указанным доменном в endpoint. В а записи домена, указан ip "прокси сервера"

Взаимодействие с vpn происходит через тг бота.

Как сделать так, чтобы при выборки сервера в тг боте, например с s1 на s2, клиента коннектило к нужному серверу без изменения клиентского конфига?

Куда копать? ip route, ip forward?

В сетках не силен, как я это представляю.

Клиент получает конфиг, пользуется, тут он захотел сменить ip, переключился через тг бота на другой сервер, бот в свою очередь стукнул на прокси сервер и сообщил новый endpoint. Клиент не обновляя конфиг, подключается, но уже к другому серверу по старому конфигу.

Если возможно, то сделать полный "редирект", чтобы траффик шёл напрямую на нужный сервер, мимо прокси сервера, а к прокси серваку обращался только один раз, чтобы получить нужный endpoint
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Не думаю, что это вообще реализуемо. Суть конфига в том, чтобы сообщить адрес для подключения и сравнить паблик кей (если мы говорим о клиентской части), а как ты не меняя конфиг сменишь 2 этих значения? Ну и на сервере, соответственно, нужно заранее вносить данные клиента в ту же пир секцию. Если на сервере ещё можно заранее внести данные клиента, то на клиентской стороне априори этого не сделать заранее.

P.S я понимаю, что у тебя указан домен, а не IP, но паблик кей ведь тоже будет меняться в зависимости от сервера

P.S.S а вот в сторону double wireguard можно посмотреть по той причине, что клиент - сервер 1 подключение всегда будет происходить по одному конфигу, т.е под твой запрос это подходит, а от сервера 1 уже можно менять сервер 2, на который пойдет траф.
 
Последнее редактирование:
Публичный ключ получается из приватного ключа, который генерируется из рандомного массива из 32 байт, на мой взгляд ключ никак не зависит от ip адреса сервера на котором он расположен, соответственно и править публичный ключ не нужно или я что-то не понимаю?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Публичный ключ получается из приватного ключа, который генерируется из рандомного массива из 32 байт, на мой взгляд ключ никак не зависит от ip адреса сервера на котором он расположен, соответственно и править публичный ключ не нужно или я что-то не понимаю?
Ключ не зависит от ip, но в конфиге клиента ты же указываешь его в секции peer. У тебя там PublicKey конкретного сервера, к которому ты подключаешься. Он сравнивает пару паблик-приват и только тогда подключается. Ты не сможешь взять паблик сервера 1 и подключиться с ним к серверу 2.
 
Ключ не зависит от ip, но в конфиге клиента ты же указываешь его в секции peer. У тебя там PublicKey конкретного сервера, к которому ты подключаешься. Он сравнивает пару паблик-приват и только тогда подключается. Ты не сможешь взять паблик сервера 1 и подключиться с ним к серверу 2.
А если на s2 указать точно такой же пир для клиента как и на s1 ну и приватный ключ такой же в интерфейс?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А если на s2 указать точно такой же пир для клиента как и на s1 ну и приватный ключ такой же в интерфейс?
В теории должно сработать, но на практике это тебе нужно будет заранее на всех серверах ставить одну пару паблик-приват. Я не думаю, что это правильное решение)
 
Задачу бы внятно описал, а то не очень понятно что там за "прокси-сервер".

А так выглядит все просто. Каждому клиенту указываешь в конфиге индивидуальный поддомен, например {clientid}.myvpn.com с TTL 5. Когда клиент в боте меняет сервер, меняешь IP на его домене. DNS для этого поднимаешь либо свой, либо тот же CF c апи. На всех VPN-cерверах должен быть ключ клиента.
 
Задачу бы внятно описал, а то не очень понятно что там за "прокси-сервер".

А так выглядит все просто. Каждому клиенту указываешь в конфиге индивидуальный поддомен, например {clientid}.myvpn.com с TTL 5. Когда клиент в боте меняет сервер, меняешь IP на его домене. DNS для этого поднимаешь либо свой, либо тот же CF c апи. На всех VPN-cерверах должен быть ключ клиента.
Гениально просто, неделю ломал голову как сделать, да и приоритет был как раз на то, чтобы реализовать это все через dns сервер.
Моё уважение, спасибо за ответ, вопрос снят
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх