Access Point Configuration

Assumptions APs

Throughout this configuration example we use the following assumptions for our network infrastructure:

Opennac is fully configured with FreeRADIUS running

  • openNAC IP address: 192.168.1.5
  • Normal VLAN: 1
  • Registration VLAN: 2
  • Isolation VLAN: 3
  • MAC Detection VLAN: 4
  • Guest VLAN: 5
  • VoIP, Voice VLAN: 100
  • use SNMP v2c
  • SNMP community name: public
  • RADIUS Secret: Testing123 [1]
  • Open SSID: opennac-Public
  • WPA-Enterprise SSID: opennac-Secure

Unsupported APs

Wireless network access configuration is a lot more consistent between vendors. This is due to the fact that the situation is a lot more standardized than the wired side: VLAN assignment is done centrally with RADIUS and that the client protocol is consistent (MAC-Authentication or 802.1X).

This consistency has the benefit that a lot of the wireless network devices tend to work out-of-the-box with openNAC. The only missing piece being, in most cases, remote deauthentication of the client which is used for VLAN assignment (deauth user so it’ll reconnect and get new VLAN).

So, even if your wireless equipment is not explicitly supported by openNAC, it’s recommended that you give it a try. The next section covers the objectives that you want to accomplish for trying out your equipment even if we don’t have configuration for it.

Here are the high-level requirements for proper wireless integration with openNAC

  • The appropriate VLANs must exist
  • Allow controller to honor VLAN assignments from AAA (sometimes called AAA override)
  • Put your open SSID (if any) in MAC-Authentication mode and authenticate against the FreeRADIUS hosted on openNAC
  • Put your secure SSID (if any) in 802.1X mode and authenticate against FreeRADIUS hosted on openNAC.
  • On registration / isolation VLANs the DHCP traffic must reach the openNAC server
  • On your production VLANs a copy of the DHCP traffic must reach openNAC where dhcpreaders are active and running on the interface.

At this point, user registration with the captive-portal is possible and registered users should have access to the appropriate VLANs. However, VLAN changes (like after a registration) won’t automatically happen, you will need to disconnect / reconnect. An explanation is provided in introduction section above about this behavior.

You can try modules similar to your equipment if any (read appropriate instructions) or you can try to see if RFC3576 is supported. RFC3576 covers RADIUS Packet of Disconnect (PoD) also known as Disconnect Messages (DM) or Change of Authorization (CoA). You can try the Aruba module if you want to verify if RFC3576 is supported by your hardware.

Aruba

All Aruba OS

In this section, we cover the basic configuration of the Aruba wireless controller for openNAC via the web GUI. It was done on an Aruba Controller 200 software version ArubaOS 5.0.3.3, tested on a Controller 600 with ArubaOS 6.0 but it should apply to all Aruba models.

Note

If you are already using your Aruba controllers and don’t want to impact your users you should create new AAA profiles and apply them to new ssids instead of modifying the default ones.

AAA Settings

In the Web interface, go to Configuration → Authentication → RADIUS Server and add a RADIUS server named “openNAC” then edit it:

  • Set Host to openNAC IP (192.168.1.5)
  • Set the Key to your RADIUS shared secret (Testing123)
  • Click Apply

Under ConfigurationAuthenticationServer Group add a new Server Group named “openNAC” then edit it to add your RADIUS Server “openNAC” to the group. Click Apply.

Under ConfigurationAuthenticationRFC3576 add a new server with openNAC’s IP (192.168.1.5) and your RADIUS shared secret (Testing123). Click Apply. Under Configuration → Authentication → L2 Authentication edit the MAC Authentication Profile called “default” then edit it to change the Delimiter to dash. Click Apply.

Under ConfigurationAuthenticationL2 Authentication edit the 802.1X Authentication Profile called “default” then edit it to uncheck the Opportunistic Key Caching under Advanced. Click Apply.

