Im having an insane amount of trouble routing my VLAN40 through my Wireguard tunnel. I have been going back and forth in these forums but cant seem to get it right. I only want this VLAN40 to go through Wireguard and the rest going through my main provider gateway like a split tunnel.This is my new config. I want to get the routing setup with WG right before I polish this off with all the firewall rules, ZT and etc. I just started this config so don’t think this is going to be my full 100% production setup bc its not. there is still a good amount of features and preferences id like to add with the VLANS and security rules.
Please tell me what I’m doing wrong. I tried using mangle rules, route tables and the list goes on and I just cant seem to get it right.
Config Export:
/interface bridge
add mtu=1510 name="BR - VLAN10 - General LAN" vlan-filtering=yes
add name="BR - VLAN20 - iOT" vlan-filtering=yes
add mtu=1510 name="BR - VLAN30 - Guest LAN" vlan-filtering=yes
add mtu=1510 name="BR - VLAN40 - VPNLAN" vlan-filtering=yes
add admin-mac=78:9A:18:62:5E:5F auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether1 ] name="ether1 WAN"
set [ find default-name=ether2 ] name="ether2 MDF"
set [ find default-name=ether3 ] disabled=yes
set [ find default-name=ether4 ] disabled=yes
set [ find default-name=ether5 ] disabled=yes
set [ find default-name=ether6 ] disabled=yes
set [ find default-name=ether7 ] disabled=yes
set [ find default-name=ether8 ] disabled=yes
set [ find default-name=sfp-sfpplus1 ] disabled=yes
/interface wireguard
add listen-port=13231 mtu=1420 name="xxxxxxxxxxxxxxxxxxxxxx"
/interface vlan
add interface="ether2 MDF" name="VLAN10 - General " vlan-id=10
add interface="ether2 MDF" name="VLAN20 - iOT" vlan-id=20
add interface="ether2 MDF" name="VLAN30 - Guest " vlan-id=1
add interface="ether2 MDF" name="VLAN40 - VPN" vlan-id=40
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
add name=dhcp_pool1 ranges=192.168.10.2-192.168.10.254
add name=dhcp_pool2 ranges=192.168.20.2-192.168.20.254
add name=dhcp_pool3 ranges=192.168.30.2-192.168.30.254
add name=dhcp_pool4 ranges=192.168.40.2-192.168.40.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge lease-time=10m name=defconf
add address-pool=dhcp_pool1 interface="BR - VLAN10 - General LAN" name=dhcp1
add address-pool=dhcp_pool2 interface="BR - VLAN20 - iOT" name=dhcp2
add address-pool=dhcp_pool3 interface="BR - VLAN30 - Guest LAN" name=dhcp3
add address-pool=dhcp_pool4 interface="BR - VLAN40 - VPNLAN" name=dhcp4
/routing table
add disabled=no fib name=VPN1
add disabled=no name="VPN Failover"
/interface bridge port
add bridge=bridge comment=defconf interface="ether2 MDF"
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=ether6
add bridge=bridge comment=defconf interface=ether7
add bridge=bridge comment=defconf interface=ether8
add bridge=bridge comment=defconf interface=sfp-sfpplus1
add bridge="BR - VLAN10 - General LAN" interface="VLAN10 - General "
add bridge="BR - VLAN20 - iOT" interface="VLAN20 - iOT"
add bridge="BR - VLAN30 - Guest LAN" interface="VLAN30 - Guest " tag-stacking=yes
add bridge="BR - VLAN40 - VPNLAN" interface="VLAN40 - VPN"
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge
add bridge="BR - VLAN10 - General LAN" tagged="ether2 MDF" vlan-ids=10
add bridge="BR - VLAN20 - iOT" tagged="ether2 MDF" vlan-ids=20
add bridge="BR - VLAN30 - Guest LAN" tagged="ether2 MDF" vlan-ids=30
add bridge="BR - VLAN40 - VPNLAN" tagged="ether2 MDF" vlan-ids=40
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface="ether1 WAN" list=WAN
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=xxxxxxxx endpoint-port=51820 interface=" WG interface " \
persistent-keepalive=25s public-key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=192.168.88.0
add address=192.168.10.0/24 interface="VLAN10 - General " network=192.168.10.0
add address=192.168.10.1/24 interface="BR - VLAN10 - General LAN" network=192.168.10.0
add address=192.168.30.1/24 interface="BR - VLAN30 - Guest LAN" network=192.168.30.0
add address=192.168.30.0/24 interface="VLAN30 - Guest " network=192.168.30.0
add address=192.168.20.0/24 interface="VLAN20 - iOT" network=192.168.20.0
add address=192.168.20.1/24 interface="BR - VLAN20 - iOT" network=192.168.20.0
add address=192.168.40.0/24 interface="VLAN40 - VPN" network=192.168.40.0
add address=192.168.40.1/24 interface="BR - VLAN40 - VPNLAN" network=192.168.40.0
add address=10.2.0.2 interface="WG interface" network=10.2.0.0
/ip dhcp-client
add comment=defconf interface="ether1 WAN" use-peer-dns=no
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.1,8.8.8.8,1.1.1.1 gateway=192.168.10.1
add address=192.168.20.0/24 dns-server=192.168.20.1,8.8.8.8,1.1.1.1 gateway=192.168.20.1
add address=192.168.30.0/24 dns-server=192.168.30.1,8.8.8.8,1.1.1.1 gateway=192.168.30.1
add address=192.168.40.0/24 dns-server=192.168.40.1,8.8.8.8,1.1.1.1 gateway=192.168.40.1
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes servers=10.2.0.1,8.8.8.8
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall filter
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=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
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
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=mark-routing chain=prerouting connection-type="" new-routing-mark=VPN1 passthrough=no src-address=\
192.168.40.0/24
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat out-interface=" WG interface " src-address=192.168.40.0/24
/ip route
add disabled=no distance=1 dst-address=128.0.0.0/1 gateway=10.2.0.1 pref-src="" routing-table=VPN1 scope=30 \
suppress-hw-offload=no target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/1 gateway=10.2.0.1 pref-src="" routing-table=VPN1 scope=30 \
suppress-hw-offload=no target-scope=10
add disabled=no dst-address=xxxxxxxxxx/32 gateway=xxxxxxxxxxxxxx routing-table=VPN1 suppress-hw-offload=no
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=" WG interface " pref-src="" routing-table=VPN1 \
scope=30 suppress-hw-offload=no target-scope=10
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
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 ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp \
src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
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=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock
set time-zone-name=America/Phoenix
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
[admin@MikroTik] > export
# 2024-01-04 22:58:39 by RouterOS 7.11.2
# software id = GIXV-EJ2I
#
# model = RB5009UG+S+
# serial number =
/interface bridge
add mtu=1510 name="BR - VLAN10 - General LAN" vlan-filtering=yes
add name="BR - VLAN20 - iOT" vlan-filtering=yes
add mtu=1510 name="BR - VLAN30 - Guest LAN" vlan-filtering=yes
add mtu=1510 name="BR - VLAN40 - VPNLAN" vlan-filtering=yes
add admin-mac=78:9A:18:62:5E:5F auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether1 ] name="ether1 WAN"
set [ find default-name=ether2 ] name="ether2 MDF"
set [ find default-name=ether3 ] disabled=yes
set [ find default-name=ether4 ] disabled=yes
set [ find default-name=ether5 ] disabled=yes
set [ find default-name=ether6 ] disabled=yes
set [ find default-name=ether7 ] disabled=yes
set [ find default-name=ether8 ] disabled=yes
set [ find default-name=sfp-sfpplus1 ] disabled=yes
/interface wireguard
add listen-port=13231 mtu=1420 name="xxxxxxxxxxxxxx"
/interface vlan
add interface="ether2 MDF" name="VLAN10 - General " vlan-id=10
add interface="ether2 MDF" name="VLAN20 - iOT" vlan-id=20
add interface="ether2 MDF" name="VLAN30 - Guest " vlan-id=1
add interface="ether2 MDF" name="VLAN40 - VPN" vlan-id=40
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
add name=dhcp_pool1 ranges=192.168.10.2-192.168.10.254
add name=dhcp_pool2 ranges=192.168.20.2-192.168.20.254
add name=dhcp_pool3 ranges=192.168.30.2-192.168.30.254
add name=dhcp_pool4 ranges=192.168.40.2-192.168.40.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge lease-time=10m name=defconf
add address-pool=dhcp_pool1 interface="BR - VLAN10 - General LAN" name=dhcp1
add address-pool=dhcp_pool2 interface="BR - VLAN20 - iOT" name=dhcp2
add address-pool=dhcp_pool3 interface="BR - VLAN30 - Guest LAN" name=dhcp3
add address-pool=dhcp_pool4 interface="BR - VLAN40 - VPNLAN" name=dhcp4
/zerotier
set zt1 comment="ZeroTier Central controller - https://my.zerotier.com/" disabled=yes disabled=yes name=zt1 port=9993
/interface bridge port
add bridge=bridge comment=defconf interface="ether2 MDF"
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=ether6
add bridge=bridge comment=defconf interface=ether7
add bridge=bridge comment=defconf interface=ether8
add bridge=bridge comment=defconf interface=sfp-sfpplus1
add bridge="BR - VLAN10 - General LAN" interface="VLAN10 - General "
add bridge="BR - VLAN20 - iOT" interface="VLAN20 - iOT"
add bridge="BR - VLAN30 - Guest LAN" interface="VLAN30 - Guest " tag-stacking=yes
add bridge="BR - VLAN40 - VPNLAN" interface="VLAN40 - VPN"
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge
add bridge="BR - VLAN10 - General LAN" tagged="ether2 MDF" vlan-ids=10
add bridge="BR - VLAN20 - iOT" tagged="ether2 MDF" vlan-ids=20
add bridge="BR - VLAN30 - Guest LAN" tagged="ether2 MDF" vlan-ids=30
add bridge="BR - VLAN40 - VPNLAN" tagged="ether2 MDF" vlan-ids=40
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface="ether1 WAN" list=WAN
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address xxxxxxxxx endpoint-port=51820 interface=" WG interface xxxxxxxxx " \
persistent-keepalive=25s public-key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=192.168.88.0
add address=192.168.10.0/24 interface="VLAN10 - General " network=192.168.10.0
add address=192.168.10.1/24 interface="BR - VLAN10 - General LAN" network=192.168.10.0
add address=192.168.30.1/24 interface="BR - VLAN30 - Guest LAN" network=192.168.30.0
add address=192.168.30.0/24 interface="VLAN30 - Guest " network=192.168.30.0
add address=192.168.20.0/24 interface="VLAN20 - iOT" network=192.168.20.0
add address=192.168.20.1/24 interface="BR - VLAN20 - iOT" network=192.168.20.0
add address=192.168.40.0/24 interface="VLAN40 - VPN" network=192.168.40.0
add address=192.168.40.1/24 interface="BR - VLAN40 - VPNLAN" network=192.168.40.0
add address=10.2.0.2 interface=" WG interface " network=10.2.0.0
/ip dhcp-client
add comment=defconf interface="ether1 WAN" use-peer-dns=no
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.1,8.8.8.8,1.1.1.1 gateway=192.168.10.1
add address=192.168.20.0/24 dns-server=192.168.20.1,8.8.8.8,1.1.1.1 gateway=192.168.20.1
add address=192.168.30.0/24 dns-server=192.168.30.1,8.8.8.8,1.1.1.1 gateway=192.168.30.1
add address=192.168.40.0/24 dns-server=192.168.40.1,8.8.8.8,1.1.1.1 gateway=192.168.40.1
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes servers=10.2.0.1,8.8.8.8
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall filter
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=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
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
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat out-interface=" WG interface " src-address=192.168.40.0/24
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
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 ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp \
src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
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=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock
set time-zone-name=America/Phoenix
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
PS: Sometimes I want to order a UDM . but I’m not gonna be a little bitch so plz help me out so I can continue loving my tikbox bc she does very well (sometimes).