Hello.
I wanted to configure my home wireless network. I have one main ax2 router which has access to the internet via PPPoE and vlan35 and I wanted to add 2 more AP ax2 routers for a fast roaming.
Wired internet access from AP to Main router works as expected.
I have 2 vlans with configured pools and working DHCP:
vlan10 which is main network where I want to have 5 and 2.4GHz band
vlan20 which is guest network, only 2.4GHz legacy bands for some smart home devices.
I’m using routeros 7.19.1, I was able to connect 1 ax2 router via CAPs to my main router and guest network works as expected.
I try to follow all kinds of tutorials available but some use /caps-man
which apparently is no longer in use.
Where I fail:
- I’m unable to connect to local CAPsMAN from my main router and right now only the 2nd router is running.
- I’m unable to start main network, only guest is running and I have internet access if I connect my phone to it.
- Question, do I need to set manager to
capsman
for each wifi device (under WiFi → Configuration → manager)?
Main router conf:
# 2025-06-11 07:20:38 by RouterOS 7.19.1
# software id = 4AMQ-WXN1
#
# model = C52iG-5HaxD2HaxD
# serial number = HJ60ADMH654
/interface bridge
add admin-mac=F4:1E:57:D1:09:C5 auto-mac=no comment=defconf \
ingress-filtering=no name=bridge vlan-filtering=yes
/interface wifi
# operated by CAP F4:1E:57:D1:0A:13%bridge
add name=cap-wifi1 radio-mac=F4:1E:57:D1:0A:17
# no connection to CAPsMAN
set [ find default-name=wifi2 ] channel.skip-dfs-channels=10min-cac \
configuration.manager=capsman .mode=ap disabled=no security.ft=no \
.ft-over-ds=no
/interface vlan
add interface=bridge name=vlan10-main vlan-id=10
add interface=bridge name=vlan20-guest vlan-id=20
add interface=ether1 name=vlan35 vlan-id=35
/interface pppoe-client
add add-default-route=yes comment="Netia PPPoE Client" disabled=no interface=\
vlan35 name=pppoe-out1 use-peer-dns=yes user=<redacted>
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wifi datapath
add bridge=bridge name=dp-main vlan-id=10
add bridge=bridge name=dp-guest vlan-id=20
/interface wifi
# no connection to CAPsMAN
set [ find default-name=wifi1 ] \
.skip-dfs-channels=10min-cac configuration.manager=capsman .mode=ap \
datapath=dp-main disabled=no security.ft=no .ft-over-ds=no
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk disabled=no encryption=ccmp ft=yes \
ft-over-ds=yes ft-preserve-vlanid=no name=sec-main
add authentication-types=wpa2-psk disabled=no encryption=ccmp ft=no name=\
sec-guest
/interface wifi configuration
add channel.band=2ghz-ax .frequency=2412 .width=20/40mhz country=Poland \
disabled=no mode=ap name=cfg-main-2g security=sec-main ssid="Lucky 16"
add channel.band=5ghz-ax .frequency=5180 .width=20/40/80mhz country=Poland \
disabled=no mode=ap name=cfg-main-5g security=sec-main ssid="Lucky 16"
add channel.band=2ghz-ax .frequency=2417 .width=20mhz country=Poland \
disabled=no mode=ap name=cfg-guest-2g security=sec-guest ssid=\
"Lucky 16 Guest"
/ip pool
add comment="Default pool" name=default-dhcp ranges=\
192.168.1.10-192.168.1.254
add name=dhcp-pool-main ranges=192.168.10.100-192.168.10.254
add name=dhcp-pool-guest ranges=192.168.20.100-192.168.20.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge name=defconf
add address-pool=dhcp-pool-main interface=vlan10-main lease-time=12h name=\
dhcp-main
add address-pool=dhcp-pool-guest interface=vlan20-guest lease-time=6h name=\
dhcp-guest
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
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=wifi1
add bridge=bridge comment=defconf interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface detect-internet
set wan-interface-list=WAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add interface=pppoe-out1 list=WAN
add interface=vlan35 list=WAN
/interface ovpn-server server
add mac-address=FE:71:D9:1C:13:16 name=ovpn-server1
/interface wifi cap
set caps-man-addresses=127.0.0.1 certificate=none discovery-interfaces=\
bridge enabled=yes
/interface wifi capsman
set certificate=auto enabled=yes interfaces=bridge package-path="" \
require-peer-certificate=no upgrade-policy=require-same-version
/interface wifi provisioning
add action=create-dynamic-enabled common-name-regexp="" disabled=no \
master-configuration=cfg-main-2g name-format=testcap \
slave-configurations=cfg-main-5g supported-bands=5ghz-ax,2ghz-ax
add action=create-dynamic-enabled disabled=no master-configuration=\
cfg-guest-2g name-format=testcap supported-bands=2ghz-n,2ghz-g
/ip address
add address=192.168.1.1/24 comment=defconf interface=bridge network=\
192.168.1.0
add address=192.168.10.1/24 interface=vlan10-main network=192.168.10.0
add address=192.168.20.1/24 interface=vlan20-guest network=192.168.20.0
/ip dhcp-client
add comment=defconf interface=ether1
/ip dhcp-server lease
add address=192.168.1.30 client-id=1:4c:82:a9:80:68:69 mac-address=\
4C:82:A9:80:68:69 server=defconf
add address=192.168.1.2 client-id=1:f4:1e:57:d1:a:13 mac-address=\
F4:1E:57:D1:0A:13 server=defconf
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf dns-server=192.168.1.1 gateway=\
192.168.1.1
add address=192.168.10.0/24 dns-server=192.168.1.71 gateway=192.168.10.1
add address=192.168.20.0/24 dns-server=192.168.1.71 gateway=192.168.20.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/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=accept chain=input comment="Allow local CAPsMAN" dst-port=\
5246-5247 protocol=udp src-address=127.0.0.1
add action=accept chain=input dst-port=5246,5247 protocol=udp
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
/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" \
dst-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=Europe/Warsaw
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
AP #1 router conf:
# 2025-06-11 07:21:41 by RouterOS 7.19.1
# software id = 6WDF-SC2M
#
# model = C52iG-5HaxD2HaxD
# serial number = HJ60ADT8BNE
/interface bridge
add admin-mac=F4:1E:57:D1:0A:13 auto-mac=no comment=defconf name=bridge \
vlan-filtering=yes
/interface wifi
# managed by CAPsMAN F4:1E:57:D1:09:C5%bridge
set [ find default-name=wifi1 ] configuration.manager=capsman .mode=ap \
disabled=no security.authentication-types="" .ft=yes .ft-over-ds=yes
# SSID not set
set [ find default-name=wifi2 ] configuration.mode=ap disabled=no \
security.ft=yes .ft-over-ds=yes
/interface vlan
add interface=bridge name=vlan10-main vlan-id=10
add interface=bridge name=vlan20-guest vlan-id=20
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
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=wifi1
add bridge=bridge comment=defconf interface=wifi2
add bridge=bridge interface=ether1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set ip-forward=no
/interface list member
add comment=defconf interface=bridge list=LAN
/interface wifi cap
set certificate=none discovery-interfaces=bridge enabled=yes \
lock-to-caps-man=no
/interface wifi capsman
set interfaces=wifi1,wifi2 package-path="" require-peer-certificate=no \
upgrade-policy=none
/ip dhcp-client
add comment=defconf interface=bridge
/ip dhcp-server
add address-pool=default-dhcp disabled=yes interface=bridge name=defconf
/ip dhcp-server network
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
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/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
/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" \
dst-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=Europe/Warsaw
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN