Ayuda con CAPsMAN y VLANs

Hola,

Aprovecho para abrir un tema nuevo para pediros ayudo sobre cómo configurar CAPsMAN con VLANs.

La información oficial de CAPsMAN+VLANs de Mikrotik la tenemos aquí. Pero sospecho que faltan muchos detalles.

Nuestro compañero @pokoyo publicó hace un tiempo dos tutoriales enormes:
- VLANs aquí.
- CAPsMAN aquí.

Mi caso particular es el siguiente con un router RB4011:
- En eth1 tengo la conexión al ONT con la configuración para O2.
- En eth2/eth3 hay dos puertos trunk que llevan las VLANs con ID 10 y 40.
- De eth4 a eth9 son puertos de acceso puro la la VLAN 10
- En eth10 tengo un puerto híbrido con un AP de Ubiquiti que quiero eliminar para meter dos cAP ac nuevos en mi red y estar en el mismo ecosistema.
- Todos los puertos están en un mismo bridge: bridge-vlans
- La VLAN 10 hace de LAN todopoderosa y la 40 es una VLAN aislado para IoT
- Mi diseño de VLANs viene de antiguo, en concreto del tutorial archifamoso del forum de Mikrotik de aquí. Además hace ya unos meses @pokoyo me echó una mano limpiando mi configuración original.
- De momento quiero colgar el cAP ac de eth2 y trastear hasta tenerlo en condiciones de pasarlo a eth10 y quitar el AP de Ubiquiti.
- No importa para esta película, pero tengo IKEv2, Wireguard y ZeroTier funcionando. No os asustéis con esos bloques de código.

En cAP ac:
- Tener una SSID para cada VLAN.
- Por ahora tengo que mantener la bando de 2.4Ghz por los cacharros IoT que la usan
- Estoy esperando un segundo cAP ac y quisiera conectarlo en serie al primero y gestionar ambos en CAPsMAN

¿El porqué de todo esto? Lo explico aquí y en resumidas cuentas, no me gusta el Unifi Controller de Ubiquiti.

He estado trasteando con CAPsMAN en el router y he configurado un bridge y las VLANs en el cAP, pero obviamente lo que he hecho no es correcto porque no funciona. No me importaría dinamitar la configuración del cAP pero debo ser cuidadoso con la del router, porque en fin... no quiero causar una crisis familiar.

Sé que es un trabajo configurar esto, pero creo que vale la pena no sólo para mi caso sino también para completar los tutoriales que ya tenemos en este foro que tocan ambas temáticas. Y como no, os agradezco de nuevo a todos vosotros vuestra ayuda y esfuerzo que hacen de este sitio un lugar increíble para apreder cada día más sobre redes y RouterOS.

¡Gracias!

Esta el la configuración de mi router, tras quitar contraseñas al exportar:

Código:
# jan/04/2023 14:31:28 by RouterOS 7.6
# software id = UE1A-MLIM
#
# model = RB4011iGS+
# serial number = D4440XXXXXX
/caps-man channel
add band=2ghz-g/n control-channel-width=20mhz frequency=2412 name=channel1
add band=2ghz-g/n control-channel-width=20mhz frequency=2437 name=channel6
add band=2ghz-g/n control-channel-width=20mhz frequency=2462 name=channel11
/interface bridge
add frame-types=admit-only-vlan-tagged name=bridge-vlans vlan-filtering=yes
/interface wireguard
add listen-port=12345 mtu=1420 name=wireguard
add listen-port=12346 mtu=1420 name=wireguard-sts
/interface vlan
add interface=bridge-vlans name=VL10_BASE vlan-id=10
add interface=bridge-vlans name=VL40_IOT vlan-id=40
add interface=ether1 name=vlan6-internet vlan-id=6
/caps-man configuration
add country=spain datapath.bridge=bridge-vlans .vlan-id=10 .vlan-mode=use-tag \
    name=config_vlan10 security.authentication-types=wpa-psk,wpa2-psk ssid=\
    MKT_LAN
add country=spain datapath.bridge=bridge-vlans .vlan-id=40 .vlan-mode=use-tag \
    name=config_vlan40 security.authentication-types=wpa-psk,wpa2-psk ssid=\
    MKT_IOT
/interface pppoe-client
add add-default-route=yes disabled=no interface=vlan6-internet name=internet \
    user=adslppp@telefonicanetpa