Under ConfigurationAuthenticationAAA Profiles click on the “default-mac-auth” profile then click on MAC Authentication Server Group and choose the “openNAC” server group. Click Apply. Move to the RFC3576 server sub item and choose PacketFence’s IP (192.168.1.5) click add then apply.

Under ConfigurationAuthenticationAAA Profiles click on the “default-dot1x” profile then click on 802.1X Authentication Server Group and choose the “openNAC” server group. Click Apply. Move to the RFC3576 server sub item and choose PacketFence’s IP (192.168.1.5) click add then apply.

Public :term:`ssid`

  • In the Web interface, go to Configuration → AP Configuration then edit the “default” AP Group. Go in Wireless LAN → Virtual AP create a new profile with the following:
  • AAA Profile: default-mac-auth

ssid Profile: Select NEW then add an SSID (opennac-Public) and Network authentication set to None

Secure :term:`ssid`

In the Web interface, go to ConfigurationAP Configuration then edit the “default” AP Group. Go in Wireless LAN → Virtual AP create a new profile with the following:

  • AAA Profile: default-dot1x
  • ssid Profile: Select NEW then add an ssid (opennac-Secure) and Network authentication set to WPA2

WebAuth

First of all you will need to configure a guest VLAN.

../../../_images/aruba-create-guest-vlan.png

Next, you will need to configure a RADIUS server.

../../../_images/aruba-radius-server.png
aaa authentication-server radius "openNAC"
host 192.168.1.5
key Testing123

Add your RADIUS server to a AAA group, under Security -> Authentication -> Servers -> Server Group:

aaa server-group "openNAC"
auth-server "openNAC" position 1

Then define the RFC 3576 server, which will allow you to do CoA

../../../_images/aruba-config-coa.png
aaa rfc-3576-server "192.168.1.5"
key Testing123

Next, you will need to create the policy that will redirect users to the openNAC captive portal when they are not authenticated. Go to Security → Authentication → L3 Authentication → Captive Portal Authentication Profile

../../../_images/aruba-l3-auth1.png
aaa authentication captive-portal "opennac-externalportal"
default-role auth-guest
redirect-pause 3
no logout-popup-window
login-page https://192.168.1.5/Aruba
switchip-in-redirection-url

Now create the policy for the guest access, for example Internet only.

Add the authentication for the Captive Portal Profile via Security → Authentication → L3 Authentication → Captive Portal Authentication Profile → Server Group:

aaa authentication captive-portal "opennac-externalportal"
server-group "openNAC"
../../../_images/aruba-config-aaa-profile1.png ../../../_images/aruba-config-aaa-profile3.png ../../../_images/aruba-config-aaa-profile5.png ../../../_images/aruba-config-aaa-profile6.png
aaa profile "opennac-externalportal"
initial-role opennac-portal
radius-interim-accounting
radius-accounting "openNAC"
rfc-3576-server "192.168.1.5"

Define a policy to permit the traffic.

First add a destination, Advanced Services → Stateful Firewall → Destinations:

../../../_images/aruba-config-policy1.png ../../../_images/aruba-config-policy2.png ../../../_images/aruba-config-policy3.png ../../../_images/aruba-config-policy4.png ../../../_images/aruba-config-policy5.png

Source NAT on VLAN

ip access-list session "opennac-externalportal"
alias "user" alias "opennac-portal" "svc-http" permit queue low
alias "user" alias "opennac-portal" "svc-https" permit queue low

Source NAT per Application

ip access-list session "opennac-externalportal"
alias "user" alias "opennac-portal" "svc-http" src-nat queue low
alias "user" alias "opennac-portal" "svc-https" src-nat queue low

Now add the newly created policy to the Captive Portal Profile, Security → User Roles:

../../../_images/aruba-config-user-role.png ../../../_images/aruba-interface-redirection.png
user-role "opennac-portal"
access-list session "opennac-externalportal" position 1
access-list session "captiveportal" position 2
access-list session "guest-logon-access" position 3
access-list session "block-internal-access" position 4
access-list session "v6-logon-control" position 5
access-list session "captiveportal6" position 6
captive-portal "opennac-externalportal"

