Guest WiFi with two MikroTik Routers
Posted: Sun Apr 10, 2022 1:58 pm
I need your help setting up guest WiFi in home. Bear in mind, I'm not a network engineer, so go easy on me.
My basic network looks like this:
![Image](https://i.ibb.co/G5bCXb3/Home-Network-Diagram-simplified.png)
I'm using two MikroTik routers, because one is not enough to provide WiFi coverage.
My "BorderRouter" (the one connected to ISP) is set as "Home AP Dual". The "InternalRouter" is set as "WISP AP". WiFi interfaces on each router are set up with the same SSID and same preshared password. WiFi interfaces are set separately on each router, no CAPsMAN or anything. DHCP is running on BorderRouter. Any device connected to "InternalRouter" (either WiFi or Ethernet cable) get IP from the DHCP. So, network works fine.
However, I want to set up an isolated guest WiFi network on both routers (to provide coverage in home). I can create virtual WiFi interface on "BorderRouter" and create a separate DHCP for those virtual WiFi interfaces and it works fine. However, If I create same setup on "InternalRouter" - those virtual WiFi interfaces are not able to get IP addresses.
I've tried setting up CAPsMAN. Unless I'm missing something, it seems that CAPsMAN cannot manage virtual WiFi interfaces. I've tried VLANs, but is very likely that I did something wrong, so situation was the same - I could see the SSID, but not able get an IP.
I've tried many different tutorials and documentation, but all of were aimed at setting guest WiFi on a single device.
My device configuration is as follows
"BorderRouter":
"InternalRouter":
If anyone can point me to a good tutorial for my case or explain the concept of how to set it up, I'd appreciate. Once again - I'm not a network engineer and I have only a passing familiarity with RouterOS.
My basic network looks like this:
![Image](https://i.ibb.co/G5bCXb3/Home-Network-Diagram-simplified.png)
I'm using two MikroTik routers, because one is not enough to provide WiFi coverage.
My "BorderRouter" (the one connected to ISP) is set as "Home AP Dual". The "InternalRouter" is set as "WISP AP". WiFi interfaces on each router are set up with the same SSID and same preshared password. WiFi interfaces are set separately on each router, no CAPsMAN or anything. DHCP is running on BorderRouter. Any device connected to "InternalRouter" (either WiFi or Ethernet cable) get IP from the DHCP. So, network works fine.
However, I want to set up an isolated guest WiFi network on both routers (to provide coverage in home). I can create virtual WiFi interface on "BorderRouter" and create a separate DHCP for those virtual WiFi interfaces and it works fine. However, If I create same setup on "InternalRouter" - those virtual WiFi interfaces are not able to get IP addresses.
I've tried setting up CAPsMAN. Unless I'm missing something, it seems that CAPsMAN cannot manage virtual WiFi interfaces. I've tried VLANs, but is very likely that I did something wrong, so situation was the same - I could see the SSID, but not able get an IP.
I've tried many different tutorials and documentation, but all of were aimed at setting guest WiFi on a single device.
My device configuration is as follows
"BorderRouter":
Code: Select all
[***@BorderRouter] > export hide-sensitive
# apr/10/2022 12:33:47 by RouterOS 7.2
# software id = BFB9-4M0S
#
# model = RouterBOARD 962UiGS-5HacT2HnT
/interface bridge
add admin-mac=E4:8D:8C:6B:4C:45 arp=proxy-arp auto-mac=no comment=defconf \
fast-forward=no name=bridge
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN speed=100Mbps
set [ find default-name=ether2 ] name=ether2-master speed=100Mbps
set [ find default-name=ether3 ] speed=100Mbps
set [ find default-name=ether4 ] speed=100Mbps
set [ find default-name=ether5 ] speed=100Mbps
set [ find default-name=sfp1 ] advertise=\
10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
/interface list
add exclude=dynamic name=discover
add name=mactel
add name=mac-winbox
add comment="allow Mikrotik neighbour discovery (NDP) and CISCO Discovery Protoc\
ol (CDP) protocols on LAN only" name=localdiscover
add name=WAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=\
dynamic-keys supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=\
TheNestWiFi supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=guest \
supplicant-identity=""
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-Ce \
country=*** disabled=no distance=indoors frequency=auto mode=\
ap-bridge security-profile=TheNestWiFi ssid=2Gwifi station-roaming=\
enabled wireless-protocol=802.11 wps-mode=disabled
set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=20/40mhz-Ce \
country=*** disabled=no distance=indoors frequency=auto mode=\
ap-bridge security-profile=TheNestWiFi ssid=5Gwifi station-roaming=\
enabled wireless-protocol=802.11 wps-mode=disabled
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des
/ip pool
add name=dhcp ranges=192.168.1.10-192.168.1.40
/ip dhcp-server
add address-pool=dhcp authoritative=after-2sec-delay interface=bridge name=\
HomeLAN
/routing bgp template
set default disabled=no output.network=bgp-networks
/routing ospf instance
add disabled=no name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/snmp community
set [ find default=yes ] addresses=0.0.0.0/0
/user group
add comment="access to enable / disable firewall rules" name=blocker policy="rea\
d,write,winbox,web,rest-api,!local,!telnet,!ssh,!ftp,!reboot,!policy,!test,!\
password,!sniff,!sensitive,!api,!romon,!dude" skin=rc
/interface bridge filter
# no interface
add action=drop chain=forward in-interface=*A
# no interface
add action=drop chain=forward out-interface=*A
# no interface
add action=drop chain=forward in-interface=*B
# no interface
add action=drop chain=forward out-interface=*B
# no interface
add action=drop chain=forward in-interface=*A
# no interface
add action=drop chain=forward out-interface=*A
# no interface
add action=drop chain=forward in-interface=*B
# no interface
add action=drop chain=forward out-interface=*B
# no interface
add action=drop chain=forward in-interface=*A
# no interface
add action=drop chain=forward out-interface=*A
# no interface
add action=drop chain=forward in-interface=*B
# no interface
add action=drop chain=forward out-interface=*B
/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether2-master
add bridge=bridge comment=defconf hw=no ingress-filtering=no interface=sfp1
add bridge=bridge comment=defconf ingress-filtering=no interface=wlan1
add bridge=bridge comment=defconf ingress-filtering=no interface=wlan2
add bridge=bridge ingress-filtering=no interface=ether3
add bridge=bridge ingress-filtering=no interface=ether4
add bridge=bridge ingress-filtering=no interface=ether5
add interface=*E
add interface=*F
/ip neighbor discovery-settings
set discover-interface-list=all
/ip settings
set max-neighbor-entries=8192 rp-filter=strict
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface detect-internet
set detect-interface-list=all
/interface l2tp-server server
set authentication=mschap2 default-profile=default max-mru=1460 max-mtu=1460 \
use-ipsec=yes
/interface list member
add disabled=yes interface=wlan1 list=discover
add disabled=yes interface=ether2-master list=discover
add disabled=yes interface=ether3 list=discover
add disabled=yes interface=ether4 list=discover
add disabled=yes interface=ether5 list=discover
add disabled=yes interface=sfp1 list=discover
add disabled=yes interface=wlan2 list=discover
add disabled=yes interface=bridge list=discover
add disabled=yes interface=ether2-master list=mactel
add disabled=yes interface=sfp1 list=mactel
add disabled=yes interface=ether2-master list=mac-winbox
add disabled=yes interface=wlan2 list=mactel
add disabled=yes interface=sfp1 list=mac-winbox
add disabled=yes interface=wlan1 list=mactel
add disabled=yes interface=wlan2 list=mac-winbox
add disabled=yes list=mactel
add disabled=yes interface=wlan1 list=mac-winbox
add disabled=yes list=mactel
add disabled=yes list=mac-winbox
add disabled=yes list=mac-winbox
add comment="This should limit dicovery on LAN I believe" interface=bridge \
list=localdiscover
add interface=bridge list=WAN
/ip address
add address=192.168.1.1/24 comment=defconf interface=bridge network=192.168.1.0
/ip dhcp-client
add comment=defconf interface=ether1-WAN use-peer-dns=no
/ip dhcp-server network
add
add address=192.168.1.0/24 comment=defconf gateway=192.168.1.1 netmask=24
/ip dns
set servers=8.8.4.4,8.8.8.8
/ip firewall filter
add action=jump chain=forward comment="jump to kid-control rules" jump-target=\
kid-control
add action=accept chain=input comment="defconf: accept ICMP" disabled=yes \
protocol=icmp
add action=accept chain=input comment="defconf: accept establieshed,related" \
connection-state=established,related
add action=drop chain=input comment="defconf: drop all from WAN" \
connection-state="" in-interface=ether1-WAN
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" \
connection-state=established,related
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=ether1-WAN
add action=accept chain=forward
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface=\
ether1-WAN
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.1.0/24
set www-ssl address=192.168.1.0/24
set api disabled=yes
set api-ssl disabled=yes
/ip smb shares
set [ find default=yes ] directory=/pub
/ip ssh
set forwarding-enabled=remote strong-crypto=yes
/ppp secret
add name=migratorybird profile=openvpn-profile
/system clock
set time-zone-name=***
/system identity
set name=BorderRouter
/system leds
set 1 interface=wlan2
/system ntp client
set enabled=yes
/system ntp client servers
add address=0.pool.ntp.org
add address=1.pool.ntp.org
add address=2.pool.ntp.org
add address=3.pool.ntp.org
/tool bandwidth-server
set enabled=no
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=none
/tool mac-server ping
set enabled=no
Code: Select all
[***@InternalRouter] > export hide-sensitive
# apr/10/2022 12:35:39 by RouterOS 7.2
# software id = 4CPN-5PIX
#
# model = RouterBOARD 962UiGS-5HacT2HnT
/interface bridge
add name=bridge1
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n country=*** disabled=no \
mode=ap-bridge ssid=2Gwifi station-roaming=enabled wps-mode=disabled
set [ find default-name=wlan2 ] country=*** disabled=no mode=ap-bridge \
ssid=5Gwifi station-roaming=enabled wireless-protocol=802.11 wps-mode=\
disabled
/interface list
add name=WAN
add name=LAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=\
dynamic-keys supplicant-identity=MikroTik
/routing bgp template
set default disabled=no output.network=bgp-networks
/routing ospf instance
add disabled=no name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/user group
set full policy="local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,passw\
ord,web,sniff,sensitive,api,romon,dude,rest-api"
/interface bridge port
add bridge=bridge1 ingress-filtering=no interface=ether1
add bridge=bridge1 ingress-filtering=no interface=ether2
add bridge=bridge1 ingress-filtering=no interface=ether3
add bridge=bridge1 ingress-filtering=no interface=ether4
add bridge=bridge1 ingress-filtering=no interface=ether5
add bridge=bridge1 ingress-filtering=no interface=sfp1
add bridge=bridge1 ingress-filtering=no interface=wlan2
add bridge=bridge1 ingress-filtering=no interface=wlan1
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add 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=sfp1 list=LAN
add interface=wlan2 list=LAN
add interface=wlan1 list=LAN
/interface ovpn-server server
set auth=sha1,md5
/ip address
add address=192.168.1.2/24 interface=ether2 network=192.168.1.0
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=192.168.1.1
/ip ssh
set forwarding-enabled=remote
/system clock
set time-zone-name=***
/system identity
set name=InternalRouter