/interface list
add name=WAN
add name=VLAN
add name=BASE
/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 ipsec policy group
add name=ike2-template-group
/ip ipsec profile
add dh-group=modp2048,modp1536,modp1024 enc-algorithm=aes-256,aes-192,aes-128 \
    hash-algorithm=sha256 name=ike2-profile
/ip ipsec peer
add exchange-mode=ike2 name=ike2-peer passive=yes profile=ike2-profile
/ip ipsec proposal
add auth-algorithms=sha512,sha256,sha1 enc-algorithms="aes-256-cbc,aes-256-ctr\
    ,aes-256-gcm,aes-192-ctr,aes-192-gcm,aes-128-cbc,aes-128-ctr,aes-128-gcm" \
    lifetime=8h name=ike2-proposal pfs-group=none
/ip pool
add name=VL10_POOL ranges=10.0.10.100-10.0.10.248
add name=VL40_POOL ranges=10.0.40.100-10.0.40.254
add name=pool-vpn ranges=10.0.68.10-10.0.68.254
/ip dhcp-server
add address-pool=VL10_POOL interface=VL10_BASE name=VL10_DHCP
add address-pool=VL40_POOL interface=VL40_IOT name=VL40_DHCP
/ip ipsec mode-config
add address-pool=pool-vpn address-prefix-length=32 name=\
    ike2-conf-road-warrior split-include=0.0.0.0/0
/port
set 0 name=serial0
set 1 name=serial1
/snmp community
add addresses=::/0 name=casa
/system logging action
add bsd-syslog=yes name=nas remote=10.0.10.203 syslog-facility=syslog \
    syslog-severity=warning target=remote
/zerotier
set zt1 comment="ZeroTier Central controller - https://my.zerotier.com/" \
    identity="c2df1dce21:0:ec0c9cd9b21f1527f6d217474df231956d53ab484ee58743c5a\
    030033a202d1421e2035735a6159d181cafe8fc1b239c8df055d463b0d50c7c355cefbec24\
    1bb:12c3c882dfcd77fc4a2ab0e016052c916e384cbd4d95282a6f8423e28ec3838ca1e14b\
    eb25d062c4c8038afc1550f788fb5444dafef5edffd248f9c690f4ad999" name=zt1 \
    port=9993
/zerotier interface
add allow-default=no allow-global=no allow-managed=no disabled=no instance=\
    zt1 name=zerotier1 network=af415e486fb61280
/caps-man manager
set enabled=yes
/caps-man manager interface
set [ find default=yes ] forbid=yes
add disabled=no interface=ether2
add disabled=no interface=ether8
/caps-man provisioning
add action=create-dynamic-enabled master-configuration=config_vlan10 \
    slave-configurations=config_vlan40
/interface bridge port
add bridge=bridge-vlans frame-types=admit-only-vlan-tagged interface=ether2
add bridge=bridge-vlans frame-types=admit-only-vlan-tagged interface=ether3
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether4 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether5 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether6 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether7 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether8 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether9 pvid=10
add bridge=bridge-vlans interface=ether10 pvid=10
add bridge=bridge-vlans disabled=yes interface=*16
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192 rp-filter=strict
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface bridge vlan
add bridge=bridge-vlans tagged=bridge-vlans,ether2,ether3 untagged=\
    ether6,ether10,ether4,ether5 vlan-ids=10
add bridge=bridge-vlans tagged=bridge-vlans,ether2,ether3,ether10 vlan-ids=40
/interface list member
add interface=internet list=WAN
add interface=VL10_BASE list=VLAN
add interface=VL40_IOT list=VLAN
add interface=VL10_BASE list=BASE
add interface=wireguard list=VLAN
add interface=wireguard list=BASE
add interface=ether1 list=WAN
/interface ovpn-server server
set auth=sha1,md5
/interface wireguard peers
add allowed-address=10.10.0.2/32 comment="pixel 4" interface=wireguard \
    public-key="K/dUYIq2nxEVX9BWIcKpvTbgQQMyjpJJPlLA+XKje1k="
add allowed-address=10.10.0.3/32 comment="thinkpad 13" interface=wireguard \
    public-key="HAQzx6KxZzOi5Lj8Un0NwrNG2zQpnew5bD69AtyVrjw="
add allowed-address=10.10.0.4/32 comment="thinkcentre beta" interface=\
    wireguard public-key="NTbgn5ofK3OE0JjqZ7EfnSLGU3NLzPYHPL4eiZDOKG8="