Finaly create the ssid and associate the profile to it, Virtual AP profile:

wlan virtual-ap "opennac-externalportal"
:term:`ssid`-profile "opennac-externalportal"
aaa-profile "openNAC"

General AP settings and master-slave controller case.

../../../_images/aruba-ap-config1.png ../../../_images/aruba-ap-config2.png ../../../_images/aruba-ap-config3.png ../../../_images/aruba-ap-config4.png ../../../_images/aruba-ap-config5.png ../../../_images/aruba-ap-config6.png ../../../_images/aruba-ap-config7.png ../../../_images/aruba-ap-config8.png ../../../_images/aruba-ap-config9.png ../../../_images/aruba-secondary-controller.png

The next step will be to configure the Aruba WiFi controller in openNAC, add the switch in , ON CMDB → Network Devices

aruba-secondary-controller.png

Aruba Controller 200

In this section, we cover the basic configuration of the Aruba Controller 200 for openNAC using the command line interface. We suggest you to use the instructions above for the Web GUI instead.

VLAN definition

Here, we create our openNAC VLANs, and our AccessPoint VLAN (VID 66). It is recommended to isolate the management of the thin APs in a separate VLAN.

vlan 2
vlan 3
vlan 5
vlan 10
vlan 66

AAA Authentication Server

aaa authentication-server radius "openNAC"
   host 192.168.1.5
   key Testing123
aaa server-group "Radius-Group"
 auth-server openNAC

AAA Profiles

aaa profile "default-dot1x"
   authentication-dot1x "default"
   dot1x-default-role "authenticated"
   dot1x-server-group "Radius-Group"
   radius-accounting "Radius-Group"
aaa profile "openNAC"
   authentication-mac "on_mac_auth"
   mac-server-group "Radius-Group"
   radius-accounting "Radius-Group"

WLAN ssids: profiles and virtual AP

wlan ssid-profile "opennac-Public"
   essid "opennac-Public"
wlan ssid-profile "opennac-Secure"
   essid "opennac-Secure"
   opmode wpa2-aes
wlan virtual-ap "Inverse-Guest"
   aaa-profile "openNAC"
   ssid-profile "opennac-Public"
wlan virtual-ap "Inverse-Secure"
   aaa-profile "default-dot1x"
   ssid-profile "opennac-Secure"
ap-group "Inverse"
   virtual-ap "Inverse-Guest"
   virtual-ap "Inverse-Secure"
   ids-profile "ids-disabled"

All Aruba Instant OS

Add your openNAC instance to your configuration:

wlan auth-server openNAC

ip 192.168.1.5
port 1812
acctport 1813
timeout 10
retry-count 5
key Testing123
nas-ip [Aruba Virtual Controller IP]
rfc3576

Add dynamic vlan rules and mac auth to your ssid profile:

wlan ssid-profile ssid

index 0
type employee
essid ESSID
wpa-passphrase WPA-Passphrase
opmode wpa2-psk-aes
max-authentication-failures 0
vlan 1
auth-server openNAC
set-vlan Tunnel-Private-Group-Id contains 1 1
set-vlan Tunnel-Private-Group-Id contains 4 4
rf-band all
captive-portal disable
mac-authentication
dtim-period 1
inactivity-timeout 1000
broadcast-filter none
radius-reauth-interval 5
dmo-channel-utilization-threshold 90

Cisco

Aironet 1121, 1130, 1242, 1250, 1600

Note

With this equipment, the same VLAN cannot be shared between two ssids. Have this in mind in your design. For example, you need two isolation VLAN if you want to isolate hosts on the public and secure ssids. MAC-Authentication + 802.1X configuration

Radio Interfaces:

dot11 vlan-name normal vlan 1
dot11 vlan-name registration vlan 2
dot11 vlan-name isolation vlan 3
dot11 vlan-name guest vlan 5

interface Dot11Radio0
  encryption vlan 1 mode ciphers aes-ccm
  encryption vlan 2 mode ciphers aes-ccm
  ssid opennac-Public
  ssid opennac-Secure

