LINUX.ORG.RU
ФорумAdmin

Динамическая маршрутизация в Wireguard

 


0

2

Хочу попробовать реализовать сервис пробрасывания маршрутов со стороны сервера на сторону клиента в Wireguard. Грубо говоря разграничивать трафик. На российские сервера через обычную сеть кидать, все остальное через Wireguard. Как это примерно сделано в openvpn. Пока у меня не получилось найти какую либо информацию по этой теме. Может быть сталкивались с этим. Посоветуйте примерно как это можно реализовать.

Перемещено hobbit из general

Правильно понимаю, что вам нужно внедрить в Wireguard логику определения региона и, в зависимости от региона, перенаправлять трафик либо через локальную сеть, либо через удаленный Wireguard сервер?

Не сталкивался с настройкой, но если на стороне клиента можно реализовать нужную логику, можно пересылать определенные пакеты на интерфейс Wireguard, либо на другие локальные

SarahFahkeet
()
Ответ на: комментарий от SarahFahkeet

Правильно понимаю, что вам нужно внедрить в Wireguard логику определения региона и, в зависимости от региона, перенаправлять трафик либо через локальную сеть, либо через удаленный Wireguard сервер?

да

alex52758
() автор топика
Ответ на: комментарий от alex52758

Тогда смотри первый комментарий. То есть это надо делать где-то в стороне от WG. Например, правилами маршрутизации или файрволлом, смотря что и как у вас там устроено.

anonymous
()

Это реализуемо силами iptables + отдельной таблицы маршрутиазации, так как ты спросил данный вопрос, реализовать ты это самостоятельно не сможешь, но примерный план таков: Идти на https://bgpview.io/ и через их api доставать ip адреса которые аннонсированы в российских asn, далее написать скрипт который будет парсить json и добавлять подсети в ipset, а далее этот ipset маршрутизировать через отдельную таблицу маршрутизации, где default маршрутом будет твой локальный маршрутизатор(а в main таблице будет wg сервер)

Bermut
()

Грубо говоря разграничивать трафик.

Допустим у тебя на роутере default dev wg0, а интерфейс от прова ppp0.

На клиенте:

ssh -D 1080 user@router.home

На роутере:

ip route add default dev ppp0 table 1001
ip rule add uidrange 1001-1001 lookup 1001

где 1001 это uid твоего пользователя на роутере.

Если есть ipv6 то повторить правила с ключом -6.

На клиентской машине создаешь новый профиль в браузере, добавляешь в него африканские серты от минцифры, прописываешь прокси socks5://<ip your gw>:1080.

Если нужно заходить на госуслуги, запускаешь браузер со спец профилем и вперед. Все остальное будет роутится на роутере от root, а значит уходить по маршруту dev wg0

Единственное надо держать в уме то что у тебя весь трафик который генерится из под uid 1001 будет уходить через ppp0, поэтому если из под этого uid работают какие то сервисы, то можно завести отдельного пользователя для роутинга.

intervent
()