add allowed-address=10.10.0.5/32 comment="ipad pro" interface=wireguard \
    public-key="6shhUOAt3XruZF8qQqaQQD913k07rbAk0Y/uuQojewI="
add allowed-address=172.16.1.2/32,10.0.50.0/24 comment=\
    "wireguard-sts in progres" endpoint-address=router02.mydomain.net \
    endpoint-port=12346 interface=wireguard-sts persistent-keepalive=25s \
    public-key="OO+qIH7kVf/cUZIAGMwa0+Ed+t/9af4LTTrEiB42wEg="
add allowed-address=10.10.0.6/32 comment="iphone se" interface=wireguard \
    public-key="M5Wd/5+1JvuEXfmnhC5EiTzQuB3C5l6Rtcx9g+8QmSQ="
/ip address
add address=10.0.10.1/24 interface=VL10_BASE network=10.0.10.0
add address=10.0.40.1/24 interface=VL40_IOT network=10.0.40.0
add address=10.10.0.1/24 interface=wireguard network=10.10.0.0
add address=172.16.1.1/30 interface=wireguard-sts network=172.16.1.0
add address=192.168.1.3/24 interface=ether1 network=192.168.1.0
add address=172.16.0.1/30 disabled=yes interface=zerotier1 network=172.16.0.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-server lease
add address=10.0.10.5 client-id=1:44:d9:e7:90:96:c6 comment=UAP-AC-LR \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.205 client-id=1:90:56:82:42:63:fc comment=\
    "Bluesound NODE" mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.201 client-id=1:0:4:4b:ce:ff:ca comment="Nvidia Shield" \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.202 client-id=1:b8:27:eb:69:9c:6c comment=\
    "Raspberry Pi 3B" mac-address=B8XXXXXXXXX server=VL10_DHCP
add address=10.0.10.203 client-id=1:0:11:32:c0:4f:87 comment=\
    "Synology DS218+" mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.211 client-id=1:74:e2:c:3:26:3e comment="Kindle Fire 10" \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.212 client-id=1:5a:a2:c9:29:b3:4d comment="iPad Pro" \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.213 client-id=1:14:18:c3:41:59:9c comment="ThinkPad 13" \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.40.203 comment="Meross fishtank plug" mac-address=\
    XXXXXXXXX server=VL40_DHCP
add address=10.0.40.201 comment="Xiaomi air purifier" mac-address=\
    XXXXXXXXX server=VL40_DHCP
add address=10.0.40.202 comment="Xiaomi vacuum cleaner" mac-address=\
    XXXXXXXXX server=VL40_DHCP
add address=10.0.10.215 client-id=1:14:ab:c5:18:9a:25 comment="ThinkPad p70" \
    mac-address=XXXXXXXXX server=VL10_DHCP
add address=10.0.10.230 client-id=\
    ff:14:49:b3:fe:0:1:0:1:2a:47:4f:22:2e:8f:14:49:b3:fe comment=\
    "Unifi controller LXC container" mac-address=2E:8F:14:49:B3:FE server=\
    VL10_DHCP
add address=10.0.10.231 client-id=\
    ff:4b:b6:b2:47:0:2:0:0:ab:11:61:b2:a3:a4:3:b2:b9:88 comment=\
    "Jellyfin LXC container" mac-address=66:A6:6F:DE:1E:26 server=VL10_DHCP
add address=10.0.10.233 client-id=\
    ff:58:c4:d:d9:0:1:0:1:2a:47:52:ae:aa:18:58:c4:d:d9 comment=\
    "Pihole LXC container" mac-address=AA:18:58:C4:0D:D9 server=VL10_DHCP
add address=10.0.10.234 client-id=\
    ff:c4:c7:37:ae:0:2:0:0:ab:11:a3:b4:98:a:e1:1:b6:86 comment=\
    "Plex LXC container" mac-address=D2:1D:F2:1A:C9:33 server=VL10_DHCP
add address=10.0.40.204 comment="Xiaomi humidifier" mac-address=\
    64:90:C1:C9:83:B4 server=VL40_DHCP
add address=10.0.10.124 client-id=\
    ff:70:64:6a:7d:0:1:0:1:2a:82:c5:7a:1a:fd:70:64:6a:7d comment=\
    "Zabbix server LXC container" mac-address=1A:FD:70:64:6A:7D server=\
    VL10_DHCP