interface Dot11Radio0.2
  encapsulation dot1Q 2
  no ip route-cache
  bridge-group 253
  bridge-group 253 subscriber-loop-control
  bridge-group 253 block-unknown-source
  no bridge-group 253 source-learning
  no bridge-group 253 unicast-flooding
  bridge-group 253 spanning-disabled

interface Dot11Radio0.3
  encapsulation dot1Q 3
  no ip route-cache
  bridge-group 254
  bridge-group 254 subscriber-loop-control
  bridge-group 254 block-unknown-source
  no bridge-group 254 source-learning
  no bridge-group 254 unicast-flooding
  bridge-group 254 spanning-disabled

interface Dot11Radio0.5
  encapsulation dot1Q 5
  no ip route-cache
  bridge-group 255
  bridge-group 255 subscriber-loop-control
  bridge-group 255 block-unknown-source
  no bridge-group 255 source-learning
  no bridge-group 255 unicast-flooding
  bridge-group 255 spanning-disabled

LAN interfaces:

interface FastEthernet0.2
  encapsulation dot1Q 2
  no ip route-cache
  bridge-group 253
  no bridge-group 253 source-learning
  bridge-group 253 spanning-disabled

interface FastEthernet0.3
  encapsulation dot1Q 3
  no ip route-cache
  bridge-group 254
  no bridge-group 254 source-learning
  bridge-group 254 spanning-disabled

interface FastEthernet0.5
  encapsulation dot1Q 5
  no ip route-cache
  bridge-group 255
  no bridge-group 255 source-learning
  bridge-group 255 spanning-disabled

Then create the two SSIDs:

dot11 ssid opennac-Secure
  vlan 3 backup normal
  authentication open eap eap_methods
  authentication key-management wpa

dot11 ssid opennac-Public
  vlan 2 backup guest
  authentication open mac-address mac_methods
  mbssid guest-mode

Configure the RADIUS server:

radius-server host 192.168.1.5 auth-port 1812 acct-port 1813 key Testing123
aaa group server radius rad_eap
  server 192.168.1.5 auth-port 1812 acct-port 1813
aaa authentication login eap_methods group rad_eap
aaa group server radius rad_mac
  server 192.168.1.5 auth-port 1812 acct-port 1813
aaa authentication login mac_methods group rad_mac
5.9.2. Aironet 1600
CoA and radius:

radius-server attribute 32 include-in-access-req format %h
radius-server vsa send accounting
aaa server radius dynamic-author
 client 192.168.1.5
 server-key 7 Testing123
 port 3799
 auth-type all

Aironet 1600

CoA and radius:

radius-server attribute 32 include-in-access-req format %h
radius-server vsa send accounting
aaa server radius dynamic-author
 client 192.168.1.5
 server-key 7 Testing123
 port 3799
 auth-type all

Wireless LAN Controller (WLC) Generic

  • First, globally define the FreeRADIUS server running on openNAC (openNAC’s Administration Interface) and make sure Support for RFC 3576 is enabled (if not present it is enabled by default).

    • Authentication server: Security tab → AAA → RADIUS → Authentication
    ../../../_images/SSID_authentication.png
    • Accounting server: Security tab → AAA → RADIUS → Accounting
    ../../../_images/wlc-auth-cisco-acc.png

Wireless LAN Controller (WLC) or Wireless Services Module (WiSM)

In this section, we cover the basic configuration of the WiSM for openNAC using the web interface.

  • First, globally define the FreeRADIUS server running on openNAC and make sure Support for RFC 3576 is enabled (if not present it is enabled by default)
../../../_images/cisco-wlc-radius-define.png
  • Then we create two ssids:

    • opennac-Public: non-secure with MAC authentication only
    • opennac-Secure: secure with WPA2 Enterprise PEAP/MSCHAPv2
../../../_images/cisco-wlc-ssid-create.png
  • In the secure ssid, make sure 802.1X is enabled and select the appropriate encryption for your needs (recommended: WPA + WPA2)
