Проброс порта для подключения по wireguard к пиру за микротиком
Добавлено: 14 сен 2023, 08:32
Здравствуйте. Нужна подсказка, где я ошибся. Буду благодарен за помощь.
Есть микротиком с внешним статическим IP. За этим микротиком находится wireguard пир, а если быть точным, то что можно обозвать сервером (концентрирует других пиров для их последующего взаимодействия). Тут сразу оговорюсь, что мне именно так и нужно. Wireguard на микротике мне не подходит.
Для подключения к условному wireguard серверу (обзову его просто сервер) я на микротик написал правила:
1.1.1.1 это условный внешний статический IP моего сервера.
В таблице filter я добавил форвардинг для сервера (правило 13)
При подключении извне все работает, я проверил и протестировал. Однако есть другая проблема. Чтобы не заниматься бесконечным подключением-отключением wireguard пиров моего сервера при подключении их к сети микротика я хочу чтобы изннутри сети микротика (локалки) подключение по wireguard точно также работало, как оно работает при подключении к серверу извне.
Естественно в конфигурациях пиров в качестве адреса подключения к серверу прописан внешний статический IP, то есть 1.1.1.1:49998. Для подключения по такому адресу:порту изнутри микротик должен понимать, что обращение идет к нему изнутри, но по внешнему адресу. По идее правило dnat подходит под эти условия, т.к. я не указал явно, что проброс надо осуществлять только с WAN (интерфейса наружу).
В таблице filter правило для форвардинга изнутри я добавил
В итоге с таким набором правил я вижу пакеты, которые в случае подключения изнутри к серверу идут через микротик (dnstnat + forwarding), я вижу по tcpdump на 49998 порту, что пакеты доходят до сервера, я вижу что сервер отвечает, но я не вижу, чтобы пакеты доходили обратно до пира. На микротике я их тоже не вижу. Судя по тому, что я логировал все указанные мной правила, они режутся где-то на микротике, хотя для меня это тоже не точно.
Подскажите, как поправить конфигурацию, чтобы без пересройки пиры могли подключатся и соединятся с ресурсами инета как извне, так и изнутри?
Есть микротиком с внешним статическим IP. За этим микротиком находится wireguard пир, а если быть точным, то что можно обозвать сервером (концентрирует других пиров для их последующего взаимодействия). Тут сразу оговорюсь, что мне именно так и нужно. Wireguard на микротике мне не подходит.
Для подключения к условному wireguard серверу (обзову его просто сервер) я на микротик написал правила:
Код: Выделить всё
Flags: X - disabled, I - invalid; D - dynamic
0 ;;; defconf: masquerade
chain=srcnat action=masquerade out-interface-list=WAN ipsec-policy=out,none
1 chain=dstnat action=dst-nat to-addresses=192.168.77.44 to-ports=49998 protocol=udp dst-address=1.1.1.1 dst-port=49998 log=yes log-prefix="dstnat to nuc"
В таблице filter я добавил форвардинг для сервера (правило 13)
Код: Выделить всё
10 ;;; defconf: accept established,related
chain=forward action=accept connection-state=established,related log=no log-prefix="not new"
13 ;;; Wireguard port forwarding
chain=forward action=accept protocol=udp in-interface=ether1 dst-port=49998 log=no
Естественно в конфигурациях пиров в качестве адреса подключения к серверу прописан внешний статический IP, то есть 1.1.1.1:49998. Для подключения по такому адресу:порту изнутри микротик должен понимать, что обращение идет к нему изнутри, но по внешнему адресу. По идее правило dnat подходит под эти условия, т.к. я не указал явно, что проброс надо осуществлять только с WAN (интерфейса наружу).
В таблице filter правило для форвардинга изнутри я добавил
Код: Выделить всё
14 chain=forward action=accept protocol=udp in-interface=bridge dst-port=49998 log=no
Подскажите, как поправить конфигурацию, чтобы без пересройки пиры могли подключатся и соединятся с ресурсами инета как извне, так и изнутри?