add address=10.0.10.249 client-id=\
    ff:f9:19:d3:22:0:1:0:1:2a:ca:cb:34:a2:74:f9:19:d3:22 comment=\
    "Docker LXC container" mac-address=A2:74:F9:19:D3:22 server=VL10_DHCP
add address=10.0.10.236 client-id=\
    ff:3f:25:f4:ad:0:1:0:1:2a:a2:a:f5:4a:97:3f:25:f4:ad comment=\
    "NGINX LXC container" mac-address=4A:97:3F:25:F4:AD server=VL10_DHCP
add address=10.0.10.232 client-id=\
    ff:52:7:83:66:0:1:0:1:2a:ca:cf:cb:8a:61:52:7:83:66 comment=\
    "Adguard LXC container" mac-address=8A:61:52:07:83:66 server=VL10_DHCP
add address=10.0.10.237 client-id=\
    ff:9a:89:fe:ad:0:1:0:1:2a:cc:2f:60:a:8d:9a:89:fe:ad comment=\
    "CrowdSec LXC container" mac-address=0A:8D:9A:89:FE:AD server=VL10_DHCP
add address=10.0.10.105 client-id=1:ae:4b:b3:5:57:4d mac-address=\
    AE:4B:B3:05:57:4D server=VL10_DHCP
/ip dhcp-server network
add address=10.0.10.0/24 dns-server=10.0.10.1 gateway=10.0.10.1
add address=10.0.40.0/24 dns-server=1.1.1.1 gateway=10.0.40.1
/ip dns
set allow-remote-requests=yes servers=1.1.1.3,1.0.0.3 use-doh-server=\
    https://family.cloudflare-dns.com/dns-query verify-doh-cert=yes
/ip dns static
add address=10.0.10.203 name=jupiter.home.arpa
add address=10.0.10.6 name=terminus.home.arpa
add address=10.0.50.253 name=neptune.home.arpa
add address=10.0.10.232 name=adguard.home.arpa
add address=10.0.10.236 name=nginx.home.arpa
add address=10.0.10.249 name=docker.home.arpa
add address=10.0.10.233 name=pihole.home.arpa
add address=10.0.10.230 name=unifi.home.arpa
add address=10.0.10.231 name=jellyfin.home.arpa
add address=10.0.10.124 name=zabbix.home.arpa
add cname=strict.bing.com name=bing.com type=CNAME
add cname=strict.bing.com name=www.bing.com type=CNAME
add cname=safe.duckduckgo.com name=duckduckgo.com type=CNAME
add cname=safe.duckduckgo.com name=www.duckduckgo.com type=CNAME
add cname=forcesafesearch.google.com name=google.cl type=CNAME
add cname=forcesafesearch.google.com name=www.google.cl type=CNAME
add cname=forcesafesearch.google.com name=google.com type=CNAME
add cname=forcesafesearch.google.com name=www.google.com type=CNAME
add cname=forcesafesearch.google.com name=google.com.ar type=CNAME
add cname=forcesafesearch.google.com name=www.google.com.ar type=CNAME
add cname=restrict.youtube.com name=yotube.com type=CNAME
add cname=restrict.youtube.com name=www.yotube.com type=CNAME
add cname=restrict.youtube.com name=m.yotube.com type=CNAME
add cname=restrict.youtube.com name=www.youtube-nocookie.com type=CNAME
add cname=restrict.youtube.com name=youtubei.googleapis.com type=CNAME
add cname=restrict.youtube.com name=youtube.googleapis.com type=CNAME
add address=104.16.248.249 name=cloudflare-dns.com
add address=104.16.249.249 name=cloudflare-dns.com
/ip firewall address-list
add address=10.10.0.0/24 comment="WireGuard (road warrior) net" list=\
    wireguard
/ip firewall filter
add action=accept chain=forward in-interface=zerotier1
add action=accept chain=input in-interface=zerotier1
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" limit=\
    10,5:packet protocol=icmp
add action=accept chain=input comment="vpn: allow wireguard (road warrior)" \
    dst-port=12345 protocol=udp
add action=accept chain=input comment="vpn: allow wireguard (site to site)" \
    dst-port=12346 protocol=udp
add action=accept chain=input comment="vpn: wireguard access to router" \
    src-address=10.10.0.0/24
add action=accept chain=input comment="vpn: allow ipsec" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input protocol=ipsec-esp
add action=drop chain=input comment=\
    "defconf: drop all not coming from LAN (BASE)" in-interface-list=!BASE
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=\
    "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