../../../_images/cisco-wlc-l2-secu.png
  • No layer 3 security
../../../_images/cisco-wlc-l3-secu.png
  • We set the IP of the openNAC server
../../../_images/cisco-wlc-secure-radius.png
  • VERY IMPORTANT: Allow AAA override (this allows VLAN assignment from RADIUS)
../../../_images/cisco-wlc-secure-radius-advance.png
  • Edit the non-secure SSID: Enable MAC authentication at level 2
../../../_images/cisco-wlc-l2-non-secure.png
  • Nothing at level 3
../../../_images/cisco-wlc-l3-non-secure.png
  • We set the IP of the FreeRADIUS server
../../../_images/cisco-wlc-secure-radius_3.png
  • VERY IMPORTANT: Allow AAA override (this allows VLAN assignment from RADIUS)
../../../_images/cisco-wlc-non-secure-radius-advance.png
  • Finally, in Controller > Interfaces tab, create an interface per VLAN that could be assigned
../../../_images/cisco-wlc-interface-ssid_69.png

Wireless LAN Controller (WLC) Web Auth

In this section, we cover the basic configuration of the WLC Web Auth for openNAC using the web interface. The idea is to forward the device to the captive portal with an ACL if the device is in an unregistered state and allow the device to reach Internet (or the normal network) by changing the ACL once registered. In the unregistered state, the WLC will intercept the HTTP traffic and forward the device to the captive portal.

In this sample configuration, the captive portal and the administration interface uses the IP address 10.20.0.100. The DHCP and DNS servers are not managed by openNAC (WLC DHCP Server, Production DHCP Server)

  • First, globally define the FreeRADIUS server running on openNAC (openNAC’s Administration Interface) and make sure Support for RFC 3576 is enabled (if not present it is enabled by default).

    • Authentication server: Security tab → AAA → RADIUS → Authentication
    ../../../_images/SSID_authentication.png
    • Accounting server: Security tab → AAA → RADIUS → Accounting
    ../../../_images/wlc-auth-cisco-acc.png
  • The second step is to define preauthentication Access Control Lists, as simple ACLs or Flexconnect ACLs in case you are using Flexconnect technology. As we comment it, they are used to allow traffic before user authentication. So, the only traffic we want to allow is from user devices to openNAC server, in both directions.

    • Simple ACL: Go to Security tab → Access Control Lists → Access Control Lists and add two rules like them:
    ../../../_images/SSID_acl.png
    • Flexconnect ACL: Go to Security tab → Access Control Lists → Flexconnect ACLs and add two rules like them:
    ../../../_images/SSID_flexconnect.png

    All the FlexConnect access points in a group share the same FlexConnect configuration information. So, we need to ensure VLAN ID are sharing into the desired group. Remember, the VLAN must be routed to captive portal.

    Go to WIRELESS → FlexConnect VLAN and check if VLAN IDs are mapped on it.

    ../../../_images/SSID_vlanids.png
  • The third step is to select the WLC interface. Before authenticating a user, an IP of this VLAN will be given to him by the DHCP server. Each interface, also known as Dynamic VLAN interface, controls VLANs and other communications between controllers and all other network devices, and each acts as a DHCP relay for wireless clients associated to Wireless LANs (WLANs) mapped to the interface. To do it, go to CONTROLLER tab → Interfaces and edit or add a new one.

    ../../../_images/SSID_interfaces.png
  • Then we create a ssid:

    • New WLAN ssid: non-secure SSID

    Enable the SSID and select interface.

    ../../../_images/SSID_1.png

    On Security Layer 2, configure Layer 2 security = none

    ../../../_images/SSID_2.png

    On Security → Layer 3:

    ../../../_images/SSID_3.png
    • Layer 3 security = Web Policy Authentication
    • Preauthentication ACL = Simple ACL or Flexconnect ACL you created during the second step.
    • Over-ride Global config =Enable
    • Web auth type = External (Re-direct to external server)
    • URL = Captive portal URL

    On Security → AAA Servers, select authentication and accounting server:

    ../../../_images/SSID_4.png

    On Advanced tab:

    ../../../_images/SSID_5.png

    Override AAA server is used with WPA2 or other security type. Using web authentication, the flow is handled by WLC, so Freeradius cannot pass any parameters to WLC. Flexconnect: Don’t forget to configure flexconnect options with Flexconnect technology.

  • Then the last step is to configure the Captive Portal on openNAC.

