Wireguard client как шлюз для других клиентов

RIP, OSFP, BGP, MPLS/VPLS
faetaur
Сообщения: 4
Зарегистрирован: 20 апр 2022, 12:21

Wireguard client как шлюз для других клиентов

Сообщение faetaur »

Всем добрый день, помогите с настройками маршрутизации схема сети ниже
Screenshot22.jpg
Имеются 2 микротика с серыми ip подключены к CHR Mikrotik с белым ip по wireguard.
Подскажите как настроить 1 микротик (192.168.0.233) чтобы ПК к которому он подключен выходил в интернет через 2 микротик
Роуты в wireguard прописал в итоге Пк пингует 2 микрот на 172.22.23.2
А дальше ступор
Если выставить роут на 1 микроте 0.0.0.0/0 на интерфейс wireguard отключается интернет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Chupaka
Сообщения: 3470
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Wireguard client как шлюз для других клиентов

Сообщение Chupaka »

Приветствую.

Allowed Address в пирах Wireguard правильно настроен, разрешает нужный трафик?

Трафик ПК отмаркировать - и по маркированному маршруту отправить в CHR, а он уже, в свою очередь,отправит на второй микротик. И проследить, что обратно идёт правильным путём.

И проверять не пингом, а трассировкой.
faetaur
Сообщения: 4
Зарегистрирован: 20 апр 2022, 12:21

Re: Wireguard client как шлюз для других клиентов

Сообщение faetaur »

в Пире wireguard микр 1 172.22.22.0/24 и 172.22.23.0/24
в пире wireguard микр 2 172.22.23.0/24 и 172.22.22.0/24
На chr я поднял 2 интерфейса подумал что так лучше будет потом при настройке отправить трафик на определенный интерфейс.
в Сhr в пирах на 1 интерфейсе 172.22.22.3/32
в Сhr в пирах на 2 интерфейсе 172.22.23.2/32

Простите что буду описывать словами а не командами
на 1 микроте:
создал таблицу Routing---table --- ToCHR (FIB=yes)
создал adress list в который запихнул адрес пк. VPN_list 192.168.0.231
Mangle - chain=prerouting src.adress.list=VPN_list action=mark routing ; new Routing mark=ToCHR
route add 0.0.0.0/0 gateway=wireguard1 Routing Table=ToCHR
Правило ната chain=srcnat out.interface=wireguard1 action=masquerade

На этом я думаю все настройки по 1 микроту
На chr если пинговать инструментами winbox пинг идет на 1.1.1.1
Итог:с ПК интернета нету, трассировка обрывается на 192.168.0.233- адрес микрота в сторону машины -
но пинг и трассировка работает до адреса микрота2 172.22.23.2

Направьте как дальше поступить и если не затруднит ответьте на дополнительный вопрос хочу разобраться:
На CHR хватило бы 1 интерфейса с 2 пирами? в итоге ip адреса были бы в одной подсети
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Chupaka
Сообщения: 3470
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Wireguard client как шлюз для других клиентов

Сообщение Chupaka »

Т.е. в Wireguard вы разрешили только 172.22.22.0/23, а пытаетесь через него лезть ещё и в Интернет (ко всяким 1.1.1.1, которые не входят в 172.22.22.0/23) - поэтому Wireguard такие пакеты и отбрасывает. Надо в allowed из Интернета по всему пути разрешить 0.0.0.0/0
faetaur писал(а): 21 апр 2022, 10:27 Правило ната chain=srcnat out.interface=wireguard1 action=masquerade
Ужасный костыль, я бы старался обходиться без таких и маскарадил только трафик в Интернет, а не внутри локалки. Для работы надо разрешить 192.168.0.? в тоннелях.
faetaur писал(а): 21 апр 2022, 10:27 Итог:с ПК интернета нету, трассировка обрывается на 192.168.0.233- адрес микрота в сторону машины -
но пинг и трассировка работает до адреса микрота2 172.22.23.2
А покажите трассировку к 172.22.23.2
faetaur писал(а): 21 апр 2022, 10:27 Направьте как дальше поступить и если не затруднит ответьте на дополнительный вопрос хочу разобраться:
На CHR хватило бы 1 интерфейса с 2 пирами? в итоге ip адреса были бы в одной подсети
Насколько помню, активным только один пир может быть. Т.е. оно, наверное, не будет работать так, как вы ожидаете. Это для переключения пиров сделали, когда у них адреса меняются.
faetaur
Сообщения: 4
Зарегистрирован: 20 апр 2022, 12:21

Re: Wireguard client как шлюз для других клиентов

Сообщение faetaur »

Добавил на 1 микротике в пирах 0.0.0.0/0 заработало теперь трафик ходит через интернет chr
Правило ната chain=srcnat out.interface=wireguard1 action=masquerade
вместо этого лучше создать adresslist My_lan=192.168.0.0/24 и нат сделать
chain=srcnat out.interface=wireguard1 dst. Addreslist=!My_lan action=masquerade правильно я понимаю?

а что теперь нужно сделать на chr? чтобы отправить трафик

Трассировка была одинаковая и без указания 0.0.0.0/0 скрин ниже
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Chupaka
Сообщения: 3470
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Wireguard client как шлюз для других клиентов

Сообщение Chupaka »

faetaur писал(а): 21 апр 2022, 12:32 вместо этого лучше создать adresslist My_lan=192.168.0.0/24 и нат сделать
chain=srcnat out.interface=wireguard1 dst. Addreslist=!My_lan action=masquerade правильно я понимаю?
Вместо этого лучше просто это правило NAT удалить. Зачем вам маскарадинг в wireguard1 для чего бы то ни было?
faetaur писал(а): 21 апр 2022, 12:32 а что теперь нужно сделать на chr? чтобы отправить трафик
То же, что и на первом роутере: отмаркировать нужный трафик - и отправить его в wireguard2, или кто он там.
faetaur
Сообщения: 4
Зарегистрирован: 20 апр 2022, 12:21

Re: Wireguard client как шлюз для других клиентов

Сообщение faetaur »

Спасибо за помощь, всё заработало.
Нужно еще не забывать в пирах WG указывать allowed 0.0.0.0/0
Получается интерфейс WG грубо говоря как нормально-закрытый файрволл пока не укажешь разрешенные ип не пустит?
Аватара пользователя
Chupaka
Сообщения: 3470
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Wireguard client как шлюз для других клиентов

Сообщение Chupaka »

Да, именно так: пропускает только пакеты, которые попадают под Allowed Addresses