add action=accept chain=forward comment=\
    "VLANS: BASE vlan have full access, everywhere" in-interface-list=BASE
add action=accept chain=forward comment=\
    "VLANS: all vlans can use pi-hole LXC container" disabled=yes \
    dst-address=10.0.10.233 dst-port=53 in-interface-list=VLAN protocol=udp
add action=reject chain=forward comment=\
    "VLANS: reaching this point, vlans can only access internet" \
    in-interface-list=VLAN out-interface-list=!WAN reject-with=\
    icmp-net-prohibited
/ip firewall mangle
add action=change-mss chain=forward comment="ike2-road-warrior clamp tcp mss" \
    ipsec-policy=in,ipsec new-mss=1360 passthrough=yes protocol=tcp \
    src-address=10.0.68.0/24 tcp-flags=syn tcp-mss=!0-1360
add action=change-mss chain=forward dst-address=10.0.68.0/24 ipsec-policy=\
    out,ipsec new-mss=1360 passthrough=yes protocol=tcp tcp-flags=syn \
    tcp-mss=!0-1360
/ip firewall nat
add action=masquerade chain=srcnat comment="Default masquerade" \
    out-interface-list=WAN
add action=dst-nat chain=dstnat comment=\
    "Make Mikrotik preferred dns server UDP except IOT VLAN" dst-port=53 \
    protocol=udp src-address=!10.0.40.0/24 to-addresses=10.0.10.1 to-ports=53
add action=dst-nat chain=dstnat comment=\
    "Make Mikrotik preferred dns server TCP except IOT VLAN" dst-port=53 \
    protocol=tcp src-address=!10.0.40.0/24 to-addresses=10.0.10.1 to-ports=53
/ip ipsec identity
add auth-method=digital-signature certificate=vpn-server comment=mobile \
    generate-policy=port-strict match-by=certificate mode-config=\
    ike2-conf-road-warrior peer=ike2-peer policy-template-group=\
    ike2-template-group remote-certificate=vpn-client-mobile
/ip ipsec policy
add dst-address=0.0.0.0/0 group=*5 proposal=*1 src-address=0.0.0.0/0 \
    template=yes
add comment=road-warrior dst-address=10.0.68.0/24 group=ike2-template-group \
    proposal=ike2-proposal src-address=0.0.0.0/0 template=yes
/ip route
add disabled=no distance=1 dst-address=10.0.50.0/24 gateway=172.16.1.2 \
    pref-src=0.0.0.0 routing-table=main scope=30 suppress-hw-offload=no \
    target-scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/ip ssh
set strong-crypto=yes
/snmp
set enabled=yes trap-community=casa
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name=router01
/system logging
add topics=ipsec,!packet
add action=nas topics=error
add action=nas topics=warning
add action=nas topics=info
/system ntp client
set enabled=yes
/system ntp client servers
add address=150.214.94.5
add address=150.214.94.10
/system resource irq rps
set sfp-sfpplus1 disabled=no
/tool e-mail
set address=173.194.77.108 from=XXXXX@gmail.com port=587 tls=starttls \
    user=XXXXX

Y esto es lo de mi cAP ac:

Código:
# jan/04/2023 16:23:50 by RouterOS 7.6
# software id = 8I8Z-UYXS
#
# model = RBcAPGi-5acD2nD
# serial number = XYZQWERTY
/interface bridge
add name=bridge1
/interface wireless
# managed by CAPsMAN
set [ find default-name=wlan1 ] ssid=MikroTik
set [ find default-name=wlan2 ] ssid=MikroTik
/interface list
add name=WAN
add name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/interface bridge port
add bridge=bridge1 interface=ether1
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,ether1,wlan1 vlan-ids=40
add bridge=bridge1 tagged=bridge1 untagged=ether1,wlan1 vlan-ids=10
/interface list member
add interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=wlan2 list=LAN
add interface=wlan1 list=LAN
/interface ovpn-server server
set auth=sha1,md5
/interface wireless cap
#
set bridge=bridge1 discovery-interfaces=bridge1 enabled=yes interfaces=wlan1
/ip dhcp-client
add comment=defconf interface=bridge1
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name=ap01
 
Última edición:
Vale, te comento cómo vas esto:

La gracia de CAPsMAN es que tunela el tráfico en un túnel propio (cuando le pones el modo forwarding). Es decir, si quieres, no necesitas definir NADA de configuración relativo a vlans en el cAP. Directamente la das System -> Reset Configuration -> CAPS Mode + Keep users. Y, con el cAP, has terminado. El tráfico de las VLANs viajará dentro de ese túnel, y lo único que necesita CAP y CAPsMAN es estar comunicados entre sí, bien porque lo estén directamente (por cable) bien porque sea alcanzable en capa 3 vía IP.

Con el router: ahora mismo tienes VLAN filtering aplicado. Dado que no tienes como tal una vlan de management y tu vlan de servicio (10) es la misma que vamos a usar para intercomunicar los equipos entres sí, te recomiendo que trates al cAP como un dispositivo en modo acceso. Es decir, configura ether2 como ether10: en modo acceso (PVID=10), dejando ether3 como único puerto trunk. Si configurases el cAP como AP individual, sí que irías como trunk con las dos VLANs, pero dado que las VLANs van a pasar por el propio túnel que usa CAPsMAN para encapsular su tráfico en modo forwarding, no necesitas nada más. De esa manera, accederás al equipo como si de cualquier otro elemento de la VLAN 10 se tratase.

Dicho esto, la configuración del vlan filtering quedaría así:
Código:
/interface bridge port
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether2
add bridge=bridge-vlans frame-types=admit-only-vlan-tagged interface=ether3
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether4 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether5 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether6 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether7 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether8 pvid=10
add bridge=bridge-vlans frame-types=admit-only-untagged-and-priority-tagged \
    interface=ether9 pvid=10
add bridge=bridge-vlans interface=ether10 pvid=10

Una vez tengas todo listo, mueve igualmente ether10 a ser un puerto en modo acceso, en lugar de híbrido. CAPsMAN hará luego la magia.

Configuración de CAPsMAN: la magia la hace el datapth. En él, vas a configurar dos cosas muy importantes: cómo se va a comportar el tráfico (forwarding) y en qué VLAN vas a trabajar. Tu datapath, sería algo así, para cada subred. Si no lo especificas, el modo por defecto de forwarding es "no local" que quiere decir, que el tráfico se tunela de vuelta al manager. El otro forwarding (client-to-client-forwarding) lo que hace es comunicar o no los distintos dispositivos de esa subred entre sí (si necesitas que los chismes de IOT hablen entre ellos, y no sólo con el HA, pon ese flag a "yes" para el datapath "iot").
Código:
/caps-man datapath
add bridge=bridge client-to-client-forwarding=no name=base vlan-id=10 vlan-mode=use-tag
add bridge=bridge client-to-client-forwarding=yes name=iot vlan-id=40 vlan-mode=use-tag

Y, si quieres un ejemplo completo de config para todo CAPsMAN, recuerda, de derecha a izquierda defines: seguridad, datapath, canales, configuración (donde juntas los tres anteriores) y provisioning (donde le dices qué configuración va a qué AP). Un ejemplo:
Código:
# Definimos la seguridad de las redes base e iot
/caps-man security
add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \
    name=base passphrase=wifiBaseP4ssw0rd
add authentication-types=wpa2-psk encrypti1on=aes-ccm group-encryption=aes-ccm \
    name=iot passphrase=wifiIOTP4ssw0rd

# Definimos el datapath, en modo por defecto (forwarding) y para cada vlan
/caps-man datapath
add bridge=bridge client-to-client-forwarding=no name=base vlan-id=10 vlan-mode=use-tag
add bridge=bridge client-to-client-forwarding=yes name=iot vlan-id=40 vlan-mode=use-tag

# Definimos los canales a usar, en 2,4 y 5GHz
/caps-man channel
add band=2ghz-g/n control-channel-width=20mhz extension-channel=disabled frequency=2462 name=2ghz-ch11-20MHz
add band=2ghz-g/n control-channel-width=20mhz extension-channel=disabled frequency=2412 name=2ghz-ch01-20MHz
add band=2ghz-g/n control-channel-width=20mhz extension-channel=disabled frequency=2437 name=2ghz-ch06-20MHz
add band=5ghz-n/ac control-channel-width=20mhz extension-channel=Ceee frequency=5180 name=5ghz-ch036-80MHz
add band=5ghz-n/ac control-channel-width=20mhz extension-channel=Ceee frequency=5500 name=5ghz-ch100-80MHz