Note

Troubleshooting ignored RADIUS replies

In the event the WLC ignores the RADIUS replies from openNAC (you receive multiple requests but access is never granted), validate the following elements : - RADIUS secret is properly configured in openNAC and the WLC controller. - The SSL certificate used by openNAC is not expired.

Meraki

Meraki Access Points Configuration

Generate SSID

The first step here is to enable one SSID and start configuring it for the desired use case. So, to achieve this, click on the left menu item “Wireless”, then click on SSIDs.

The below screen will be shown.

../../../_images/wl_01_meraki.png

In our example, the “OCF Meraki DemoCenter” will be the corporate SSID and the “OCF Meraki SS” will be the guest access.

So, once we enabled the SSID and changed it’s name, now we click on “edit settings” to start configuring it.

Corporate Access (802.1x Enterprise)

../../../_images/wl_02_meraki.png

Once inside the Access Control page, we are going to define the “Network access” as “WPA2-Enterprise with my RADIUS server”. The WPA encryption mode should be “WPA2 only”.The 802.11w should be “Disabled”.

../../../_images/wl_03_meraki.png

The Splash page should be set to None;

  • RADIUS Servers:

    • Click on “Add a server” for as many times as the amount of openNAC authentication cores existing in you infrastructure:
    • Host: IP of your openNAC core server the IP to which the radius is pointed must be local without needing to be accessible from the Meraki Cloud;
    • Port: 1812;
    • Secret: Radius PSK configured in your core;
  • RADIUS testing: RADIUS testing enabled;

  • RADIUS CoA support: RADIUS CoA enabled;

  • RADIUS accounting: RADIUS accounting is enabled;

  • RADIUS accounting servers:

    • Click on “Add a server” for as many times as the amount of openNAC authentication cores existing in you infrastructure:
    • Host: IP of your openNAC core server the IP to which the radius is pointed must be local without needing to be accessible from the Meraki Cloud;
    • Port: 1813;
    • Secret: Radius PSK configured in your core;
  • RADIUS attribute specifying group policy name: Filter-Id, this allows you to send static ACLs (openNAC Security Profiles) from the policy. These ACLs are defined in the Meraki Cloud as “Group policies”;

An example of a “Group policy” called “DENY_WEB_GOOGLE”, where HTTP / HTTPS access is denied to the “www.google.com” URL.

../../../_images/meraki_group_policies.png ../../../_images/meraki_group_policy_deny_web_google.png
  • RADIUS proxy: Do not use Meraki proxy;
../../../_images/wl_04_meraki.png
  • Assign group policies by device type: Disabled

  • Addressing and traffic

    • Client IP assignment: Layer 3 roaming (or the configuration you may need for your network case);
    • VLAN tagging: Don’t use VLAN tagging (or the configuration you may need for your network case);
    • RADIUS override: RADIUS response can override VLAN tag;
    • Content filtering: Don’t filter content;
    • Bonjour forwarding: Disable Bonjour Forwarding;

Guest Access or Web authentication

../../../_images/wl_05_meraki.png

Once inside the Access Control page, we are going to define the “Network access” as “Open (no encryption)”.

The Splash page should be set to “Sign-on with my RADIUS server”

../../../_images/wl_06_meraki.png
  • RADIUS for splash page:

    • Click on “Add a server” for as many times as the amount of openNAC authentication cores existing in you infrastructure:
    • Host: IP of your openNAC core server (As stated in the screenshot, this radius needs to be opened to the internet, so the meraki cloud can reach it.);
    • Port: 21812 (for example);
    • Secret: Radius PSK configured in your core;
  • Failover policy: Deny Access (this should be configured as needed by the customer);

  • Load Balancing policy: Strict priority order;

  • Network Access Control: Disabled;

  • Assign group policies by device type: Disabled;

