LINUX.ORG.RU
ФорумAdmin

iptables пересылка из туннеля в туннель

 , , , ,


0

2

Добрый день. Есть компьютер А в РФ за nat с белым ip, есть компьютер В в другой стране, у него нет белого ip и он соединен туннелем wireguard c А, есть устройства N, которые будут в том же туннеле с А. Помогите, пожалуйста, написать правила iptables, чтобы трафик устройств N маршрутизировался через провайдера В, т.е. на устройствах N нужен зарубежный ip со шлюза за устройством B. Смог это сделать только открыв туннель в туннеле и пробросив порт на шлюзе с белым айпи на порт В, но страдает пинг и скорость.

У тебя какая-то сложная конструкция. То что ты описал - это штатный режим работы впн с транзитом трафика в инет через неё. На компе A стоит впн-сервер, B и N - его клиенты, и локальный адрес компа B прописан дефолт гейтом на компе N (и недефолт гейт для впн-сервера в виде основного прова).

iptables тут не особо при чём. И никакие порты никуда пробрасывать не нужно.

Какие конкретно надписи куда прописывать в конкретных реализациях - не знаю.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)

за nat с белым ip

Если компьютер за nat, то это не белый ip.

Как устройства N взаимодействуют с компьютером A? Они в одном месте находятся, в одной сети? Или они будут своим wireguard подключаться к тому же туннелю?

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

По сути А это впн сервер, устройства N клиенты wireguard сервера А, так же, как и клиент В. В и N обращаются по белому айпи на эндпоинт ААА.ААА.ААА.ААА и попадают на шлюз, который пробрасывает порт на А. И вот трафик N нужно принять на А и перенаправить на В, чтобы внешний айпи у N был от B. Форвардинг включен, пробовал ip route через таблицы ip rule - так себе. PREROUTING’ом доставил трафик до В и нам нём всё пока застряло.

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

Короче тебе нужно из B сделать vpn сервер, но так как он за nat, ты не можешь. Теперь тебе надо внутри туннеля создать ещё один туннель.

Хотя можно из B сделать endpoint уже внутри туннеля , прописав его таковым у клиентов, перед этим настроив маскарадинг итд на b, но это не точно )

shpinog ★★★
()
Последнее исправление: shpinog (всего исправлений: 1)

То, что вы хотите, сделать с помощью L3-туннеля без дополнительной поддержки со стороны ПО невозможно.

Wireguard — L3-туннель, внутренняя логика маршрутизации в нём регулируется опцией AllowedIPs для каждого пира.

ValdikSS ★★★★★
()
Ответ на: комментарий от firkax

клиент N через туннель N подключается к серверу А с белым айпи клиент В через туннель В подключается к серверу А с белым айпи клиент N должен ходить в интернет по схеме: клиент N>туннель N>сервер A>туннель В>клиент В>провайдер клиента В

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

В Wireguard нет понятия сервера и клиента, это просто туннель, все участники равнозначны. Конфигурацию, какую вы хотите, настроить можно без особых проблем, почти что используя любую инструкцию в интернете. Что у вас не получается? На каком этапе проблема?

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

Я понимаю, что они равнозначны, поэтому в самом начале назвал их все просто точками. Трафик всю цепочку проходит (от N до А и от А до В) и до точки В доходит, дальше нет, затык.

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

Ну, тогда то что я выше написал так и остаётся - это штатная схема работы транзита трафика в инет через впн. Обоими компами подключаешься к общему серверу A и настраиваешь на компе N default gateway = локальный адрес B. Речь про обычный впн а не про точка-точка wireguard (обязательно именно он нужен?).

А что ты хотел сказать тут:

в моем случае трафик клиентов N нужно пустить не через сервер, а через клиента В.

Я так и не понял.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Спасибо. Надо именно wireguard’ом. Буду искать дальше. Если считать, что N это планшет, например, то gateway в клиенте wireguard даже не представляю где можно написать

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

Да, всё так. Еще есть вариант два интерфейса поднять, например: у АВ адрес 10.1.0.1/24 для туннеля с В и у клиента В адрес 10.1.0.2/24

у АN адрес 10.2.0.1/24 для туннеля с N и у клиентов N адреса 10.2.0.2-254/24

в этом случае трафик от 10.2.0.2 доставил до 10.1.0.1 и снова затык

scherbep
() автор топика