Маршрут между Wireguard клиентом и Wireguard сервером

RIP, OSFP, BGP, MPLS/VPLS
Lisalat
Сообщения: 2
Зарегистрирован: 16 авг 2024, 15:33

Маршрут между Wireguard клиентом и Wireguard сервером

Сообщение Lisalat »

На Микротике подняты WG сервер для доступа к домашней сети и WG клиент на VPS для обхода блокировок.
RouterOS 7.15.3, model = RBD53iG-5HacD2HnD

Код: Выделить всё

/ip address
add address=192.168.1.1/24 interface=bridge1-lan network=192.168.1.0
add address=10.10.0.1/24 interface=WG_Belarus_Srv network=10.10.0.0
add address=10.8.1.16/24 interface=wireguard_Oracle network=10.8.1.0

Код: Выделить всё

/interface wireguard peers
add allowed-address=0.0.0.0/0 comment="Huawei P30" interface=WG_Belarus_Srv \
    is-responder=yes name=peer5 persistent-keepalive=25s public-key=\"xxx"
add allowed-address=0.0.0.0/0,::/0 endpoint-address=144.21.xx.xxx \
    endpoint-port=51820 interface=wireguard_Oracle name=peer7 \
    persistent-keepalive=25s preshared-key=\
    "xxx" public-key=\"xxx"
На wireguard_Oracle трафик идет маркированный по правилу mangle с использованием адрес листа.
По отдельности все работает хорошо.
Но когда сторонний клиент подключается по WG_Belarus_Srv, маркированные сайты из адрес листа не открываются. Т.е. не хватает какого-то правила, разрешающего доступ из WG_Belarus_Srv в wireguard_Oracle.
Что и куда нужно добавить?

Код: Выделить всё

/ip firewall nat
add action=src-nat chain=srcnat out-interface=Beltelecom to-addresses=\
    178.124.xxx.x
add action=redirect chain=dstnat comment="redirect dns-query to local DNS" \
    dst-port=53 in-interface=Beltelecom protocol=udp
add action=masquerade chain=srcnat comment=Wireguard_Oracle out-interface=\
    wireguard_Oracle routing-mark=wg_mark src-address=192.168.1.0/24
add action=dst-nat chain=dstnat comment="QnapNAS Port Mapping" \
    dst-address-type=local dst-port=9092 protocol=tcp to-addresses=\
    192.168.1.4 to-ports=9092
add action=masquerade chain=srcnat dst-address=192.168.1.4 dst-port=9092 \
    protocol=tcp src-address=192.168.1.0/24 to-addresses=192.168.1.4 \
    to-ports=9092
add action=dst-nat chain=dstnat dst-address=178.124.xxx.x dst-port=51413 \
    in-interface=Beltelecom protocol=tcp to-addresses=192.168.1.4 to-ports=\
    51413
add action=dst-nat chain=dstnat dst-address=178.124.xxx.x dst-port=51413 \
    in-interface=Beltelecom protocol=udp to-addresses=192.168.1.4 to-ports=\
    51413

Код: Выделить всё

/ip route
add comment="Not for all sites" disabled=no distance=1 dst-address=\
    0.0.0.0/0 gateway=wireguard_Oracle routing-table=wg_mark scope=30 \
    suppress-hw-offload=no target-scope=10
Аватара пользователя
Chupaka
Сообщения: 4088
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Маршрут между Wireguard клиентом и Wireguard сервером

Сообщение Chupaka »

Совсем не вижу у вас никакой маркировки, но вот в этом правиле

Код: Выделить всё

add action=masquerade chain=srcnat comment=Wireguard_Oracle out-interface=\
    wireguard_Oracle routing-mark=wg_mark src-address=192.168.1.0/24
я бы совсем убрал src-address= - потому как нормально помочь оно, вроде, ничем не может, а вот навредить - очень даже.

З.Ы. Не поделитесь, как в Oracle обратно попасть? :)
Lisalat
Сообщения: 2
Зарегистрирован: 16 авг 2024, 15:33

Re: Маршрут между Wireguard клиентом и Wireguard сервером

Сообщение Lisalat »

Chupaka писал(а): 17 авг 2024, 23:08 Совсем не вижу у вас никакой маркировки

Код: Выделить всё

Flags: X - disabled, I - invalid; D - dynamic 
 0  D ;;; special dummy rule to show fasttrack counters
      chain=prerouting action=passthrough 

 1  D ;;; special dummy rule to show fasttrack counters
      chain=forward action=passthrough 

 2  D ;;; special dummy rule to show fasttrack counters
      chain=postrouting action=passthrough 

 3    ;;; wireguard_Block_Site_MARK1
      chain=prerouting action=mark-routing new-routing-mark=wg_mark passthrough=yes dst-address-list=Block_site in-interface=!Beltelecom 
      log=no log-prefix="" 
Это же она?
но вот в этом правиле
add action=masquerade chain=srcnat comment=Wireguard_Oracle out-interface=\
wireguard_Oracle routing-mark=wg_mark src-address=192.168.1.0/24
я бы совсем убрал src-address=
Спасибо. Сделано
Вы гений! Все заработало как надо.
Не поделитесь, как в Oracle обратно попасть?
Я делала так. Регистрировала аккаунт на знакомого человека в Польше. На его имя, адрес, телефон и карту.
К тому же можете создать несколько виртуалок в бесплатном плане и одну отдать ему в безвоздмездное пользование )
Там сейчас требуется 2-х факторная идентификация, но прекрасно работает через Google Authenticator.
И ещё 2 раза в год требуется перезапуск ВМ, если Оракл сообщает, что малая загрузка и выключает их