../../../_images/wl_07_meraki.png
  • Captive portal strength: Allow non-HTTP traffic prior to sign-on;
  • Walled garden: Walled garden is enabled;
  • Walled garden ranges: The ranges of your openNAC boxes and/or any other page that should be needed access prior to the authentication of your guest;
  • Simultaneous logins: Allow simultaneous devices per user;
  • Controller disconnection behavior: Restricted;
../../../_images/wl_08_meraki.png
  • Client IP assignment: NAT mode (or the configuration you may need for your network case);
  • VLAN tagging: Don’t use VLAN tagging (or the configuration you may need for your network case);
  • RADIUS override: RADIUS response can override VLAN tag;
  • Content filtering: Don’t filter content;
  • Bonjour forwarding: Disable Bonjour Forwarding;

Next go in Wireless→Configure→Splash page. Select the Custom splash URL and configure the URL pointing to your openNAC server.

../../../_images/meraki-splash-config.png

Note

Even if you enabled the bridge mode on the access point, it will still send a NATed IP address during the initial HTTP request. To workaround this you will need to forward the DHCP traffic of the network your nodes are connected to so openNAC has the proper IP information of the devices.

Once you have configured the Meraki, you will need to configure it in the openNAC switches. You will need to create an entry for the public IP address of your cloud controller and one for the MAC address of your AP. After that Meraki is configured this should be properly configured on openNAC Servers.

Mikrotik

his configuration has been tested on Access Point OmniTIK U-5hnD with RouterOS v6.18 and only MAC-Authentication is available now. The only deauthentication method available is SSH, so create an account in the Mikrotik AP and fill the information in openNAC.

Open SSID

In this setup we use the interface ether5 for the bridge (Trunk interface) and ether1 as the management interface.

Configure your access point with the following configuration:

/interface wireless
# managed by CAPsMAN
# channel: 5180/20-Ce/an(17dBm), SSID: OPEN, local forwarding
set [ find default-name=wlan1 ] band=5ghz-a/n channel-width=20/40mhz-Ce disabled=no l2mtu=1600 mode=ap-bridge ssid=MikroTik-05A64D
/interface ethernet
set [ find default-name=ether1 ] name=ether1-gateway
set [ find default-name=ether2 ] name=ether2-master-local
set [ find default-name=ether3 ] master-port=ether2-master-local name=ether3-slave-local
set [ find default-name=ether4 ] master-port=ether2-master-local name=ether4-slave-local
set [ find default-name=ether5 ] name=ether5-master-local
/interface vlan
add interface=BR-CAPS l2mtu=1594 name=default vlan-id=1
add interface=BR-CAPS l2mtu=1594 name=isolation vlan-id=3
add interface=BR-CAPS l2mtu=1594 name=registration vlan-id=2
/caps-man datapath
add bridge=BR-CAPS client-to-client-forwarding=yes local-forwarding=yes name=datapath1
/caps-man interface
#
add arp=enabled configuration.mode=ap configuration.ssid=OPEN datapath=datapath1 disabled=no l2mtu=1600 mac-address=\
        D4:CA:6D:05:A6:4D master-interface=none mtu=1500 name=cap1 radio-mac=D4:CA:6D:05:A6:4D
/caps-man aaa
set interim-update=5m
/caps-man access-list
add action=query-radius interface=cap1 radius-accounting=yes signal-range=-120..120 time=0s-1d,sun,mon,tue,wed,thu,fri,sat
/caps-man manager
set enabled=yes
/interface bridge port
add bridge=bridge-local interface=ether2-master-local
add bridge=bridge-local interface=ether1-gateway
add bridge=BR-CAPS interface=ether5-master-local
/interface wireless cap
set bridge=BR-CAPS discovery-interfaces=BR-CAPS enabled=yes interfaces=wlan1
/ip accounting
set enabled=yes
/radius
add address=192.168.1.5 secret=Testing123 service=wireless
/radius incoming
set accept=yes

