Hi everyone, I have been having an issue using a Wireguard tunnel to access my LAN remotely with my Mikrotik hAP ac2.
I have created my tunnel just fine and I can access the internet through it, but when I try to ping my LAN devices, I cannot get through.
This is what my network diagram looks like:

I am trying to access the server network with the 10.2.0.0/24 network from the remote workstation with IP 10.3.0.2. Ping results in “Destination host unreachable”
The solution I tried was to mark all the packets originating from 10.3.0.0/24 with a mangle rule and use a static route to try and reach 10.2.0.0/24 but it doesn’t seem to have helped
/ip firewall mangle
add action=mark-routing chain=prerouting comment="VPN TO LAN2" \
new-routing-mark=VPN_TO_LAN passthrough=yes src-address=10.3.0.0/24
/ip route
add disabled=no distance=1 dst-address=10.2.0.0/24 gateway=internal-wireguard \
pref-src="" routing-table=VPN_TO_LAN scope=30 suppress-hw-offload=no \
The rest of my config is below. If anyone could point me in the right direction I would really appreciate it, I’m fairly new to networking and I’m tearing my hair out trying to get this traffic to flow correctly.
# dec/12/2022 10:35:15 by RouterOS 7.6
# software id = HZDX-EFGS
#
# model = RBD52G-5HacD2HnD
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN1
set [ find default-name=ether2 ] name=ether2-LAN1
set [ find default-name=ether3 ] arp=proxy-arp name=ether3-LAN2
/interface wireless
set [ find default-name=wlan1 ] ssid=MikroTik
set [ find default-name=wlan2 ] ssid=MikroTik
/interface l2tp-client
add connect-to=197.xx.xx.xx disabled=no name=liamnet-vpn use-ipsec=yes user=\
vpnuser
/interface wireguard
add listen-port=37015 mtu=1420 name=internal-wireguard
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip pool
add name=dhcp_pool0 ranges=10.1.0.2-10.1.0.254
add name=dhcp_pool1 ranges=10.2.0.2-10.2.0.254
/ip dhcp-server
add address-pool=dhcp_pool0 interface=ether2-LAN1 name=lan1_dhcp
add address-pool=dhcp_pool1 interface=ether3-LAN2 name=lan2_dhcp
/routing table
add fib name=LAN1_TO_WAN1
add fib name=LAN2_TO_VPN
add disabled=no fib name=VPN_TO_LAN
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface l2tp-server server
set default-profile=default use-ipsec=required
/interface ovpn-server server
set auth=sha1,md5
/interface wireguard peers
add allowed-address=10.3.0.2/32 interface=internal-wireguard public-key=\
"tgTOMm/jN020diUnFOykLOo/2ZDNjhHBG1Sw3Zgja2s="
/ip address
add address=10.1.0.1/24 interface=ether2-LAN1 network=10.1.0.0
add address=10.2.0.1/24 interface=ether3-LAN2 network=10.2.0.0
add address=10.3.0.1/24 interface=internal-wireguard network=10.3.0.0
/ip dhcp-client
add interface=ether1-WAN1
/ip dhcp-server network
add address=10.1.0.0/24 dns-server=8.8.8.8,8.8.4.4 domain=liamnet.xyz gateway=\
10.1.0.1
add address=10.2.0.0/24 dns-server=8.8.8.8,8.8.4.4 domain=liamnet.xyz gateway=\
10.2.0.1
/ip firewall filter
add action=drop chain=input comment="Block SSH and Telnet" dst-port=22,23 \
protocol=tcp src-port=""
add action=accept chain=input comment="Allow UDP 37015 for WG" dst-port=37015 \
protocol=udp
add action=accept chain=forward comment="Allow VPN traffic" out-interface=\
liamnet-vpn
add action=accept chain=forward comment="Allow LAN traffic" src-address=\
10.2.0.0/24
add action=accept chain=forward src-address=10.1.0.0/24
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 comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related hw-offload=yes
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
/ip firewall mangle
add action=accept chain=prerouting comment="Allow LAN1 to ping gateway" \
dst-address=10.1.0.1 src-address=10.1.0.0/24
add action=accept chain=prerouting comment="Allow LAN2 to ping gateway" \
dst-address=10.2.0.1 src-address=10.2.0.0/24
add action=mark-routing chain=prerouting comment="LAN1 to WAN1" \
new-routing-mark=LAN1_TO_WAN1 passthrough=yes src-address=10.1.0.0/24
add action=mark-routing chain=prerouting comment="LAN2 to VPN" \
new-routing-mark=LAN2_TO_VPN passthrough=yes src-address=10.2.0.0/24
add action=mark-routing chain=prerouting comment="VPN TO LAN2" \
new-routing-mark=VPN_TO_LAN passthrough=yes src-address=10.3.0.0/24
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-WAN1
add action=masquerade chain=srcnat out-interface=liamnet-vpn
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.30.0.1 pref-src=\
"" routing-table=LAN2_TO_VPN scope=30 suppress-hw-offload=no target-scope=\
10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.0.1 \
routing-table=LAN1_TO_WAN1 suppress-hw-offload=no
add disabled=no distance=1 dst-address=10.2.0.0/24 gateway=internal-wireguard \
pref-src="" routing-table=VPN_TO_LAN scope=30 suppress-hw-offload=no \
target-scope=10
/system clock
set time-zone-name=Africa/Johannesburg
/system package update
set channel=testing