# Definimos las configuraciones correspondientes que queramos chutar a los distintos APs y SSIDs
# Te bajo la potencia en 2,4GHz a la mitad (de 20 a 17dBm). Luego la apagaremos donde no se necesite
/caps-man configuration
# Configuración para MKT_LAN, AP1
add channel=2ghz-ch01-20MHz channel.tx-power=17 country=spain datapath=base mode=ap name=2ghz-base-ap1 security=base ssid=MKT_LAN
add channel=5ghz-ch036-80MHz country=spain datapath=base mode=ap name=5ghz-base-ap1 security=base ssid=MKT_LAN
# Configuración para MKT_IOT, AP1
add channel=2ghz-ch01-20MHz channel.tx-power=17 country=spain datapath=iot mode=ap name=2ghz-iot-ap1 security=iot ssid=MKT_IOT
add channel=5ghz-ch036-80MHz country=spain datapath=iot mode=ap name=5ghz-iot-ap1 security=iot ssid=MKT_IOT

# Configuración para MKT_LAN, AP2
add channel=2ghz-ch11-20MHz channel.tx-power=17 country=spain datapath=base mode=ap name=2ghz-base-ap2 security=base ssid=MKT_LAN
add channel=5ghz-ch100-80MHz country=spain datapath=base mode=ap name=5ghz-base-ap2 security=base ssid=MKT_LAN
# Configuración para MKT_IOT, AP2
add channel=2ghz-ch11-20MHz channel.tx-power=17 country=spain datapath=iot mode=ap name=2ghz-iot-ap2 security=iot ssid=MKT_IOT
add channel=5ghz-ch100-80MHz country=spain datapath=iot mode=ap name=5ghz-iot-ap2 security=iot ssid=MKT_IOT


# Definimos las reglas de provisioning. Me invento las direcciones MAC, sería lo único que tendrías que cambiar, acorde a las direcciones físicas de cada interfaz inalámbrica en los dos APs (el que tienes ya, más el que vendrá). Leyenda:
# 48:8F:5A:95:2C:02 (interfaz 2ghz AP1)
# 48:8F:5A:95:2C:03 (interfaz 5ghz AP1)
# 48:8F:5A:91:2F:04 (interfaz 2ghz AP2)
# 48:8F:5A:91:2F:05 (interfaz 5ghz AP2)

/caps-man provisioning
# Provisioning AP1
add action=create-dynamic-enabled comment=cap-ac1-2ghz master-configuration=2ghz-base-ap1 name-format=prefix name-prefix=\
    2ghz radio-mac=48:8F:5A:95:2C:02 slave-configurations=2ghz-iot-ap1
add action=create-dynamic-enabled comment=cap-ac1-5ghz master-configuration=5ghz-base-ap1 name-format=prefix name-prefix=\
    5ghz radio-mac=48:8F:5A:95:2C:03 slave-configurations=5ghz-iot-ap1

# Provisioning AP2
add action=create-dynamic-enabled comment=cap-ac2-2ghz master-configuration=2ghz-base-ap2 name-format=prefix name-prefix=\
    2ghz radio-mac=48:8F:5A:91:2F:04 slave-configurations=2ghz-iot-ap2
add action=create-dynamic-enabled comment=cap-ac2-5ghz master-configuration=5ghz-base-ap2 name-format=prefix name-prefix=\
    5ghz radio-mac=48:8F:5A:91:2F:05 slave-configurations=5ghz-iot-ap2

# Y encendemos el manager (de momento, no lo prohíbas en ninguna interfaz)
/caps-man manager
set enabled=yes

Prueba, y me dices.

Saludos!
 
Pues funciona perfectamente.

Tengo ahora el cAP pinchado en eth2 y el móvil en MKT_LAN reproduciendo Youtube sin problemas.

Soy consciente que esto sólo es el principio y puedo ir afinando, pero tiene muy buena pinta. Me parece casi magia ese encapsulado de CAPsMAN que hace que la configuración del cAP sea mínima. Ni VLANs ni nada de nada más alla´de definir que el AP está en modo CAPS.

El segundo AP ¿lo puedo meter concatenado sin más con la misma configuración del primero? Si es así, mola un montón.

Gracias!
 
Pues funciona perfectamente.

Tengo ahora el cAP pinchado en eth2 y el móvil en MKT_LAN reproduciendo Youtube sin problemas.

Soy consciente que esto sólo es el principio y puedo ir afinando, pero tiene muy buena pinta. Me parece casi magia ese encapsulado de CAPsMAN que hace que la configuración del cAP sea mínima. Ni VLANs ni nada de nada más alla´de definir que el AP está en modo CAPS.

