I've recently introduced vlan filtering in my home network and wired connectivity seems to be working OK after implementing suggestions shared in the below post:
viewtopic.php?t=213134
One remaining issue I have is the WIFI performance where I consistently get speeds below 100 Mbps when connected to 5GHz ac network (all my tests were performed less than 2 meters from the AP).
My home network consists of:
hex poe - acting as router/gateway/firewall/CAPsMAN
2x hex - acting as bridge with vlan filtering
3x audience - acting as CAPs controlled by hex poe
Below is the simple diagram of how they are connected:
The network uses following vlans:
vlan10 for 192.168.1.0 network meant for wired and wireless clients (this eventually becomes untagged traffic)
vlan90 meant for 192.168.90.0 network used for management access to Mikrotik devices.
I intend to introduce additional vlans got guest and IoT WIFI, but I need to resolve the current performance issues first.
Below is how I intended to configure the ports:
hex poe:
ether1 - WAN
ether2 - hybrid port (vlan10 untagged, vlan90 tagged)
ether3,4,5 - trunk ports (vlan10 and vlan90 tagged)
hex
ether1,5 - trunk ports (vlan10 and vlan90 tagged)
ether2 - hybrid port (vlan10 untagged, vlan90 tagged)
ether3,4 - access ports (vlan10 untagged)
audience - ether1 - trunk port (vlan10 and vlan90 tagged)
ether2 - hybrid port (vlan10 untagged, vlan90 tagged)
The idea behind hybrid ports is to have them working as access ports for most devices, but also to be able to access management vlan with PC/laptop with virtual NIC configured for vlan90.
The performance issue I'm trying to narrow down is mostly visible on WIFI clients, but it seems there is something off with the wired network as well, even though it's not noticeable in everyday use, without looking at network stats. Tests performed with Tamosoft Throughput Test gave me following results in below 3 scenarios:
a) Server and client on 192.168.90.0 network - speed above 900 Mbps, occasional single digit % packet loss
b) Server and client on 192.168.1.0 network - speed above 800 Mbps, frequent single and double digit % packet loss
c) Server on wired and client on wireless 192.168.1.0 network - speed below 100 Mbps, consistent packet drops above 90%
So, I clearly broke something big time when introducing vlan setup but I'm not sure where precisely I went wrong. I suspect some default (or lack of) routing settings, or misconfiguration of firewall.
Here are exports of my configurations (hex, and audience configs are basically copies of one another). These are full exports, baring passwords, DHCP reservations and port forwarding rules, which are somewhat sensitive.
hex poe:
Code: Select all
# 2024-12-29 15:59:25 by RouterOS 7.16.2
# software id = E8G3-FMJZ
#
# model = RB960PGS
/caps-man channel
add band=2ghz-g/n extension-channel=Ce frequency=2412 name=2g-1
add band=5ghz-a/n/ac extension-channel=Ceee frequency=5180 name=5g-36
add band=2ghz-g/n extension-channel=Ce frequency=2437 name=2g-6
add band=2ghz-g/n extension-channel=eC frequency=2472 name=2g-13
add band=5ghz-a/n/ac extension-channel=Ceee frequency=5260 name=5g-52
add band=5ghz-a/n/ac extension-channel=Ceee frequency=5320 name=5g-64
/interface bridge
add igmp-snooping=yes name=bridge-lan
/interface ethernet
set [ find default-name=sfp1 ] disabled=yes
/interface vlan
add interface=bridge-lan name=MGMT vlan-id=90
add interface=ether1 name=vlan-internet vlan-id=20
add interface=bridge-lan name=vlanGUEST vlan-id=30
add interface=bridge-lan name=vlanIAS vlan-id=10
/caps-man datapath
add bridge=bridge-lan local-forwarding=no name=datapath-int vlan-id=10 \
vlan-mode=use-tag
/interface pppoe-client
add add-default-route=yes disabled=no interface=vlan-internet name=Benet \
use-peer-dns=yes
/caps-man security
add authentication-types=wpa2-psk encryption=aes-ccm name=DefSec
/caps-man configuration
add channel=2g-1 channel.band=2ghz-g/n country=poland datapath=datapath-int \
installation=indoor mode=ap name=2g-1-cfg security=DefSec ssid=domek-wifi
add channel=5g-36 channel.band=5ghz-a/n/ac country=poland datapath=\
datapath-int installation=indoor mode=ap name=5g-36-cfg security=DefSec \
ssid=domek-wifi
add channel=2g-6 channel.band=2ghz-g/n country=poland datapath=datapath-int \
installation=indoor mode=ap name=2g-6-cfg security=DefSec ssid=domek-wifi
add channel=2g-13 channel.band=2ghz-g/n country=poland datapath=datapath-int \
installation=indoor mode=ap name=2g-13-cfg security=DefSec ssid=\
domek-wifi
add channel=5g-52 channel.band=5ghz-a/n/ac country=poland datapath=\
datapath-int installation=indoor mode=ap name=5g-52-cfg security=DefSec \
ssid=domek-wifi
add channel=5g-64 channel.band=5ghz-a/n/ac country=poland datapath=\
datapath-int installation=indoor mode=ap name=5g-64-cfg security=DefSec \
ssid=domek-wifi
/interface ethernet switch port
set 1 default-vlan-id=10 vlan-mode=secure
set 2 vlan-mode=secure
set 3 vlan-mode=secure
set 4 vlan-mode=secure
set 5 vlan-mode=secure
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
add name=TRUSTED
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=pool_lan ranges=192.168.1.2-192.168.1.254
add name=pool_guest ranges=192.168.3.2-192.168.3.254
add name=pool_mgmt ranges=192.168.90.2-192.168.90.254
/ip dhcp-server
add address-pool=pool_lan interface=vlanIAS name=dhcp_lan
add address-pool=pool_guest interface=vlanGUEST name=dhcp_guest
add address-pool=pool_mgmt interface=MGMT name=dhcp_mgmt
/caps-man manager
set enabled=yes
/caps-man provisioning
add action=create-dynamic-enabled hw-supported-modes=gn identity-regexp=\
"WIFI-2\$" master-configuration=2g-1-cfg name-format=prefix-identity \
name-prefix=2G
add action=create-dynamic-enabled hw-supported-modes=a,ac,an identity-regexp=\
"WIFI-2\$" master-configuration=5g-36-cfg name-format=prefix-identity \
name-prefix=5G
add action=create-dynamic-enabled hw-supported-modes=gn identity-regexp=\
"WIFI-1\$" master-configuration=2g-6-cfg name-format=prefix-identity \
name-prefix=2G
add action=create-dynamic-enabled hw-supported-modes=gn identity-regexp=\
"WIFI-0\$" master-configuration=2g-13-cfg name-format=prefix-identity \
name-prefix=2G
add action=create-dynamic-enabled hw-supported-modes=a,ac,an identity-regexp=\
"WIFI-1\$" master-configuration=5g-52-cfg name-format=prefix-identity \
name-prefix=5G
add action=create-dynamic-enabled hw-supported-modes=a,ac,an identity-regexp=\
"WIFI-0\$" master-configuration=5g-36-cfg name-format=prefix-identity \
name-prefix=5G
/interface bridge port
add bridge=bridge-lan interface=ether2
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
/ip firewall connection tracking
set udp-timeout=10s
/ip neighbor discovery-settings
set discover-interface-list=TRUSTED
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface ethernet switch vlan
add independent-learning=yes ports=ether2,ether3,ether4,ether5,switch1-cpu \
switch=switch1 vlan-id=10
add independent-learning=yes ports=ether3,ether4,ether5,switch1-cpu switch=\
switch1 vlan-id=30
add independent-learning=yes ports=ether2,ether3,ether4,ether5,switch1-cpu \
switch=switch1 vlan-id=90
/interface list member
add comment=defconf interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=vlanIAS list=LAN
add interface=vlanGUEST list=LAN
add interface=MGMT list=LAN
add interface=MGMT list=TRUSTED
/ip address
add address=192.168.1.1/24 interface=vlanIAS network=192.168.1.0
add address=192.168.3.1/24 interface=vlanGUEST network=192.168.3.0
add address=192.168.90.1/24 interface=MGMT network=192.168.90.0
/ip dhcp-client
add interface=vlan-internet
/ip dhcp-server network
add address=192.168.1.0/24 gateway=192.168.1.1
add address=192.168.3.0/24 gateway=192.168.3.1
add address=192.168.90.0/24 gateway=192.168.90.1
/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 out-interface=Benet
/ip firewall service-port
set sip disabled=yes
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
/system clock
set time-zone-name=Europe/Warsaw
/system identity
set name=IAS-NET-1
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp server
set enabled=yes
/system ntp client servers
add address=212.1.104.9
/system routerboard settings
set auto-upgrade=yes
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=TRUSTED
/tool mac-server ping
set enabled=no
hex:
Code: Select all
# 2024-12-29 18:11:14 by RouterOS 7.16.2
# software id = AZ9Q-ZAMF
#
# model = RB750Gr3
/interface bridge
add name=bridge-lan protocol-mode=none pvid=90 vlan-filtering=yes
/interface vlan
add interface=bridge-lan name=MGMT vlan-id=90
add interface=bridge-lan name=vlanIAS vlan-id=10
/interface list
add name=TRUSTED
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip smb users
set [ find default=yes ] disabled=yes
/interface bridge port
add bridge=bridge-lan comment="trunk port from hex" frame-types=\
admit-only-vlan-tagged interface=ether1
add bridge=bridge-lan comment="hybrid port for PC" interface=ether2 pvid=10
add bridge=bridge-lan comment="access port to client" frame-types=\
admit-only-untagged-and-priority-tagged interface=ether3 pvid=10
add bridge=bridge-lan comment="access port to client" frame-types=\
admit-only-untagged-and-priority-tagged interface=ether4 pvid=10
add bridge=bridge-lan comment="trunk port for AP" frame-types=\
admit-only-vlan-tagged interface=ether5
/ip neighbor discovery-settings
set discover-interface-list=TRUSTED
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface bridge vlan
add bridge=bridge-lan tagged=ether1,ether5 untagged=ether2,ether3,ether4 \
vlan-ids=10
add bridge=bridge-lan tagged=ether1,ether2,ether5,bridge-lan vlan-ids=90
/interface list member
add interface=MGMT list=TRUSTED
/ip address
add address=192.168.90.3/24 disabled=yes interface=MGMT network=192.168.90.0
/ip dhcp-client
add interface=MGMT
/ip service
set telnet disabled=yes
set ftp disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/ip smb shares
set [ find default=yes ] directory=/flash/pub
/system clock
set time-zone-name=Europe/Warsaw
/system identity
set name=IAS-NET-2
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=192.168.90.1
/system routerboard settings
set auto-upgrade=yes
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=TRUSTED
/tool mac-server ping
set enabled=no
audience:
Code: Select all
# 2024-12-29 18:14:25 by RouterOS 7.16.2
# software id = 0YDV-TKFC
#
# model = RBD25G-5HPacQD2HPnD
/interface bridge
add name=bridge-lan protocol-mode=none pvid=90 vlan-filtering=yes
/interface wireless
# managed by CAPsMAN
# channel: 2472/20-eC/gn(16dBm), SSID: domek-wifi, CAPsMAN forwarding
set [ find default-name=wlan1 ] ssid=MikroTik
# managed by CAPsMAN
# channel: 5180/20-Ceee/ac/P(18dBm), SSID: domek-wifi, CAPsMAN forwarding
set [ find default-name=wlan2 ] ssid=MikroTik
set [ find default-name=wlan3 ] ssid=MikroTik
/interface vlan
add interface=bridge-lan name=MGMT vlan-id=90
/interface list
add name=TRUSTED
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/interface bridge port
add bridge=bridge-lan comment="trunk port from hex" frame-types=\
admit-only-vlan-tagged interface=ether1
add bridge=bridge-lan comment="hybrid port for PC" interface=ether2 pvid=10
/ip neighbor discovery-settings
set discover-interface-list=TRUSTED
/interface bridge vlan
add bridge=bridge-lan tagged=ether1 untagged=ether2 vlan-ids=10
add bridge=bridge-lan tagged=ether1,ether2,bridge-lan vlan-ids=90
/interface list member
add interface=MGMT list=TRUSTED
/interface wireless cap
#
set caps-man-addresses=192.168.90.1 enabled=yes interfaces=wlan2,wlan1
/ip address
add address=192.168.90.6/24 disabled=yes interface=MGMT network=192.168.90.0
/ip dhcp-client
add interface=MGMT
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Warsaw
/system identity
set name=IAS-WIFI-2
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=192.168.90.1
/system routerboard settings
set auto-upgrade=yes
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=TRUSTED
In case you're wondering about disabled IP addresses, I initially configured them as static but then changed to the same addresses being served by hex poe via DHCP reservation.
I would appreciate any suggestions on how to improve this configuration to eliminate the WIFI bottleneck (and potentially also the reason behind other pocket drops).
Sorry for the lengthy post but I tried to include all information which may be relevant - although chances are that I still managed to miss something