Concur… load up 7.7 on hex.
RU - port forward wg port lets say 15555 to LANIP of Hex on RU LAN ( hex’s WANIP ).
RU1 - main/trusted subnet 192.168.2.0/24 RU2 main/trusted subnet 192.168.5.0/24
HEX - LANIP on RU1 LAN, and HEX WANIP = 192.168.2.21
On hex all default settings are fine as a starting point…
Rules will be constructed with the following assumptions.
A. Admin when at location RU1 or location RU2 may want to config
(i) hex device
(ii) either RU device.
B. Admin, when on the road and connecting remotely may want to config
(i) hex device
(ii) either RU device.
Since we cannot monkey with the RU devices, suffice to say you will have to configure their firewalls to accept on their equivalent input chains access to the opposite RU admin address and any remote WG addresses etc, along wiith own RU access of course. We can use the hex as an example.
/ip firewall address (using static set dhcp leases for RU addresses and of course fixed wireguard road warrior devices for remote connections)
add ip-address=admin-desktop RU1_IP list=AdminAccess 192.168.2.XX
add ip-address=admin-desktop RU2_IP list=AdminAccess 192.168.5.YY
add ip-address=admin-laptop RU1_IP list=AdminAccess 192.168.2.AB
add ip-address=admin-laptop RU2_IP list=AdminAccess 192.168.5.CD
add ip-address=admin-iphone/ipad RU1_IP list=AdminAccess 192.168.2.GH
add ip-address=admin-iphone/ipad RU2_IP list=AdminAccess 192.168.5.LM
add ip address=admin-remote-laptop list=AdminAccess 10.10.10.25
add ip address= admin-remote-Iphone/IPAD list=AdminAccess 10.10.10.55
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
add ip-address=admin–on hex bridge list=AdminAccess 192.168.88.0/24 { when configuring hex from hex itself aka bridge )
add ip-address=admin-on hex ether5 list=AdminAccess 192.168.55.0/24 ( for configuring accessing the HEX off bridge - emergency access )
Assumes ether1 is WAN port connected to RU1
Assumes - ether 2,3,4 are put on bridge
Assumes - ether5 is OFF bridge and give it a name of ether5-emerg
So from the firewall address list created you can access the hex router from R1 locally, from R2 through the wg tunnel and from remote warriors through the tunnel, as well as from while on the hex bridge itself, or using port 5 on the hex and off the bridge (safest way to config - just put any 192.168.55.X address in ipv4 settings in a laptop)
Additionally one can config R1U through the tunnel aka from R2U and vice versa and to both RU devices, from wg road warriors through the tunnel. Just need to use the addresses provided/simulated converted to actual ones, by manipulating the firewall rules of R1 and R2 ( similar to input chain rules on MT )
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/interface list
add name=WAN
add name=LAN
/interface list members
add interface=ether1 list=WAN
add interface=bridge list=LAN
add interface=WGServer list=LAN
add interface=ether5-emerg list=LAN
/ip firewall filter
{Input Chain}
add action=accept chain=input comment=“defconf: accept established,related,untracked” connection-state=established,related,untracked
add action=drop chain=input comment=“defconf: drop invalid” connection-state=invalid
add action=accept chain=input comment=“defconf: accept ICMP” protocol=icmp
add action=accept chain=input dst-port=15555 protocol=udp comment=“handshake”
add action=accept chain=input in-interface-list=LAN src-address-list=AdminAccess
add action=accept chain=input in-interface-list=LAN dst-ports=53,123 protocol=udp comment=“access to dns and ntp services”
add action=accept chain=input in-interface-list=LAN dst-ports=53 protocol=tcp comment=“access to dns services”
add action=drop chain=input comment=“drop all else” { put this in last }
{forward chain}
add action=fasttrack-connection chain=forward comment=“defconf: fasttrack” connection-state=established,related
add action=accept chain=forward comment=“defconf: accept established,related, untracked” connection-state=established,related,untracked
add action=drop chain=forward comment=“defconf: drop invalid” connection-state=invalid
add action=accept chain=forward in-interface-list=LAN out-interface-list=WAN { allows wg traffic to exit WAN for RU1 subnets or internet }
add action=accept chain=forward out-interface=WGServer dst-address=192.168.5.0/24 src-address=192.168.2.0/24 { to support local RU1 users to access remote RU2 subnet }
add action=accept chain=forward in-interface=WGserver out-interface=WGServer { to support road warrior coming in directly and relay back thru tunnel to RU2 }
add action=drop chain=forward
/ip firewall nat
add action=masquerade chain=srcnat comment=“defconf: masquerade” out-interface-list=WAN
The default source nat rule will work well for us in this case. Since we have added the manual route for all traffic to go out the WAN interface, it will all be sourcenatted to the WANIP of the hex.
Thus any return traffic from RU1 subnets or internet will have source IP of 192.168.2.21 and will be recognized by the RU1 router in terms of where to route the return traffic.
Other tidbits…
/iip neighbors discover
interface-list=LAN
/Ip mac winbox mac server
interface-list=LAN
/ip route
add dst-address=0.0.0.0/0 gwy=192.168.2.1 routing-table=main { assuming of course the gateway IP of the RU1 is correct here }
/ip address
add address=192.168.2.21/24 interface=ether1 network=192.168.2.0 { also creates route for all “WAN” traffiic, to RU1 subnets and to www }
/p address
add address=10.10.10.1/24 interface=WGServer network=10.10.10.0 { also creates route for all Wireguard traffic }
Note: wireguard address for RU2 = 10.10.10.10
/ip address
add address=192.168.55.1/24 interface=ether5-emerg network=192.168.55.0
Plus default bridge setup (minus few changes) for 192.168.88.0/24 subnet.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOTE it is not clear in your requirements, if RU1 users need internet access at RU2, or vice versa. This will impact WG settings.
This setup assumes LAN to LAN for users, and admin to devices for config.
Allowed IPs on RU1
peerRU2 - allowed-addresses=10.10.10.10,192.168.5.0/24
peerRemote-laptop - allowed-addresses=10.10.10.25
peerRemote-lphone/ipad - allowed-addresses=10.10.10.55