El segundo AP ¿lo puedo meter concatenado sin más con la misma configuración del primero? Si es así, mola un montón.

Gracias!
Correcto. System > reset > caps mode. Y así 200 si quieres. Es la magia de esto, poder configurar un cerro de ellos de la misma manera. Puesto que lo único que hacen es ponerse a escuchar al manager.

Saludos!
 
Después de un periplo por media Europa, me ha llegado el cAP ac.

Pero pese a que todo en CAPsMAN lo veo normal, no tengo narices de que funcione bien el nuevo AP. Hice lo mismo que en el primero.

Para estar seguro de estar enganchado al AP correcto, he cambiado los SSID para el AP2 usando CAPsMAN. Y para mi sorpresa, no veo por ningún lado esos SSID al hacer un escaneo de redes.

¿Tengo que hacer algo adicional para que el segundo AP funcione?

Seguiré investigando durante el fin de semana.
 
Última edición:
Después de un periplo por media Europa, me ha llegado el cAP ac.

Pero pese a que todo en CAPsMAN lo veo normal, no tengo narices de que funcione bien el nuevo AP. Hice lo mismo que en el primero.

Para estar seguro de estar enganchado al AP correcto, he cambiado los SSID para el AP2 usando CAPsMAN. Y para mi sorpresa, no veo por ningún lado esos SSID al hacer un escaneo de redes.

¿Tengo que hacer algo adicional para que el segundo AP funcione?

Seguiré investigando durante el fin de semana.
Tienes que confgurar correctamente CAPsMAN, claro. Si no ves los SSID's, es que ese AP no está provisionado correctamente. Dale une export a la config del AP y a la de CAPsMAN, que lo revisemos.

Además, dime cómo has enganchado finalmente los CAP. Si directos al router o entre sí.

Saludos!
 
Tienes que confgurar correctamente CAPsMAN, claro. Si no ves los SSID's, es que ese AP no está provisionado correctamente. Dale une export a la config del AP y a la de CAPsMAN, que lo revisemos.

Además, dime cómo has enganchado finalmente los CAP. Si directos al router o entre sí.

Saludos!

Resuelto @pokoyo . Supongo que era un problema de novato.

Configuré todo antes de que me llegara el AP nuevo y en el menú de la cap-interface me salían una serie de interfaces llamadas cap2 y cap3 que parece ser que vampirizaban la provisión del nuevo CAP. Las he borrado y "automágicamente" se han creado las interfaces correspondientes al AP2.

Empecé configurando los dos APs pinchando en eth2 y eth10 porque pensaba que eth10 no iba a dar potencia suficiente para moverlos. Hace un rato los he conectado en cadena y sorprendentemente, parece funcionar bien. No sé si en el improbable escenario de meterle mucho tráfico se me va a caer el chiringuito o no.

La configuración tal y como me pasaste, funciona perfectamente.

Ahora he afinado los canales que "sufro" en mi casa y va bien.
 
Eso es, si conectas el CAP antes de meter las direcciones MAC en la lista de provisioning, da de alta la interface como estática, ignorando luego las reglas de provisioning (recuerda, en capsman todo va en prioridad de derecha a izquierda, siendo la primera pestaña de la izquierda la que más prioridad tiene).

Relativo a la alimentación: no debería irse nada a la mierda, no obstante, obsérvalo. Sino, siempre puedes colocar un inyector y pasar el segundo cable. Pero, yo de cabeza, lo probaría así, a ver cómo anda. Si ves que el chisme no se cae (se queda sin provisioning) es que chicha tiene para funcionar. Además, ellos mismos anuncian el encadenado de varios chismes como una característica de ese AP (no sé si para uno igual irá de la misma manera, pero mira esto que lo tienes en su propia web)

1673722682678.png


Ahora, lo más importante: intenta afinar la potencia de los APs en sus ubicaciones definitivas hasta que des con las cifras mágicas para el TX, tal que cubran el espacio que tienen que cubrir y nada más. De esa manera facilitarás enormemente el roaming de los dispositivos, y reducirás el ruido que infieren en el espectro ya saturado estos dispositivos. Recuerda que en dBm, la escala es logarítmica y cada 3 unidades menos es la mitad (ejemplo: 17dBm es la mitad de potencia que 20dBm, si lo pasamos a watts). Si tienes dudas, usa esta calculadora: https://www.rapidtables.com/convert/power/dBm_to_mW.html

Saludos!
 
Arriba