Webauth

You can use webauth (external captive portal) on Mikrotik APs. In order to do so, you will have to activate the hotspot feature in the AP configuration as well as modify the redirection template so that it points to openNAC Server.

First, you must establish an FTP connection to your access point and replace the content of hotspot/login.html with the following:

<html>
<head><title>...</title></head>
<body>
$(if chap-id)
<noscript>
<center><b>JavaScript required. Enable JavaScript to continue.</b></center>
</noscript>
$(endif)
<center>If you are not redirected in a few seconds, click 'continue' below<br>
<form name="redirect" action="http://192.168.1.5/" method="get">
  <input type="hidden" name="mac" value="$(mac)">
  <input type="hidden" name="ip" value="$(ip)">
  <input type="hidden" name="username" value="$(username)">
  <input type="hidden" name="link-login" value="$(link-login)">
  <input type="hidden" name="link-orig" value="$(link-orig)">
  <input type="hidden" name="error" value="$(error)">
  <input type="hidden" name="chap-id" value="$(chap-id)">
  <input type="hidden" name="chap-challenge" value="$(chap-challenge)">
  <input type="hidden" name="link-login-only" value="$(link-login-only)">
  <input type="hidden" name="link-orig-esc" value="$(link-orig-esc)">
  <input type="hidden" name="mac-esc" value="$(mac-esc)">
  <input type="hidden" name="ap-id" value="AP_IP_ADDRESS_HERE">
  <input type="submit" value="continue">
</form>
<script language="JavaScript">
<!--
   document.redirect.submit();
//-->
</script></center>
</body>
</html>

Next, in the login.html you have just uploaded, make sure you change AP_IP_ADDRESS_HERE by the management IP address of your access point and 192.168.1.5 by the IP address of your openNAC captive portal.

Now, you must configure the hotspot feature on your AP. This configuration is done on top of an existing ssid you have previously configured which is on interface wlan1. Adjust the interface name if needed.

/ip hotspot
setup
hotspot interface: wlan1
local address of network: 10.5.50.1/24
masquerade network: yes
Set pool for HotSpot addresses
address pool of network: 10.5.50.2-10.5.50.254
Select hotspot SSL certificate
select certificate: none
Select SMTP server
ip address of smtp server: 0.0.0.0
Setup DNS configuration
dns servers: 8.8.8.8
DNS name of local hotspot server
dns name: myhotspot
Create local hotspot user
name of local hotspot user: admin
password for the user:

Next, you need to allow access to the openNAC portal in the hotspot access list. Change 192.168.1.5 with the IP address you pointed to in login.html

/ip hotspot walled-garden
add dst-host=192.168.1.5
add src-address=192.168.1.5
/ip hotspot walled-garden ip
add action=accept disabled=no dst-host=192.168.1.5
add action=accept disabled=no src-address=192.168.1.5

Now, you will also need to configure the hotspot to point to your openNAC RADIUS server:

/radius
add address=192.168.1.5 secret=Testing123 service=hotspot
/ip hotspot profile
add hotspot-address=10.5.50.1 name=hsprof1 use-radius=yes

Next, you need to configure openNAC to use webauth for this Access Point.

Ruckus SmartZone

Webauth

SmartZone configuration

First, you will need to define your RADIUS server configuration at openNAC Server

After, create a Hotspot in Configuration→AP Zones→Your Zone→Hotspot WISPr→Create New. Adjust 192.168.1.5 to the IP address of your portal.

../../../_images/ruckus-smartzone-webauth-hotspot.png

Then, still on this page, in the Walled Gardens, make sure you add the portal IP address in this list.

Next, you will need to configure your WLAN to use the Hotspot authentication and point it to openNAC. Also ensure you set Use the controller as a proxy.

../../../_images/ruckus-smartzone-webauth-ssid.png

After that the configuration should be carried out at openNAC