PacketFence Network Devices Configuration Guide
PacketFence Network Devices Configuration Guide
The fonts used in this guide are licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://
scripts.sil.org/OFL
This guide covers the configuration of network devices in order to integrate them with PacketFence
in VLAN enforcement. Switches, wireless controllers and wireless access points are all considered
network devices in PacketFence’s terms.
Developer’s Guide Covers API, captive portal customization, application code cus-
tomizations and instructions for supporting new equipment.
Upgrade Guide Covers compatibility related changes, manual instructions and gen-
eral notes about upgrading.
There is no need to follow the instructions in this guide if you plan on deploying in inline enforce-
ment, except RADIUS inline. In this case all you need to do is to have a flat layer 2 network up
to PacketFence’s inline interface with no other gateway available for devices to reach out to the
Internet.
This technique is usually used when your network hardware doesn’t support VLAN enforcement.
Enabling RADIUS accounting on your network devices will increase significantly your database size
and can cause performance issues. You should be aware of this and use accounting only if you
really need it.
PacketFence supports a whole lot of different wireless and wired network equipment from var-
ious vendors running different versions. Since we want to provide the most accurate informa-
tion and avoid duplication of that same information, please refer to our website https://packet-
fence.org/about.html#/material
You’ll find on this page the enforcement modes supported by each and every single piece of equip-
ment we tested and worked with.
Switch configuration
Assumptions
Throughout this configuration example we use the following assumptions for our network infra-
structure:
▪ PacketFence is fully configured with FreeRADIUS running (if you want 802.1X or MAC Auth)
▪ PacketFence 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 Read community: public
▪ SNMP Write community: private
▪ SNMP Trap community: public
▪ RADIUS Secret: useStrongerSecret
3COM
▪ linkUp/linkDown
snmp-agent
snmp-agent target-host trap address udp-domain 192.168.1.5 params securityname
public
snmp-agent trap enable standard linkup linkdown
On each interface:
In Port Security
Global config settings:
snmp-agent
snmp-agent target-host trap address udp-domain 192.168.1.5 params securityname
public
snmp-agent trap enable
port-security enable
port-security trap addresslearned
port-security trap intrusion
On each interface:
In MAC Auth
Voice vlan : 6
Normal vlan : 1
Registration vlan : 2
Isolation vlan : 3
lldp enable
lldp timer tx-interval 5
lldp compliance cdp
lldp compliance cdp
port-security enable
MAC-authentication domain packetfence
domain packetfence
authentication radius-scheme packetfence
accounting radius-scheme packetfence
vlan-assignment-mode string
accounting optional
domain system
interface Ethernet1/0/1
stp edged-port enable
lldp compliance admin-status cdp txrx
port link-type hybrid
port hybrid vlan 6 tagged
port hybrid vlan 1 2 3 untagged
undo voice vlan mode auto
voice vlan enable
port-security max-mac-count 3
port-security port-mode mac-authentication
port-security intrusion-mode blockmac
undo enable snmp trap updown
E4800G
PacketFence supports these 3Com switches with the following techniques:
Voice over IP support was not explicitly tested during implementation however it does not mean
that it won’t work.
snmp-agent
snmp-agent target-host trap address udp-domain 192.168.1.5 params securityname
public
snmp-agent trap enable standard linkup linkdown
On each interface:
system-view
radius scheme PacketFence
primary authentication 192.168.1.5 1812
primary accounting 192.168.1.5 1812
key authentication useStrongerSecret
user-name-format without-domain
quit
domain packetfence.local
authentication default radius-scheme PacketFence
authorization default radius-scheme PacketFence
quit
domain default enable packetfence.local
dot1x authentication-method eap
port-security enable
quit
If your management authentication on your switch is default, applying the configuration above will
have your authentication switch to a RADIUS based one with PacketFence as the authentication
server. It is almost certain that you do not want that!
Below, we will just create a local password for vty accesses (telnet) and nothing on the console. In
order to avoid locking yourself out, make sure to verify your configuration!
system-view
user-interface aux 0
authentication-mode none
user-interface vty 0 4
user privilege level 3
set authentication password simple useStrongerPassword
quit
quit
On each interface:
system-view
interface gigabitEthernet 1/0/xx
port-security port-mode mac-else-userlogin-secure-ext
# userlogin-secure-or-mac-ext could be used below instead
# see the Switch_4200G's documentation for a discussion about it
undo enable snmp trap updown
quit
quit
Voice over IP support was not explicitly tested during implementation however it does not mean
that it won’t work.
snmp-agent
snmp-agent target-host trap address udp-domain 192.168.1.5 params
securityname public
snmp-agent trap enable standard linkup linkdown
On each interface:
system-view
radius scheme PacketFence
server-type standard
primary authentication 192.168.1.5 1812
primary accounting 192.168.1.5 1812
accounting optional
key authentication useStrongerSecret
user-name-format without-domain
quit
domain packetfence.local
radius-scheme PacketFence
vlan-assignment-mode string
quit
domain default enable packetfence.local
dot1x authentication-method eap
port-security enable
quit
If your management authentication on your switch is default, applying the configuration above will
have your authentication switch to a RADIUS based one with PacketFence as the authentication
server. It is almost certain that you do not want that!
Below, we will just create a local password for vty accesses (telnet) and nothing on the console. In
order to avoid locking yourself out, make sure to verify your configuration!
system-view
user-interface aux 0
authentication-mode none
user-interface vty 0 4
user privilege level 3
set authentication password simple useStrongerPassword
quit
quit
On each interface:
system-view
interface gigabitEthernet 1/0/xx
port-security port-mode mac-else-userlogin-secure-ext
# userlogin-secure-or-mac-ext could be used below instead
# see the Switch_4200G's documentation for a discussion about it
undo enable snmp trap updown
quit
quit
NJ220
This switch does not support port-security.
To configure: use web interface to send the linkUp/linkDown traps to the PacketFence server.
Alcatel
OS6250, OS6450
PacketFence supports this switch using 802.1X, Mac authentication and also supports VoIP.
Global configuration
First define any VLAN that you want to use on the switch.
vlan 2
vlan 5
vlan 20
vlan 100
You now need to configure a user profile (equivalent of a role) that will determine which VLAN is
assigned to the device. In this case the profile names are unreg, employee and guest.
Next, configure the switch in PacketFence. In the case of this example, the uplink is port 1/1.
[192.168.1.10]
mode=production
description=alcatel
type=Alcatel
radiusSecret=useStrongerSecret
uplink_dynamic=0
uplink=1001
RoleMap=Y
VlanMap=N
registrationRole=unreg
isolationRole=unreg
defaultRole=employee
guestRole=guest
802.1X
First, make sure you followed the steps above in Global configuration
You will need to configure the ports you want to do authentication on.
MAC Authentication
First, make sure you followed the steps above in Global configuration and 802.1X
VoIP
PacketFence supports VoIP on Alcatel by having multiple devices using multiple untagged VLANs
on the same port.
First configure the user profile for voice. In this example it is only isolating it on another VLAN but
any user profile attributes can be added to the profile.
Next, make sure you enable VoIP in the switch configuration in PacketFence and configure the
voiceRole.
[192.168.1.10]
VoIPEnabled=Y
voiceRole=voice
OS6860
PacketFence supports this switch using 802.1X, Mac authentication and also supports VoIP.
Note
This documentation is made for Alcatel OS 8.1+. Lower versions do not support this
configuration.
Global configuration
First define any VLAN that you want to use on the switch.
You now need to configure an edge profile (equivalent of a role) that will determine which VLAN is
assigned to the device. In this case the profile names are unreg, employee and guest.
Caution
Make sure you enable the redirect on all your roles as the access reevaluation will not
work without it.
Next, configure the switch in PacketFence. In the case of this example, the uplink is port 1/1/1.
[192.168.1.10]
mode=production
description=alcatel
type=Alcatel
radiusSecret=useStrongerSecret
uplink_dynamic=0
uplink=1001
RoleMap=Y
VlanMap=N
registrationRole=unreg
isolationRole=unreg
defaultRole=employee
guestRole=guest
MAC Authentication
First, make sure you followed the steps above in Global configuration
You will need to create an edge template and apply it on the ports you want to do authentication on.
802.1X
First, make sure you followed the steps above in Global configuration
You will need to create an edge template and apply it on the ports you want to do authentication on.
VoIP
PacketFence supports VoIP on Alcatel by having multiple devices using multiple untagged VLANs
on the same port.
First configure the edge profile for voice. In this example it is only isolating it on another VLAN but
any edge profile attributes can be added to the profile.
Next, make sure you enable VoIP in the switch configuration in PacketFence and configure the
voiceRole.
[192.168.1.10]
VoIPEnabled=Y
voiceRole=voice
AlliedTelesis
AT8000GS
PacketFence supports the AT8000GS switch using :
▪ MAC Authentication
▪ 802.1X
▪ 802.1X + VOIP
Assumptions
PacketFence management IP: 192.168.1.5
Switch management IP: 10.0.0.14
Guest VLAN (Internet): VLAN 1
MAC Authentication
First, enable 802.1X globally:
dot1x system-auth-control
In order to get mac authentication, you need to enable the guest VLAN globally:
interface vlan 1
name "Guest Vlan"
dot1x guest-vlan
exit
interface ethernet g1
dot1x mac-authentication mac-only
dot1x radius-attributes vlan
dot1x port-control auto
dot1x guest-vlan enable
802.1X
The settings are almost the same as the MAC Authentication with some small differences.
dot1x system-auth-control
interface ethernet g1
dot1x radius-attributes vlan
dot1x port-control auto
802.1X + VOIP
First, enable 802.1X globally:
dot1x system-auth-control
hostname switch-name
ip domain-name domain.local
lldp med network-policy 1 voice vlan 100 vlan-type tagged dscp 34
lldp med network-policy 2 voice-signaling vlan 100 vlan-type tagged dscp 34
Finally, enable the necessary 802.1X and VOIP settings on each interface:
interface ethernet g1
dot1x port-control force-authorized
no dot1x guest-vlan enable
no dot1x mac-authentication
no dot1x radius-attributes vlan
no dot1x re-authentication
switchport mode trunk
switchport trunk native vlan 5
switchport trunk allowed vlan add 100
lldp med enable network-policy
lldp med network-policy add 1
lldp med network-policy add 2
GS950
PacketFence supports the GS950 switch using :
▪ MAC Authentication
Global configuration
First, ensure that the VLANs you want to assign are part of the VLAN database via the following
page:
Note that they only need to be tagged on the trunk and don’t need any specific configuration for
the dynamic VLAN assignment here.
MAC authentication
Go in Security→Port Access Control, select the port you want to enable MAB on, and ensure you
set:
802.1x
Go in Security→Port Access Control, select the port you want to enable MAB on, and ensure you
set:
PacketFence configuration
Ensure you configure at least:
If you are using MAC authentication on this switch, you must adjust the FreeRADIUS configuration
so it transforms the EAP requests this switch sends into requests that PacketFence will interpret
as MAC authentication. This configuration will also set missing attributes in the RADIUS requests
since this switch doesn’t follow the standard attributes that are usually sent during RADIUS au-
thentication.
To adjust it, go in /usr/local/pf/conf/radiusd/packetfence and add the following below the line
that contains packetfence-eap-mac-policy:
packetfence-allied-gs950-mab
Amer
PacketFence supports Amer switches without VoIP using one trap type:
▪ linkUp/linkDown
L2 Switch SS2R24i
Global config settings:
On each interface:
Avaya
Avaya bought Nortel’s wired networks assets. So Avaya switches are, in effect, re-branded Nortels.
See Nortel section of this document for configuration instructions.
Note
The configuration below requires an ntp server. We use the PacketFence server as
the NTP server but any other one will do. If you want to use the PacketFence server
for NTP, make sure you install the appropriate service and open port 123 in /usr/
local/pf/conf/iptables.conf
#Uplink configuration
vlan ports 24 tagging tagAll
vlan configcontrol autopvid
Port 1 configuration:
Brocade
Note
By default, all deconnections will be done using SNMP.
Where xx and yy represent the range of ports where you want PacketFence enforcement.
mac-authentication enable
mac-authentication mac-vlan-dyn-activation
mac-authentication enable
mac-authentication enable-dynamic-vlan
cdp run
▪ Apply the following configuration on each interface you want PacketFence active
dual-mode
mac-authentication enable
mac-authentication enable-dynamic-vlan
voice-vlan 100
cdp enable
802.1X/MAC-Auth
▪ Enable 802.1X globally
dot1x-enable
re-authentication
enable ethe 1/1/xx
▪ Apply the following configuration on each interface you want PacketFence active
▪ Authentication configuration
The configuration above enables authentication on port 1/1/1 - make sure you change this to the
ports where you want to perform enforcement.
▪ SNMP configuration
▪ PacketFence configuration
While configuring the switch in PacketFence, ensure you set at least the following values: * Defin-
ition, Type: Brocade Switches * RADIUS, Secret Passphrase: useStrongerSecret * SNMP, Version:
v2c * SNMP, Community Read: public * SNMP, Community Write: private
VoIP
In order to enable VoIP, you first need to enable LLDP then define the network policy for tagging
VoIP traffic on the ports where PacketFence is enabled.
lldp run
lldp med network-policy application voice tagged vlan 5 priority 5 dscp 46 ports
ethe 1/1/1
Note
Make sure you change VLAN 5 to the VLAN you use for VoIP
▪ PacketFence configuration
While configuring the switch in PacketFence, ensure you set at least the following values: * Roles,
voice VLAN: 5 * Definition, VoIP: enabled
Note
Make sure to have a local account in case the switch can not reach the PacketFence
server
Cisco
PacketFence supports Cisco switches with VoIP using three different trap types:
▪ linkUp/linkDown
▪ MAC Notification
You also need to make sure that lldp or cdp notification is configured on all ports that will handle
VoIP.
On some recent models, we can also use more secure and robust features like:
Depending of the switch model, we recommend the use of the most secure and reliable feature
first. In other words, you should consider the following order:
1. 802.1X/MAB
2. Port-Security
3. linkUp/linkDown
2950
Those switches are now supported using 802.1X for networks with or without VoIP. You can also use
port-security with static MAC address but we can not secure a MAC on the data VLAN specifically
so enable it if there is no VoIP, use linkUp/linkDown and MAC notification otherwise.So on setup
that needs to handle VoIP with this switch, go with a 802.1X configuration.
802.1X
Warning
Make sure that you have a local account, because enabling 802.1X or MAB will ask for
a username and password on the next login.
dot1x system-auth-control
AAA configuration:
aaa new-model
aaa group server radius packetfence
server 192.168.1.5 auth-port 1812 acct-port 1813
aaa authentication login default local
aaa authentication dot1x default group packetfence
aaa authorization network default group packetfence
Port-Security
Caution
With port-security, if no MAC is connected on ports when activating port-security, we
need to secure bogus MAC addresses on ports in order for the switch to send a trap
when a new MAC appears on a port. On the other hand, if a MAC is actually connected
when you enable port security, you must secure this MAC rather than the bogus one.
Otherwise this MAC will lose its connectivity instantly.
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.0000.00xx):
▪ Fa0/1, …, Fa0/48 ⇒ 1, …, 48
Caution
The Catalyst 3550 does not support 802.1X with Multi-Domain, it can only support
802.1X with MAB using Multi-Host, MAB, and port security.
Caution
The Catalyst 3550 does not support CoA. Minimal IOS required for CoA is 12.2(52)SE.
Latest available IOS for 3550 is 12.2(46)SE. Set "Deauthentication Method" to "SN-
MP" in PacketFence Administration GUI under Network→ Switches for the switch IP
configured below.
Global settings:
dot1x system-auth-control
aaa new-model
aaa group server radius packetfence
server 192.168.1.5 auth-port 1812 acct-port 1813
aaa authentication login default local
aaa authentication dot1x default group packetfence
aaa authorization network default group packetfence
On each interface:
2960
Caution
For 802.1X and MAB configurations, refer to this section below.
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.000x.xxxx):
▪ Fa0/1…Fa0/48 → 10001…10048
▪ Gi0/1…Gi0/48 → 10101…10148
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.000x.xxxx):
▪ Fa0/1…Fa0/48 → 10001…10048
▪ Gi0/1…Gi0/48 → 10101…10148
Warning
Make sure that you have a local account, because enabling 802.1X or MAB will ask for
a username and password on the next login.
Global settings:
dot1x system-auth-control
aaa new-model
aaa group server radius packetfence
server name pfnac
aaa authentication login default local
aaa authentication dot1x default group packetfence
aaa authorization network default group packetfence
CoA configuration
On each interface
But, as it is difficult for us to maintain the whole list of commands to configure each and
every different model of 2960 with different IOS, please refer to Cisco documentation
for very specific cases.
Port-Security
Global config settings
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.000x.xxxx):
▪ Fa0/1…Fa0/48 → 10001…10048
▪ Gi0/1…Gi0/48 → 10101…10148
Web auth
The Catalyst 2960 supports web authentication from IOS 12.2.55SE3. This procedure has been
tested on IOS 15.0.2SE5.
In this example, the ACL that triggers the redirection to the portal for registration is registration.
Configure the global configuration of the switch using the section MAC Authentication bypass only
of the 2960 in this document.
ip device tracking
ip http server
ip http secure-server
snmp-server community public RO
snmp-server community private RW
▪ Set the Registration role to registration (If left empty then it will use the role name)
▪ The URL can contain dynamic parameters, like the MAC address ($mac), the switch IP ($switch_ip),
the username ($user_name).
▪ Screenshots of this configuration are available in the Cisco WLC section of this guide.
Downloadable ACLs
The Catalyst 2960 supports RADIUS pushed ACLs which means that you can define the ACLs
centrally in PacketFence without configuring them in your switches and their rules will be applied
to the switch during the authentication.
These ACLs are defined by role like the VLANs which means you can define different ACLs for your
registration VLAN, production VLAN, guest VLAN, etc.
ip device tracking
For IOS 12.2, you need to create this acl and assign it to the switch port interface:
interface GigabitEthernetx/y/z
...
ip access-group Auth-Default-ACL in
...
Now in the PacketFence interface go in the switch configuration and in the Roles tab.
Check Role by access list and you should now be able to configure the access lists as below.
For example if you want the users that are in the registration VLAN to only use HTTP, HTTPS, DNS
and DHCP you can configure this ACL in the registration category.
Now if for example, your normal users are placed in the default category and your guests in the
guest category.
If for example the default category uses the network 192.168.5.0/24 and your guest network uses
the network 192.168.10.0/24.
You can prevent communications between both networks using these access lists
You could also only prevent your guest users from using shared directories
Or also you could restrict your users to use only your DNS server where 192.168.5.2 is your DNS
server
and only allow specific traffic with the ACL. To do that, you need to configure PacketFence with
Role by Web Auth URL and with Role by access list (For each role you need). On the switch you
need to change the Auth-Default-ACL to add the portal IP address:
And assign this ACL on the switch port yo want to do ACL per port.
interface GigabitEthernetx/y/z
...
ip access-group Auth-Default-ACL in
...
conf t
ip access-list extend Auth-Default-ACL
21 permit ip any host ip_of_the_captive_portal
conf t
ip access-list extend Auth-Default-ACL
51 permit ip any host ip_of_the_captive_portal
We need to secure bogus MAC addresses on ports in order for the switch to send a trap when a
new MAC appears on a port.
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.000x.xxxx):
▪ Fa1/0/1…Fa1/0/48 → 10001…10048
▪ Gi1/0/1…Gi1/0/48 → 10101…10148
▪ Fa2/0/1…Fa2/0/48 → 10501…10548
▪ Gi2/0/1…Gi2/0/48 → 10601…10648
▪ Fa3/0/1…Fa3/0/48 → 11001…11048
▪ Gi3/0/1…Gi3/0/48 → 11101…11148
▪ Fa4/0/1…Fa4/0/48 → 11501…11548
▪ Gi4/0/1…Gi4/0/48 → 11601…11648
▪ …
IOS XE Switches
PacketFence supports the IOS XE switches in MAC Authentication Bypass, 802.1X and web au-
thentication.
dot1x system-auth-control
On each interface:
aaa new-model
aaa group server radius packetfence
server 192.168.1.5 auth-port 1812 acct-port 1813
aaa authentication login default local
aaa authentication dot1x default group packetfence
aaa authorization network default group packetfence
CoA configuration:
802.1X only
Follow the same configuration as for MAC Authentication Bypass but change the authentication
priority line with the following:
Web auth
Web auth requires at least MAC Authentication Bypass to be activated on the switchport but can
also work with 802.1X. Configure your switchports as you would usually do, then add the following
access lists.
ip device tracking
▪ Set the Registration role to registration (If left empty then it will use the role name)
▪ The URL can contain dynamic parameters, like the MAC address ($mac), the switch IP ($switch_ip),
the username ($user_name).
▪ Screenshots of this configuration are available in the Cisco WLC section of this guide.
Note
AAA authentication is slow to come up after a reload of the IOS XE switches. This
makes the recovery from a reboot longer to complete. This is due to a bug in IOS XE. A
workaround is to execute the following command no aaa accounting system default
start-stop group tacacs+.
To enable it:
dot1x system-auth-control
aaa new-model
aaa group server radius packetfence
server name packetfence
!
aaa authentication login default local
aaa authentication dot1x default group packetfence
aaa authorization network default group packetfence
radius-server vsa send authentication
CoA configuration:
ip http server
ip http secure-server
ip device tracking
Fallback ACL:
Service Template:
service-template DEFAULT_LINKSEC_POLICY_MUST_SECURE
service-template DEFAULT_LINKSEC_POLICY_SHOULD_SECURE
service-template DEFAULT_CRITICAL_VOICE_TEMPLATE
voice vlan
service-template CRITICAL_AUTH_VLAN
service-template CRITICAL-ACCESS
description *Fallback Policy on AAA Fail*
access-group ACL-CRITICAL-V4
!
Class map:
Policy map:
On the 3 following configurations if the RADIUS server is down then we will apply CRITI-
CAL_AUTH_VLAN, DEFAULT_CRITICAL_VOICE_TEMPLATE and CRITICAL-ACCESS service tem-
plate. If the RADIUS server goes up then it reinitializes the authentication if the port is in IN_CRITI-
CAL_VLAN.
template identity-template-mab
dot1x pae authenticator
spanning-tree portfast edge
switchport access vlan 1
switchport mode access
switchport voice vlan 100
mab
access-session host-mode multi-domain
access-session control-direction in
access-session closed
access-session port-control auto
authentication periodic
authentication timer reauthenticate server
service-policy type control subscriber DOT1X_MAB
template identity-template-macauth
dot1x pae authenticator
spanning-tree portfast edge
switchport access vlan 1
switchport mode access
switchport voice vlan 100
mab
access-session host-mode single-host
access-session control-direction in
access-session closed
access-session port-control auto
authentication periodic
authentication timer reauthenticate server
service-policy type control subscriber MACAUTH
template identity-template-dot1x
dot1x pae authenticator
spanning-tree portfast edge
switchport access vlan 1
switchport mode access
switchport voice vlan 100
mab
access-session host-mode single-host
access-session control-direction in
access-session closed
access-session port-control auto
authentication periodic
authentication timer reauthenticate server
service-policy type control subscriber DOT1X
Local Policies:
Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Server Policies:
Vlan Group: Vlan: 20
Idle timeout: 30 sec
Debug command:
In order to be able to debug the Identity Networking Policy you can launch the following command
in the switch cli:
term mon
debug pre all
DHCP Option 82
In order to enable the DHCP Option 82, you need to add the following parameters. Let’s say you
want to enable it for the vlan 1 to 1024:
ip dhcp snooping
ip dhcp snooping vlan 1-1024
On uplink interfaces:
On each interface:
Here is an official Cisco guide, from which the following configuration derives: https://www.cis-
co.com/c/en/us/support/docs/lan-switching/8021x/116681-config-neat-cise-00.html
The following configuration example contains required changes to be applied on both authenticator
and supplicant switches to provide EAP-FAST authentication against PacketFence.
Authenticator
Global settings:
cisp enable
Uplink configuration:
interface FastEthernet0/20
switchport mode access
authentication port-control auto
dot1x pae authenticator
Supplicant
Global settings (replace username and password):
cisp enable
Uplink settings:
interface GigabitEthernet1/0/24
switchport mode trunk
dot1x pae supplicant
dot1x credentials EAP_PRO
dot1x supplicant eap profile EAP_PRO
This configuration will make the switch send information about DHCP, LLDP and CDP of the end-
point in the RADIUS accounting packets.
Nothing is required to activate VoIP on the switch, you must simply configure the voice VLAN you
want PacketFence to assign in the PacketFence switch configuration as well as enabling VoIP there.
Note that your phones must not tag their packets on the network and should send their traffic
untagged when connected into a PacketFence enabled port. This means you should not have the
voice VLAN capabilities enabled on the switch itself as they might conflict with the authorization
attributes returned by PacketFence.
Global configuration
Caution
Before executing these steps, make sure you have a local account configured to login
on the switch or are pointing to a RADIUS server for management. Otherwise, you will
not be able to login into the switch anymore.
You must first define your RADIUS server and point it to PacketFence:
dot1x system-auth-control
radius-server key useStrongerSecret
radius-server host 192.168.1.5
MAC Authentication
In order to configure MAC authentication, you must enable it on each interface
interface x/y/z
dot1x host-mode multi-sessions
dot1x reauthentication
dot1x timeout quiet-period 10
dot1x timeout server-timeout 5
dot1x timeout supp-timeout 3
dot1x authentication mac
dot1x radius-attributes vlan
dot1x port-control auto
spanning-tree portfast
switchport mode general
switchport general pvid 2
interface x/y/z
dot1x host-mode multi-sessions
dot1x reauthentication
dot1x timeout quiet-period 10
dot1x timeout server-timeout 5
dot1x timeout supp-timeout 3
dot1x authentication dot1x mac
dot1x radius-attributes vlan
dot1x port-control auto
spanning-tree portfast
switchport mode general
switchport general pvid 2
Once you have configured your switchports, you must configure the switch in PacketFence with
the following information:
▪ Definition→Mode: production
▪ Roles→voice VLAN set to the VLAN you want to assign to the VoIP devices connecting to this
switch.
▪ SNMP→Version: v2c
802.1X commands
show dot1x
show dot1x users
D-Link
PacketFence supports D-Link switches without VoIP using two different trap types:
▪ linkUp/linkDown
▪ MAC Notification
DES3526 / 3550
Global config settings
To be contributed...
On each interface:
To be contributed...
DGS3100/3200
Enable MAC notification:
enable mac_notification
config mac_notification interval 1 historysize 1
config mac_notification ports 1:1-1:24 enable
enable mac_based_access_control
config mac_based_access_control authorization attributes radius enable local
disable
config mac_based_access_control method radius
config mac_based_access_control password useStrongerSecret
config mac_based_access_control password_type manual_string
config mac_based_access_control max_users no_limit
config mac_based_access_control trap state enable
config mac_based_access_control log state enable
On each interface:
Dell
Note
When doing MAC Authentication, there is a known issue with some Dell switches. If
you get errors where the device is using EAP type MD5, but PacketFence is expecting
PEAP, you will need to edit the line default_eap_type = peap under the section eap in
the file /usr/local/pf/conf/radiusd/eap.conf to default_eap_type = md5.
Force 10
PacketFence supports this switch using RADIUS, MAC-Authentication and 802.1X.
PowerConnect 3424
PacketFence supports this switch using linkUp/linkDown traps.
configure
radius-server host auth 10.34.200.30
name PacketFence
usage 802.1x
key s3cr3t
exit
Configure CoA
Enable authentication and globally enable 802.1x client authentication via RADIUS
authentication enable
aaa authentication dot1x default radius
aaa authorization network default radius
dot1x system-auth-control
(Optional)
On the interface, enable MAC based authentication mode, enable MAB, and set the order of au-
thentication to 802.1X followed by MAC authentication. Also enable periodic re-authentication.
interface te1/0/4
dot1x port-control mac-based
dot1x mac-auth-bypass
authentication order dot1x mab
dot1x reauthentication
default mab pap
exit
configure
vlan 2,3,4,5,100
vlan 2
name "Registration"
vlan 3
name "Isolation"
vlan 4
name "Mac detection"
vlan 5
name "Guest"
vlan 100
name "VoIP"
authentication enable
dot1x system-auth-control
aaa authentication dot1x default radius
aaa authorization network default radius
dot1x dynamic-vlan enable
voice vlan
aaa server radius dynamic-author
client 192.168.1.5 server-key "useStrongerSecret"
exit
radius-server host auth 192.168.1.5
name "PacketFence"
usage 802.1x
key "useStrongerSecret"
exit
aaa server radius dynamic-author
client 192.168.1.5 server-key "useStrongerSecret"
exit
Radius configuration:
interface Gi0/0/1
switchport mode general
switchport general allowed vlan add 1-3,100
dot1x port-control mac-based
dot1x unauth-vlan 2
dot1x mac-auth-bypass
authentication order mab dot1x
voice vlan 100
exit
Edge core
PacketFence supports Edge-corE switches without VoIP using linkUp/linkDown traps.
4510
Basic configuration
network-access aging
snmp-server community private rw
snmp-server community public rw
Enterasys
PacketFence supports Enterasys switches without VoIP using two different trap types:
▪ linkUp/linkDown
Matrix N3
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
Also, by default this switch doesn’t do an electrical low-level linkDown when setting the port to
admin down. So we need to activate a global option called forcelinkdown to enable this behavior.
Without this option, clients don’t understand that they lost their connection and they never do a
new DHCP on VLAN change.
On each interface:
SecureStack C2
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
On each interface:
SecureStack C3
This switch has the particular feature of allowing more than one untagged egress VLAN per port.
This means that you must add all the VLAN created for PacketFence as untagged egress VLAN on
the relevant interfaces. This is why there is a VLAN command on each interface below.
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
On each interface:
Standalone D2
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
Caution
This switch Switch accepts multiple untagged VLAN per port when configured through
SNMP. This is problematic because on some occasions the untagged VLAN port list
can become inconsistent with the switch’s running config. To fix that, clear all untagged
VLANs of a port even if the CLI interface doesn’t show them. To do so, use: clear
vlan egress <vlans> <ports>
On each interface:
Extreme Networks
PacketFence supports Extreme Networks switches using:
▪ linkUp/linkDown
▪ Netlogin - 802.1X
where <portlist> are ports you want to secure. It can be an individual port or a port-range with
a dash.
where <portlist> are ports you want to secure. It can be an individual port or a port-range with
a dash.
MAC Authentication
AAA Configuration
802.1X
AAA Configuration
Netlogin (802.1X)
Note
You can mix the MAC Authentication and 802.1X on the same switchport. If the device
fails 802.1X authentication, it will roll back to the MAC Authentication.
Foundry
FastIron 4802
PacketFence support this switch with optional VoIP using two different trap types:
▪ linkUp/linkDown
Those switches support port-security with static MAC address and allow us to secure a MAC on
the data VLAN so we enable it whether there is VoIP or not.
We need to secure bogus MAC addresses on ports in order for the switch to send a trap when a
new MAC appears on a port.
int eth xx
port security
enable
maximum 1
secure 0200.0000.00xx 0
violation restrict
With VoIP a little more work needs to be performed. Instead of the no-VoIP, put in the following
config:
conf t
vlan <mac-detection-vlan>
untagged eth xx
vlan <voice-vlan>
tagged eth xx
int eth xx
dual-mode <mac-detection-vlan>
port security
maximum 2
secure 0200.00xx.xxxx <mac-detection-vlan>
secure 0200.01xx.xxxx <voice-vlan>
violation restrict
enable
where xxxxxx stands for the interface number (filled with zeros), <voice-vlan> with your voice-
VLAN number and <mac-detection-vlan> with your mac-detection VLAN number.
H3C
802.1X
RADIUS scheme creation:
ISP-Domain creation:
domain packetfence
authentication default radius-scheme packetfence
authentication lan-access radius-scheme packetfence
authorization lan-access radius-scheme packetfence
SNMP settings:
snmp-agent
snmp-agent community read public
snmp-agent community write private
snmp-agent sys-info version v2c
Global configuration:
port-security enable
dot1x authentication-method eap
Interfaces configuration:
Global configuration:
Interfaces configuration:
mac-authentication guest-vlan 5
port-security port-mode userlogin-secure-or-mac
MAC Authentication
RADIUS scheme creation:
ISP-Domain creation:
domain packetfence
authentication default radius-scheme packetfence
authentication lan-access radius-scheme packetfence
authorization lan-access radius-scheme packetfence
SNMP settings:
snmp-agent
snmp-agent community read public
snmp-agent community write private
snmp-agent sys-info version v2c
Global configuration:
port-security enable
mac-authentication domain packetfence
Interfaces configuration:
HP
VLAN creation: * go to Network, VLAN, * click on the Create tab * create the VLANs
Then: * click on the RADIUS Setup tab * check the box Authentication Server Shared Key * give the
shared key * from Username Format, select without-domain * click Apply
Create a new authentication domain: * go to Authentication, AAA, * click on the Domain Setup tab,
Warning
We will need to create a specific authentication domain and not making it as the default
domain.
Configure the 802.1X and authentication method: * go to Authentication * click on the 802.1X tab
* check the Enable 802.1X box * from Authentication Method, select EAP
_cmdline-mode on
System-view
Mac-authentication domain YOUR_DOMAIN_NAME
Mac-authentication user-name-format mac-address with-hyphen
▪ from Port, select the port your are connected to. GigabitEthernet X/X/X
▪ click on Apply
Enable the MAC Authentication in SSH, as well: * back on the SSH terminal * type the following
command:
HP ProCurve
PacketFence supports ProCurve switches without VoIP using two different trap types:
▪ linkUp/linkDown
Note
HP ProCurve only sends one security trap to PacketFence per security violation so
make sure PacketFence runs when you configure port-security. Also, because of the
above limitation, it is considered good practice to reset the intrusion flag as a first
troubleshooting step.
If you want to learn more about intrusion flag and port-security, please refer to the ProCurve doc-
umentation.
Caution
If you configure a switch that is already in production be careful that enabling port-
security causes active MAC addresses to be automatically added to the intrusion list
without a security trap sent to PacketFence. This is undesired because PacketFence
will not be notified that it needs to configure the port. As a work-around, unplug clients
before activating port-security or remove the intrusion flag after you enabled port-
security with: port-security <port> clear-intrusion-flag.
2500 Series
linkUp/linkDown traps are enabled by default so we disable them and enable Port Security only.
On 2500’s, we need to secure bogus MAC addresses on ports in order for the switch to send a
trap when a new MAC appears on a port.
On each interface:
CLI authentication
You can use PacketFence for RADIUS CLI authentication on the 2500 Series.
Next, make sure you configure the switch in PacketFence accordingly as well as the proper admin-
istrative access. Refer to the Administration Guide for more details.
On 2600’s, we don’t need to secure bogus MAC addresses on ports in order for the switch to send
a trap when a new MAC appears on a port.
On each interface:
Configure the AAA authentication for MAC authentication to use the right server-group:
Optionally, you can configure the SSH and telnet authentication to point to PacketFence (make sure
you also follow instructions in the Administration Guide to activate the CLI access):
Don’t forget to permit address moves and the reauth period. x represents the port index:
2610
802.1X
Define the RADIUS server host:
Configure authentication:
On 4100’s, we need to secure bogus MAC addresses on ports in order for the switch to send a trap
when a new MAC appears on a port. The ports are indexed differently on 4100’s: it’s based on the
number of modules you have in your 4100, each module is indexed with a letter.
MAC Authentication
RADIUS configuration
802.1X
Downloadable ACLs
HP and Aruba switches running the ArubaOS-Switch operating system (previously called ProVision)
support dynamic RADIUS-assigned ACLs. It requires RADIUS authentication using the 802.1X, Web
authentication or MAC authentication available on the switch. You can define ACLs in PacketFence
so that they can be automatically applied on the ports of the switches based on the role assigned.
We have tested it successfully on the Aruba 2930M and 3810 series on version 16.05.0004.
To use this feature, first configure RADIUS and the authentication method on your switch. Next, in
the PacketFence web admin interface, go to Configuration → Policies and Access Control → Switches.
Click on the switch you want, then on the Roles tab, and check Role by access list. Now you are able
to add ACLs for each role.
You can also view ACL counter hits using either of the following commands:
Configure an authentication method. Options include 802.1X, web-based authentication, and MAC
authentication. You can configure 802.1X, web-based authentication, and/or MAC authentication
to operate simultaneously on the same ports.
▪ 802.1X Option:
This command configures web-based authentication on the switch and activates this feature on
the specified ports.
For example, if you want the users that are in the registration VLAN to only use HTTP, HTTPS, DNS
and DHCP you can configure this ACL in the registration role.
Now, your normal users are placed in the default role and your guests in the guest role.
The default role uses the network 192.168.5.0/24 and guest uses the network 192.168.10.0/24.
You can prevent communications between both networks using these access lists
You could also only prevent your guest users from using shared directories
You could also restrict your users to use only your DNS server where 192.168.5.2 is your DNS
server
Huawei
PacketFence supports the S5710 switch from Huawei.
Basic configuration
l2protocol-tunnel user-defined-protocol 802.1X protocol-mac 0180-c200-0003 group-
mac 0100-0000-0002
domain pf
dot1x enable
dot1x dhcp-trigger
aaa
authentication-scheme abc
authentication-mode radius
accounting-scheme abc
accounting-mode radius
domain pf
authentication-scheme abc
accounting-scheme abc
radius-server packetfence
snmp-agent
snmp-agent local-engineid 800007DB0304F9389D2360
snmp-agent community write cipher <privateKey>
snmp-agent sys-info version v2c v3
MAC authentication
interface GigabitEthernet0/0/8
dot1x mac-bypass mac-auth-first
dot1x mac-bypass
dot1x max-user 1
dot1x reauthenticate
dot1x authentication-method eap
802.1X
interface GigabitEthernet0/0/8
dot1x mac-bypass
dot1x max-user 1
dot1x reauthenticate
dot1x authentication-method eap
IBM
RackSwitch G8052
PacketFence supports only 802.1X authentication. It has been tested on version 7.9.11.0.
RADIUS configuration
SNMP configuration
Port configuration
PacketFence configuration
In order to configure the IBM RackSwitch G8052 switch module, go in the PacketFence adminis-
tration interface under Configuration→Switches→Add switch
Definition:
IP: This will be the IP of the IBM StackSwitch G8052 switch on the management
network
Description: IBM StackSwitch G8052
Type: IBM RackSwitch G8052
Mode: Production
Deauthentication: SNMP
Dynamic Uplinks: Checked
Roles:
Radius:
Snmp:
SNMP Version: 2c
SNMP Read Community: packetfence
SNMP Write Community: packetfence
Intel
▪ linkUp/linkDown
Juniper
PacketFence supports Juniper switches in MAC Authentication (Juniper’s MAC RADIUS) mode and
802.1X. PacketFence supports VoIP on the EX2200 (JUNOS 12.6) and EX4200 (JUNOS 13.2)
protocols {
dot1x {
authenticator {
authentication-profile-name packetfence;
interface {
access-ports {
supplicant multiple;
mac-radius;
}
}
}
}
}
access {
radius-server {
192.168.1.5 {
port 1812;
secret "useStrongerSecret";
}
}
profile packetfence {
authentication-order radius;
radius {
authentication-server 192.168.1.5;
accounting-server 192.168.1.5;
}
accounting {
order radius;
accounting-stop-on-failure;
accounting-stop-on-access-deny;
}
}
}
ethernet-switching-options {
secure-access-port {
interface access-ports {
mac-limit 1 action drop;
}
}
}
Copyright © 2020 Inverse inc. Switch configuration 85
snmp {
name "EX 4200";
Chapter 5
Change the interface-range statement to reflect the ports you want to secure with PacketFence.
VoIP configuration
# load replace terminal
[Type ^D at a new line to end input]
protocols{
lldp {
advertisement-interval 5;
transmit-delay 1;
ptopo-configuration-trap-interval 1;
lldp-configuration-notification-interval 1;
interface all;
}
lldp-med {
interface all;
}
}
ethernet-switching-options {
secure-access-port {
interface access-ports {
mac-limit 2 action drop;
}
}
voip {
interface access-ports {
vlan voice;
forwarding-class voice;
}
}
}
}
vlans {
voice {
vlan-id 3;
}
}
Ctrl-D
# commit comment "packetfenced VoIP"
802.1X configuration
protocols {
dot1x {
authenticator {
authentication-profile-name packetfence;
interface {
access-ports {
supplicant multiple;
mac-radius;
}
}
}
}
}
Ctrl-D
# commit comment "packetfenced dot1x"
access-ports {
supplicant multiple;
mac-radius {
restrict;
}
}
}
}
}
}
Ctrl-D
# commit comment "configured for floating devices"
Note
flap-on-disconnect option takes effect only when the restrict option is also set.
LG-Ericsson
PacketFence supports iPECS series switches without VoIP using two different trap types:
▪ linkUp / linkDown
On some recent models, we can also use more secure and robust features, like:
▪ MAC Authentication
▪ 802.1X
ES-4500G Series
LinkUp / LinkDown
Firmware 1.2.3.2 is required for linkUp / linkDown
Prior to config, make sure to create all necessaries VLANs and config the appropriate uplink port.
Firmware is kinda buggy so you’ll need to enable linkUp / linkDown using the Web Interface under
Administration → SNMP.
Some reports shows that the switch doesn’t always send linkDown traps.
Port-Security
Firmware 1.2.3.2 is required for port-security.
Prior to config, make sure to create all necessaries VLANs and config the appropriate uplink port.
The above port security command may not work using the CLI. In this case, use the Web Interface
under the Security → Port Security menu and enable each ports using the checkboxes.
It is also recommended, when using port-security, to disable link-change (UP / DOWN) traps.
Linksys
PacketFence supports Linksys switches without VoIP using one trap type:
▪ linkUp/linkDown
SRW224G4
Global config settings
On each interface
Netgear
The "web-managed smart switch" models GS108Tv2/GS110/GS110TP are supported with Link
up/down traps only.
Higher-end "fully managed" switches including FSM726v1 are supported in Port Security mode.
Using the HTTP GUI, follow the steps below to configure such feature. Of course, you must create
all your VLANs on the switch as well.
SNMP Settings
In Advanced → SNMP → Community Table, create a read-write community string and a trap com-
munity string. You can use the same community for all the 3 functions (Get, Set, Trap).
Next, under Advanced → SNMP → Host Table, enable the Host Authorization feature and add the
PacketFence server into the allowed host list.
Finally, under Advanced → SNMP → Trap Setting, enable the authentication trap.
Switch Configuration
It can be difficult to find the advanced features in the web GUI. We recommend using the GUI
"Maintenance" tab to Upload the configuration to a file, and then edit it there.
vlan database
vlan 1,2,3,4,5
vlan name 1 "Normal"
vlan name 2 "Registration"
vlan name 3 "Isolation"
vlan name 4 "MAC Detection"
vlan name 5 "Guest"
exit
In the same section as "users passwd", you need to specify your PacketFence server’s management
address:
In the same section as the "voip oui" lines, you need to allow your SNMP server:
You should use port 1 as the uplink. If you connect port 1 of a GS108Tv2 switch into a Power over
Ethernet switch, then the GS108Tv2 does not need AC power. If you bought GS110T(P) switches,
presumably it’s for the SFP uplink option. You’ll want to configure both port 1 and the SFP ports
9-10 as trunks:
interface 0/1
no snmp trap link-status
ip dhcp filtering trust
vlan pvid 1
vlan ingressfilter
vlan participation include 1,2,3,4,5
vlan tagging 2,3,4,5
no auto-voip
exit
interface 0/2
vlan pvid 4
vlan ingressfilter
vlan participation include 4
no auto-voip
exit
M Series
PacketFence supports the Netgear M series in wired MAC authentication without VoIP.
Switch configuration
---
radius server host auth 192.168.1.5 radius server key auth 192.168.1.5 (then press enter and input
your secret) radius server primary 192.168.1.5 radius server host acct 192.168.1.5 radius server
key acct 192.168.1.5 (then press enter and input your secret)
aaa session-id unique dot1x system-auth-control aaa authentication dot1x default radius authoriza-
tion network radius radius accounting mode
---
On your uplinks
---
---
On your interfaces
---
interface 0/x dot1x port-control mac-based dot1x timeout guest-vlan-period 1 dot1x mac-auth-
bypass exit
---
Nortel
PacketFence supports Nortel switches with VoIP using one trap type:
▪ Mac Security
Note
if you are using a 5500 series with a firmware version of 6 or above, you must
use a different module called Nortel::BayStack5500_6x in your /usr/local/pf/conf/
VoIP support
You need to ensure that all your ports are tagged with the voice VLAN. The switch should do the
rest for you.
BPS2000
You can only configure this switch through menus.
Pica8
PacketFence supports Pica8 switches without VoIP using CoA to:
▪ bounce-host-port
▪ reauthenticate-host
Notes
Global configuration:
▪ For interfaces where auth-mode is unknown, use the following command set protocols dot1x
interface ge-1/1/12 auth-mode dot1x-mac-radius This allows the switch to first try 802.1X and
if there is no response from the client then fallback to MAC Authentication.
SMC
▪ linkUp/linkDown
On each interface:
TigerStack 6224M
Supports linkUp/linkDown mode
Ubiquiti
EdgeSwitch
PacketFence supports the EdgeSwitch with the following techniques:
vlan database
vlan 1
vlan 2
vlan 3
vlan 4
vlan 5
vlan 100
exit
configure
dot1x system-auth-control
aaa authentication dot1x default radius
authorization network radius
dot1x dynamic-vlan enable
radius accounting mode
radius server host auth "192.168.1.5" name "PacketFence"
radius server key auth "192.168.1.5"
vlan database
vlan 1
vlan 2
vlan 3
vlan 4
vlan 5
vlan 100
exit
configure
dot1x system-auth-control
aaa authentication dot1x default radius
authorization network radius
dot1x dynamic-vlan enable
voice vlan 100
radius accounting mode
radius server host auth "192.168.1.5" name "PacketFence"
radius server key auth "192.168.1.5"
Assumptions
Throughout this configuration example we use the following assumptions for our network infra-
structure:
Unsupported Equipment
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 PacketFence. 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 PacketFence, 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.
1
Be careful to change the secret key to a much stronger one. A 16 character random secret with digits, upper case and lower case
characters is recommended.
Here are the high-level requirements for proper wireless integration with PacketFence
▪ 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 FreeR-
ADIUS hosted on PacketFence
▪ Put your secure SSID (if any) in 802.1X mode and authenticate against FreeRADIUS hosted on
PacketFence.
▪ On registration / isolation VLANs the DHCP traffic must reach the PacketFence server
▪ On your production VLANs a copy of the DHCP traffic must reach PacketFence where a pfdhc-
plistener listens (configurable in pf.conf under interfaces)
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 automat-
ically 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.
If none of the above worked then you can fallback to inline enforcement or let us know what
equipment you are using on the packetfence-devel mailing list.
Aerohive Networks
Aerohive products are a bit different compared to the other vendors. They support either a local
HiveManager (similar to a wireless controller) or a cloud-based HiveManager. However, the config-
uration is the same for the local and the cloud-based controller. Note that all the configurations are
made on the HiveManager and then pushed to the APs.
▪ for this example, we assume that we are on the Cloud MyHive.aerohive.com solution
▪ from HiveManager, click on your HiveManagerOnline Instances VHM-XXXXXX
▪ from Network Configuration / 1-Choose Network Policy, click on New
▪ give a name to your Policy, and click Create
▪ from 2-Configure Interfaces and User Access, SSID, click on Choose and click on New
▪ give a SSID Profile Name, SSID Name
▪ click on New
▪ click on New
▪ click on Save
▪ from SSID, be sure to have selected both SSIDs previously created, and click OK
▪ from Add a New RADIUS Server, in IP Adresse/Domain Name, put the PacketFence Server IP
▪ hive the Shared Secret (useStrongerSecret) and Confirm it
▪ and Click on Apply
▪ deploy the Optionnal Setting(not supported by RADIUS Proxy) section and check the Permit Dynamic
Change of Authorization Message (RFC 3576)
▪ click on Save
We will create the default VLAN to be assign by the AP, when a new endpoint get in the SSID:
▪ Under User Profile, Click on Add/Remove,and Click on New, in the Default section
▪ You will need to create one User Profile for each VLANs used, for us, we will create 3 Users
Profiles, Registration, Isolation and Production
▪ from name, give the name of a rule to manage the VLANs with PacketFence (Registration ; Iso-
lation ; Production)
▪ from Attribute Name, give the VLAN ID of the VLAN
▪ from Default VLan, Click on the (+) (New)
▪ as a VLAN ID, give the VLAN ID earlier Registration(2) , Isolation(3) or Production(10)
▪ click on Save and click on Save again on the Configure interfaces and User Access
▪ From the Choose User Profiles, select the Default tab and click on you Registration VLAN tag
▪ From the Authentication tab, select the Isolation and the Production VLANs tag
▪ Click on Save
For our example, here is what it looks like, with two SSIDs
Note
Aerohive have a session replication feature to ease the EAP session roaming between
two access points. However, this may cause problems when you bounce the wireless
card of a client, it will not do a new RADIUS request. Two settings can be tweaked
to reduce the caching impact, it is the roaming cache update interval and roaming
cache ageout. They are located in Configuration → SSIDs → [SSID Name] → Optional
Settings → Advanced. The other way to support Roaming is to enable SNMP trap
in the Aerohive configuration to PacketFence server. PacketFence will recognize the
ahConnectionChangeEvent and will change the location of the node in his base.
Configure PacketFence
We will now need to create a new switch in PacketFence to be able to manage the endpoints behind
the Aerohive APs.
In Definition:
▪ IP Address/MAC Address/Range (CIDR), give the network address of your Production network; For
us, it will be 172.16.1.1
▪ Description, give a description so you can quickly see what it is about
▪ from the Type list, select Aerohive AP
From Role:
From RADIUS:
Assumptions
In this part, it is recommended that the default VLAN must be the native VLAN. This way, the AP
and the others network equipments will be able to manage VLANs.
You already have a Network Policy and at least one Access Point configured.
▪ under Authentication click on <Captive Web Portal> and select the captive portal previously con-
figured
▪ once the <RADIUS Settings> appears under the captive portal, click on it
▪ click on Apply
▪ click on Optional Settings (not supported by RADIUS Proxy) and check Permit Dynamic Change of
Authorization Messages (RFC 3576)
▪ enter the profile name, the VLAN ID and create the default VLAN as the same as the attribute
number
▪ make sure the new user profile name is selected and then Save
Push the configuration to the Access Point: * click on Continue * select the AP and click Update
- Update Devices * under Configuration: select Perform a complete configuration update for all
selected devices * under HiveOS: select Don’t upgrade * click on Update * wait until the AP is
back online
Configure PacketFence
Configure the Production interface to send the Portal:
We will assume that we have an up and running SSID (YourSecuredSSID) already configured with
Mac Authentication/802.1X:
▪ from this documentation, we will assume that the VLANs tags are defined like following :
Our SSID will be named YourOpenSSID, assuming that we want to provide a public Internet hotspot
for example.
[SSID]
filter = ssid
operator = is
value = YourOpenSSID
[1:SSID]
scope = radius_authorize
param1 = ExternalPortalEnforcement => Y
param2 = VlanMap => N
Click on SAVE.
Note
The default configuration in the Switch filters for ExternalPortalEnforcement is set to N
Advanced Topics
Roles (User Profiles)
PacketFence supports user profiles on the Aerohive equipment. To build a User Profile, go to Con-
figuration → User Profiles, and create what you need. When you define the switch definition in
PacketFence, the role will match the User Profile attribute number. For example:
roles=CategoryStudent=1;CategoryStaff=2
Last step is to allow the User Profile to be returned for a particular SSID. Go to Configuration →
SSIDs → Your_SSID → User Profiles for Traffic Management, and select the User Profiles you will
return for the devices.
In version 6 or later of the HiveOS, we do return VLAN ID matching the number that the User
Profile has. Create your User Profile in the HiveManager as usual, assign the matching VLAN, and
in PacketFence configuration add the wanted VLAN ID in the section Roles by VLAN.
roles=CategoryStudent=1;CategoryStaff=2
Last step is to allow the User Profile to be returned for a particular SSID. Go to Configuration →
SSIDs → Your_SSID → User Profiles for Traffic Management, and select the User Profiles you will
return for the devices.
In version 6 or later of the HiveOS, we do return VLAN ID matching the number that the User
Profile has. Create your User Profile in the HiveManager as usual, assign the matching VLAN, and
in PacketFence configuration add the wanted VLAN ID in the section Roles by VLAN.
Anyfi Networks
This section will discuss about the configuration of your Anyfi Gateway and Controller in order to
use it with our configured PacketFence environment.
When installing the Anyfi Gateway, have one interface in trunk mode for the packet bridge. In this
example it will be eth2 which is the last card on the machine.
interfaces {
bridge br0 {
aging 300
hello-time 2
max-age 20
priority 0
stp false
}
}
In this example eth1 will be the management interface of the Anyfi Gateway and eth2 will be the
interface that will contain the outbound WiFi traffic.
interfaces {
ethernet eth1 {
address <your management ip address>/<mask>
duplex auto
smp_affinity auto
speed auto
}
ethernet eth2 {
bridge-group {
bridge br0
}
duplex auto
smp_affinity auto
speed auto
}
}
service {
anyfi {
gateway ma-gw {
accounting {
radius-server <Management IP of PacketFence> {
port 1813
secret useStrongerSecret
}
}
authorization {
radius-server <Management IP of PacketFence> {
port 1812
secret useStrongerSecret
}
}
bridge br0
controller <IP or FQDN of the Anyfi Controller>
isolation
nas {
identifier anyfi
port 3799
}
ssid DemoOpen
}
}
service {
anyfi{
gateway secure-gw {
authentication {
eap {
radius-server <Management IP of PacketFence> {
port 1812
secret useStrongerSecret
}
}
}
bridge br0
controller <IP or FQDN of the Anyfi Controller>
isolation
ssid DemoSecure
wpa2 {
}
}
}
}
Avaya
Wireless Controller
Note
To be contributed….
Aruba
All Aruba OS
In this section, we cover the basic configuration of the Aruba wireless controller for PacketFence
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.
Caution
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.
Note
Starting with PacketFence 3.3, Aruba supports role-based access control. Read the
Administration Guide under "Role-based enforcement support" for more information
about how to configure it on the PacketFence side.
AAA Settings
In the Web interface, go to Configuration → Authentication → RADIUS Server and add a RADIUS
server named "packetfence" then edit it:
▪ Click Apply
Under Configuration → Authentication → Server Group add a new Server Group named "packet-
fence" then edit it to add your RADIUS Server "packetfence" to the group. Click Apply.
Under Configuration → Authentication → AAA Profiles click on the "default-mac-auth" profile then
click on MAC Authentication Server Group and choose the "packetfence" 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 Configuration → Authentication → AAA Profiles click on the "default-dot1x" profile then
click on 802.1X Authentication Server Group and choose the "packetfence" 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 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:
▪ SSID Profile: Select NEW then add an SSID (PacketFence-Public) and Network authentication
set to None
Secure 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:
▪ SSID Profile: Select NEW then add an SSID (PacketFence-Secure) and Network authentication
set to WPA2
Roles
Since PacketFence 3.3.0, we now support roles for the Aruba hardware. To add roles, go in Config-
uration → Access Control → User Roles → Add. You don’t need to force a VLAN usage in the Role
since we send also the VLAN ID along with the Aruba User Role in the RADIUS request. Refer to
the Aruba User Guide for more information about the Role creation.
WIPS
In order to use the WIPS feature in PacketFence, please follow those simple steps to send the traps
to PacketFence.
First, configure PacketFence to be a trap receiver. Under Configuration > SNMP > Trap Receivers,
add an entry for the PF management IP. By default, all traps will be enabled. If you want to dis-
able some, you will need to connect via CLI, and run the snmp-server trap disable <trapname>
command.
WebAuth
First of all you will need to configure a guest VLAN.
Add your RADIUS server to a AAA group, under Security -> Authentication -> Servers ->
Server Group:
Then define the RFC 3576 server, which will allow you to do CoA.
Next, you will need to create the policy that will redirect users to the PacketFence captive portal
when they are not authenticated. Go to Security -> Authentication -> L3 Authentication -
> Captive Portal Authentication Profile.
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:
Adjust the configuration of the AAA profile through Security -> Authentication -> Profiles
-> AAA Profiles:
First add a destination, Advanced Services -> Stateful Firewall -> Destinations:
netdestination packetfence-portal
host 192.168.1.5
firewall allow-tri-session
Now add the newly created policy to the Captive Portal Profile, Security -> User Roles:
user-role "packetfence-portal"
access-list session "packetfence-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 "packetfence-externalportal"
Finaly create the SSID and associate the profile to it, Virtual AP profile:
The next step will be to configure the Aruba WiFi controller for WebAuth in PacketFence, add the
switch with the model choice Aruba Network,
Check the box External Portal Enforcement, in the Roles section, choose Role by Switch Role, as
the registration role, enter your default role: packetfence-portal and choose the policy matching
roles, for instance guest: internet-only.
CLI authentication
In order to enable CLI login on the Aruba controller via the PacketFence server, you need to point
management authentication to the RADIUS server you created while configuring the SSIDs in the
previous sections above.
VLAN definition
Here, we create our PacketFence 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 Profiles
ip 192.168.1.5
port 1812
acctport 1813
timeout 10
retry-count 5
key useStrongerSecret
nas-ip [Aruba Virtual Controller IP]
rfc3576
Add dynamic vlan rules and mac auth to your ssid profile:
index 0
type employee
essid ESSID
wpa-passphrase WPA-Passphrase
opmode wpa2-psk-aes
max-authentication-failures 0
vlan 1
auth-server packetfence
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
BE20
The Belair Networks BE20s are fairly easy to configure.
Add VLANs
On the BE20 Web Interface, click on Eth-1-1. By default, there will be nothing in there. You need
to first create an untagged VLAN (VLAN 0). In order to do that, you need to set the PVID, Reverse
PVID, and the VLAN field to 0. Then click add.
Repeat that step for each of your VLANs by entering the proper VLAN ID in the VLAN field.
AAA Servers
Once you have the VLANs setup, you need to add PacketFence into the AAA Server list. Go to
System → Radius Servers. Click on Add server, and fill out the proper information.
Secure SSID
Since the BE20 doesn’t support Open SSID with MAC Authentication, we will only describe how
to configure a WPA2-Enterprise SSID. First, we will configure the 5GHz antenna.
Click on Wifi-1-1 → Access SSID Config. From the Configuration for SSID dropdown, select the
1 entry. Modify the fields like the following:
▪ Type: Broadcast
When done click Apply. Repeat the same configuration for the 2.4GHz Antenna (Wifi-1-2).
That should conclude the configuration. You can now save the configs to the flash by hitting the
Config Save button on top of the Interface.
Brocade
RF Switches
See the Motorola RF Switches documentation.
Cambium
cnPilot E410
802.1X
To setup the Cambium cnPilot E410 AP to use 802.1x, first, you need to already have configured
the VLANs that will be used in the AP under Configure → Network. Make sure that in Configure →
Network → Ethernet Ports, the port is configured to Trunk Multiple VLANs, and the list of VLANs
are allowed.
Next, go to Configure → WLAN, and click on Add WLAN. Give it the desired ID, and enter your
SSID, default VLAN, and select WPA2 Enterprise for Security.
In the RADIUS Server tab, enter the management IP address of PacketFence (VIP in case of a
cluster) and the Radius secret for Authentication and Accounting servers.
Check the Dynamic Authorization and Dynamic VLAN boxes and save.
MAC Authentication
To enable MAC authentication in the Cambium E410, go to Configure → WLAN, select your WLAN,
set the Security to open and click on the tab Access.
In the MAC Authentication section, select Radius as the policy, and check the box for Password to
use the MAC address as the password in the Radius request. Click on Save.
Web Authentication
To enable Web Authentication, go to your WLAN in Configure → WLAN, create a new WLAN with
open Security, and click on the tab Guest Access to set the following:
Click Save.
In the Add Whitelist section, add the IP address or domain name of your PacketFence server, then
save.
On PacketFence web admin, in the Switch configuration for your AP, Roles tab, check Role by Web
Auth URL box, and enter http://_IP_ADDRESS_OF_PACKETFENCE/Cambium in the registration
field.
Cisco
Caution
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.
Radio Interfaces:
interface Dot11Radio0
encryption vlan 1 mode ciphers aes-ccm
encryption vlan 2 mode ciphers aes-ccm
ssid PacketFence-Public
ssid PacketFence-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
Configure the RADIUS server (we assume here that the FreeRADIUS server and the PacketFence
server are located on the same box):
Aironet 1600
CoA and radius:
Aironet (WDS)
To be contributed...
▪ First, globally define the FreeRADIUS server running on PacketFence (PacketFence’s IP) and make
sure Support for RFC 3576 (also called Support for CoA) is enabled. When the option is missing
from your WLC, it is enabled by default.
▪ In the secure SSID, make sure 802.1X is enabled and select the appropriate encryption for your
needs (recommended: WPA + WPA2)
▪ No layer 3 security
▪ VERY IMPORTANT: Allow AAA override (this allows VLAN assignment from RADIUS)
▪ Nothing at level 3
▪ VERY IMPORTANT: Allow AAA override (this allows VLAN assignment from RADIUS)
▪ Finally, in Controller > Interfaces tab, create an interface per VLAN that could be assigned
Warning
When creating interfaces, it’s important to configure DHCP servers. Otherwise, WLC
will block DHCP requests.
In this sample configuration, the captive portal uses the IP address 172.16.0.250, the administration
interface uses the IP address 172.16.0.249 and the WLC uses the IP address 172.16.0.248. The
DHCP and DNS servers are not managed by PacketFence (WLC DHCP Server, Production DHCP
Server)
▪ First, globally define the FreeRADIUS server running on PacketFence (PacketFence’s Administra-
tion Interface) and make sure Support for RFC 3576 is enabled (if not present it is enabled by
default)
Note
On more recent controllers, the value Radius NAC in the NAC State setting will be called
ISE NAC.
▪ Then you have to create two ACLs - one to deny all traffic except the required one to hit the
portal (Pre-Auth-For-WebRedirect ) and the other one to allow anything (Authorize_any) .
▪ Then the last step is to configure the WLC in PacketFence. Role by Web Auth URL
Role definition
In this section we will cover the WLC configuration and the PacketFence configuration.
WLC Configuration:
▪ First, globally define the RADIUS server running on PacketFence (PacketFence’s IP) and make
sure Support for RFC 3576 (also called Support for CoA) is enabled. When the option is missing
from your WLC, it is enabled by default.
PacketFence Configuration:
▪ First because there is no way to detect in the RADIUS request that the request is for an SSID
configured for IPSK, you need to configure PacketFence to trigger IPSK on a connection profile. To
do that, create a new connection profile, set a Filter based on the SSID (Example SSID PSK_SSID),
enable IPSK and set a default PSK key. So each time a device will connect on this specific SSID
PacketFence will know that it has to answer with specific VSA attributes.
▪ Second step is to associate the device to a user, you have two ways to do it, the first one is to
manually edit an user and in Miscellaneous tab fill the PSK entry (8 characters minimum) then
edit a node and change the owner with the one you just edit before. The second way to associate
the device is to use a provisioner. There are also 2 ways to do it, use the "IPSK" provisioner (it
will show you a page on the portal with the PSK key to use and the SSID to connect to, or use
the "Windows/Apple Devices/Android" provisioner and configure it to do IPSK.
Device Sensor
When using a Cisco WLC, you can enable device sensor by making sure the configuration looks
like the following screenshot:
Note
Please refer to the wired configuration of Cisco equipment to learn more about device
sensor.
CoovaChilli
This section has been created in order to help setting up a consumer grade access point running
CoovaChilli integration with PacketFence to use UAM capabilities along with PacketFence feature
set.
Assumptions
▪ You have a CoovaChilli capable access point running LEDE/OpenWRT, on which CoovaChilli is
installed (CoovaChilli installation is not covered in this guide);
▪ A working PacketFence server, a CoovaChilli capable access point, and Internet is functional;
These instructions assume that CoovaChilli is installed on the access point. If it’s not, we suggest
you search relevant information on the Internet to install CoovaChilli as there are too many network
equipment vendors that support CoovaChilli to accurately document this step here.
These instructions also assume that you have an SSID configured on the access point. Assumption
is also made that the network interface / bridge is configured and assigned for the given SSID.
You should also make sure to have a default route properly configured on the access point (so that
it can access the Internet) and that DNS resolution is working.
Also note that changes on the OpenWRT access point are done using SSH shell access.
Please note that any interface name reference might be different from one equipment vendor to
an other.
Configure chilli
chilli configuration might differ from one equipment vendor to an other one. Just make sure to
follow these configuration guidelines and you should be all-set.
/etc/config/chilli
A startup script might be required depending on the equipment vendor. Again, a quick documen-
tation search on the Internet might be the best solution to find the best one
Once set up, you might want to activate chilli at boot (by using the startup script) and finally, reboot
the AP.
To do so, login to the PacketFence web administration interface if it is not already done.
Switch configuration
Click on the Configuration tab and select the Switches menu option under the NETWORK section
on the left hand side.
On the bottom of the page, click the Add switch to group button then select the default to bring up
the New Switch configuration modal window.
Definition tab
RADIUS tab
Click Save
Portal configuration
It is required to disable HTTPS redirection by clicking the Configuration tab and then the Captive
portal menu option on the left hand side. Make sure Secure redirect is unchecked.
D-Link
Note
To be contributed…
Extricom
You first need to configure you RADIUS server. This is done under the: WLAN Settings → RADIUS
tab. Enter the PacketFence RADIUS server information. For the ESSID configuration. in the admin-
istration UI, go to WLAN Settings → ESSID definitions. Create the profiles per the following:
Public SSID
Secure SSID
The final step is to enable SNMP Agent and SNMP Traps on the controller. This is done under the
following tab in the administrative UI: Advanced → SNMP.
Fortinet FortiGate
This section shows how to configure a 802.1X SSID on a Fortigate 50E running on FortiOS 5.4.
You will need to have the CLI access on the Fortigate to do the configuration.
RADIUS
FGT50E # config user radius
FGT50E (radius) # edit packetfence
new entry 'packetfence' added
FGT50E (packetfence) # set server 192.168.1.5
FGT50E (packetfence) # set secret useStrongerSecret
FGT50E (packetfence) # set nas-ip 192.168.1.1
FGT50E (packetfence) # set radius-coa enable
FGT50E (packetfence) # config accounting-server
FGT50E (accounting-server) # edit 1
new entry '1' added
FGT50E (1) # set status enable
FGT50E (1) # set server 192.168.1.5
FGT50E (1) # set secret useStrongerSecret
FGT50E (1) # end
FGT50E (packetfence) # end
802.1X SSID
FGT50E #config wireless-controller vap
FGT50E (vap) # edit PF-Secure
new entry 'PF-Secure' added
FGT50E (PF-Secure) # edit "PF-Secure"
FGT50E (PF-Secure) # set vdom "root"
FGT50E (PF-Secure) # set ssid "PF-Secure"
FGT50E (PF-Secure) # set security wpa2-only-enterprise
FGT50E (PF-Secure) # set auth radius
FGT50E (PF-Secure) # set radius-server "packetfence"
FGT50E (PF-Secure) # set schedule "always"
FGT50E (PF-Secure) # set local-bridging enable
FGT50E (PF-Secure) # set dynamic-vlan enable
FGT50E (PF-Secure) # end
Introduction
This section will provide an example for the configuration of an open SSID (not encrypted) and a
secure SSID (802.1X). You will need to install wpad and hostapd. These two SSIDs will do RADIUS
authentication against PacketFence. You can not have both SSID configured on the same access
point at the same time, there is a limitation with the DAE server.
Assumptions
▪ You have a configured PacketFence environment with working test equipment
▪ The management IP of PacketFence will be 192.168.1.10 and has s3cr3t as its RADIUS shared
secret
▪ You have an access point with OpenWrt Chaos Calmer 15.05 installed
Quick installation
Packages Installation
You can install the packages from the web interface of OpenWrt.
Go to System → Software
First update the repos by clicking the button Update lists if it’s not up to date.
Then you will have to install the packages of Hostapd and wpad.
Go to the tab Available packages and then search for the package hostapd into the Filter: field.
Note
You will need the packages hostapd-common and wpad if they are not installed by
default.
* wlan0.#
Hostapd Configuration
You will need to modify the hostapd script that comes with the package that we previously installed.
cd /lib/netifd/
mv hostapd.sh hostapd.sh.old
opkg install curl
curl --insecure https://github.com/inverse-inc/packetfence/tree/devel/addons/
hostapd/hostapd-15.05.sh > hostapd.sh
wifi
config wifi-iface
option device 'radio0'
option mode 'ap'
option vlan_file '/etc/config/hostapd.vlan'
option vlan_tagged_interface 'eth0'
option vlan_naming '0'
option dynamic_vlan '2'
option auth_port '1812'
option auth_server '192.168.1.10'
option auth_secret 's3cr3t'
option acct_port '1813'
option acct_server '192.168.1.10'
option acct_secret 's3cr3t'
option dae_port '3799'
option dae_client '192.168.1.10'
option dae_secret 's3cr3t'
option nasid 'Lobby'
option encryption 'wpa2'
option ssid 'OpenWRT-Secure'
In order to apply this configuration, when you are connected using SSH on the AP, run the command
wifi. It will reload the configuration and broadcast the SSID. If you want to debug, you can use the
command logread.
Note
It’s known that you can’t put 2 SSIDs with the same dae server at the same time. The
deauthentication will not work on the second SSID.
PacketFence Configuration
Log in to the PacketFence administration web page and go under Configuration → Policies and
Access Control → Switches → Add switch.
Definition:
Roles:
RADIUS:
Troubleshoot
There are few things you can do/check to see if your configuration is working.
To check if your configuration (depend on the equipment) is correctly set into the Hostapd config-
uration file: cat /var/run/hostapd-phy0.conf
Huawei
AC6605 Controller
PacketFence supports this controller with the following technologies:
▪ Wireless 802.1X
Controller configuration
Setup NTP server:
<AC>system-view
[AC] ntp-service unicast-server 208.69.56.110
Note
In this configuration I will use the ip address of the VIP of PacketFence: 192.168.1.2;
Registration VLAN : 145, Isolation VLAN : 146
<AC>system-view
[AC] radius-server template radius_packetfence
[AC-radius-radius_packetfence] radius-server authentication 192.168.1.2 1812
weight 80
[AC-radius-radius_packetfence] radius-server accounting 192.168.1.2 1813 weight 80
[AC-radius-radius_packetfence] radius-server shared-key cipher s3cr3t
[AC-radius-radius_packetfence] undo radius-server user-name domain-included
[AC-radius-radius_packetfence] quit
[AC] radius-server authorization 192.168.1.2 shared-key cipher s3cr3t server-group
radius_packetfence
[AC] aaa
[AC-aaa] authentication-scheme radius_packetfence
[AC-aaa-authen-radius_packetfence] authentication-mode radius
[AC-aaa-authen-radius_packetfence] quit
[AC-aaa] accounting-scheme radius_packetfence
[AC-aaa-accounting-radius_packetfence] accounting-mode radius
[AC-aaa-accounting-radius_packetfence] quit
<AC>system-view
[AC] dot1x enable
Configure AP parameters:
Configure radios for APs:
[AC] wlan
[AC-wlan-view] wmm-profile name huawei-ap
[AC-wlan-wmm-prof-huawei-ap] quit
[AC-wlan-view] radio-profile name huawei-ap
[AC-wlan-radio-prof-huawei-ap] radio-type 80211gn
[AC-wlan-radio-prof-huawei-ap] wmm-profile name huawei-ap
[AC-wlan-radio-prof-huawei-ap] quit
[AC-wlan-view] ap 1 radio 0
[AC-wlan-radio-1/0] radio-profile name huawei-ap
Warning: Modify the Radio type may cause some parameters of Radio resume defaul
t value, are you sure to continue?[Y/N]: y
[AC-wlan-radio-1/0] quit
Configure a security profile named huawei-ap. Set the security policy to WPA authentication, au-
thentication method to 802.1X+PEAP, and encryption mode to CCMP:
Configure service sets for APs, and set the data forwarding mode to direct forwarding:
[AC-wlan-view] ap 1 radio 0
[AC-wlan-radio-1/0] service-set name PacketFence-dot1x
[AC-wlan-radio-1/0] quit
[AC-wlan-view] commit ap 1
<AC>system-view
[AC] mac-authen
[AC] mac-authen username macaddress format with-hyphen
[AC] mac-authen domain your.domain.com
Configure AP parameters:
Configure a security profile named huawei-ap-wep. Set the security policy to WEP authentication.
[AC]wlan
[AC-wlan-view] security-profile name huawei-ap-wep
[AC-wlan-sec-prof-huawei-ap-wep] security-policy wep
[AC-wlan-sec-prof-huawei-ap-wep] quit
Configure service sets for APs, and set the data forwarding mode to direct forwarding:
[AC-wlan-view] ap 1 radio 0
[AC-wlan-radio-1/0] service-set name PacketFence-WEP
[AC-wlan-radio-1/0] quit
[AC-wlan-view] commit ap 1
Meraki
To add the AP on PacketFence use the internal IP of the AP.
WebAuth
In this section, we will cover the configuration of the Meraki controller to use Web authentication.
Note
While using the WebAuth mode on the Meraki controller, you need to use "Role map-
ping by Switch Role" and "Role by Web Auth URL" in the tab Roles from the switch
configuration.
Note
It is mandatory that you use the Airespace-ACL-Name as "RADIUS attribute specifying
group policy name".
The switch module to use for this configuration is "Meraki cloud controller V2".
Next, configure the roles for the devices on your network. Go in Network-wide→Group policies, then
you will be able to create policies that can be configured as roles in the switch configuration of
PacketFence. Creation of the policy Guest:
Your configuration for the tab "Roles" in PacketFence will look like the following:
VLAN enforcement
This section will cover how to configure the Meraki WiFI controller to use with VLAN enforcement,
use the configuration in the section WebAuth for the SSID.
In the configuration of PacketFence, use "Role by VLAN ID" and fill your VLANs matching roles.
Switch MS220-8
Note
You should already have one port setup as Uplink, using a mode trunk, with at least
your Registration and Production VLAN allowed on it.
You will need to access the Meraki dashboard to configure your switch. When you reach it you will
need first to create a policy. You can create a "MAC authentication bypass" or a "802.1X" policy.
Depending if you want to authenticate user via dot1x or MAB. You cannot combine both neither use
a fallback mode on the same port, each port with a policy applied will be exclusive to MAB or dot1x.
To access the policy creation go to Switch→Access policies in the Meraki dashboard menu. From
there create a new policy, use the example below to create your policy.
You now need to apply one of your policies to ports. To do so, go to Switch→Switch ports and chose
your options. To add a policy you created earlier, select it in the drop down list in Access policy.
You need to configure the port in "mode access", the default access VLAN is not important if your
VLANs are properly configured on PacketFence.
RADSEC
It is possible to use RADSEC between Meraki and PacketFence in order to perform RADIUS over
TCP and encrypted using TLS. Before performing the steps outlined in this section, make sure you
have a working SSID using normal unencrypted RADIUS by following the steps in the sections above
Then, in order to enable RADSEC, go in your SSID configuration and under RADIUS proxy, select
Use Meraki proxy and save the settings.
After saving, check the RADSEC checkbox and save your settings.
Now, on your PacketFence server, you must add the Meraki CA root to the trusted Certificate Au-
thorities of FreeRADIUS when performing RADSEC. You should download the Meraki CA certifi-
cate from here http://changeme.com/meraki-root.crt and append it to the content of /usr/local/pf/
raddb/certs/ca.pem on your PacketFence server.
Note
RADSEC is done over port 2083 so make sure your server is available via a public IP
address for this port and allows connections from your Meraki cloud controller. Refer
to the Meraki documentation for details.
Mikrotik
This 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 PacketFence switch configuration.
Also don’t forget to use the pf account to ssh on the Access Point to receive the ssh key.
Open SSID
In this setup we use the interface ether5 for the bridge (Trunk interface) and ether1 as the man-
agement interface.
/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=useStrongerSecret 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 PacketFence.
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/Mikrotik" 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 Pack-
etFence 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
Next, you need to allow access to the PacketFence portal in the hotspot access list. Change
192.168.1.5 with the IP address you pointed to in login.html
Now, you will also need to configure the hotspot to point to your PacketFence RADIUS server:
/radius
add address=192.168.1.5 secret=useStrongerSecret service=hotspot
Next, you need to configure PacketFence to use webauth for this Access Point using the follow-
ing switches.conf configuration. Change AP_IP_ADDRESS_HERE by the IP address you’ve put in lo-
gin.html.
[AP_IP_ADDRESS_HERE]
VlanMap=Y
RoleMap=N
mode=production
ExternalPortalEnforcement=Y
type=Mikrotik
radiusSecret=useStrongerSecret
registrationVlan=-1
HP
Meru
If you are running a WPA2 SSID, you may need to disable PMK caching in order to avoid deauthen-
tication issues. This is true if you are running AP 300s using any 5.0 versions including 5.0-87, or
any versions below 4.0-160.
Here are the commands to run to disable the PMK caching at the AP level. First, login the AP, and
run this command to see which radios are broadcasting your SSID. vap display
Second, disable the PMK caching on those radios. radio pmkid radio00 disable
You can also add those commands to the AP bootscript. Contact your Meru support representative
for that part.
VLAN Definition
Here, we create our PacketFence VLANs for client use. Go to Configuration → Wired → VLAN,
and select Add.
▪ Leave the DHCP server IP address and the DHCP relay Pass-Through to default
Here, we create our PacketFence RADIUS server for use. Under Configuration → Security → Ra-
dius, select Add.
▪ Give the RADIUS IP, RADIUS Secret and the RADIUS authentication port
Here, we create our PacketFence RADIUS server for use. Under Configuration → Security → Ra-
dius, select Add.
▪ Give the RADIUS IP, RADIUS Secret and the RADIUS accounting port
Here, we create our wireless security profiles for use. Under Configuration → Security → Profile,
select Add.
MAC Filtering
When using the OpenSSID, you need to activate the mac filtering. Under Configuration → Mac
Filtering:
Here, we create our wireless security profiles for use. Under Configuration → Security → Profile,
select Add.
WLAN SSIDs
Here, we create our SSID and tie it to a security profile. Under Configuration → Wireless → ESS,
select Add.
▪ Select your PacketFence RADIUS Accounting Profile (if you want to do accounting)
Click OK to create the SSID. Repeat those steps for the open and secure SSID by choosing the
right security profile.
▪ The rule is applied to the controller physical interface right away, so make sure you are not too
wide on your ACL to lock you out!
▪ The rules are grouped using the Firewall Filter ID (We will use this ID for the roles)
So, since the matching is done using the Firewall Filter ID configuration field, your roles line in
switches.conf would look like :
roles=Guests=1;Staff=2
Note
You need to have the Per-User Firewall license in order to benefit this feature.
Mojo Networks
PacketFence supports SSIDs configured with 802.1X and Web Authentication
▪ Go to Wireless Manager
Click on Save.
▪ Go to Wireless Manager
▪ Then click on Configuration → Device Configuration → SSID Profiles → Add a new Profile →
WLAN
Note
(Leave the default configuration for the other settings)
RADIUS Authentication
Primary Authentication Server: PacketFence RADIUS profile created above.
Web Authentication
To enable the external captive portal, go to the SSID Profiles page in Device Configuration. Add a
new Wi-Fi profile with the following attributes:
Captive Portal: select and fill in External Splash Page with RADIUS Authentication
with “http://IP_OR_HOSTNAME_OF_PACKETFENCE/Mojo” and the RADIUS shared secret.
Click on *RADIUS Settings* to select PacketFence as authentication and accounting
server.
On the right, add the IP address or hostname of PacketFence to the Walled Garden
Sites.
▪ Then Radio Settings → Define settings for model → Chose your AP model
▪ Finally Radio 1 - 2x2 b/g/n Configuration → Add SSID Profile → Select your SSID profile pre-
viously created(802.1X or Web authentication profile) → Ok
Add a Switch with the IP address of the Access Point (AP) with the following configuration:
Definition:
IP Address/MAC Address/Range (CIDR): Local IP of the AP
Description: Mojo Networks Access Point
Type: Mojo Networks AP
Mode: Production
Switch Group: None
Deauthentication Method: RADIUS
Use CoA: Checked
Roles:
Role by VLAN ID: Checked
registration: 2
isolation: 3
guest: 5
default: 1
Radius:
Secret Passphrase: useStrongerSecret
Web Authentication
Add a switch with the IP address fo the Access Point (AP) with the following configuration:
Definition:
IP Address/MAC Address/Range (CIDR): Local IP of the AP
Description: Mojo Networks Access Point
Type: Mojo Networks AP
Mode: Production
Switch Group: None
Deauthentication Method: RADIUS
Use CoA: Checked
Roles:
Uncheck Role by VLAN ID
Radius:
Secret Passphrase: useStrongerSecret
Important
Clone the newly created switch and enter 192.0.2.254 or the MAC address of the AP.
Motorola
In order to have the Motorola RFS controller working with PacketFence, you need to define two
Wireless LANs definition, one for the "public" network, and one for the "secure" network.
▪ Host: Choose IP Address in the drop down, and put the RADIUS server (PF) IP
Caution
Since we are using RADIUS Dynamic Authorization, we need to enable the RADIUS
accounting. Under the RADIUS accounting tab, click the Add button at the bottom
right, and insert the proper values.
Open SSID
Under Configuration → Wireless → Wireless LANs, click on the Add button at the bottom right.
Under Basic Configuration:
Security configuration:
▪ Select MAC as authentication type
Accounting configuration:
▪ Make sure you select "Enable RADIUS Accounting"
Advanced configuration:
▪ Make sure you select RADIUS Dynamic Authorization
Secure SSID
Under Configuration → Wireless → Wireless LANs, click on the Add button at the bottom right.
Under Basic Configuration:
Security configuration:
▪ Select EAP as authentication type
Accounting configuration:
▪ Make sure you select "Enable RADIUS Accounting"
Advanced configuration:
▪ Make sure you select RADIUS Dynamic Authorization
Profile (Management)
Here, we can configure our SNMP community strings. Located in Configuration → Management →
Management Policy. Again, you can modify the default one, or you can create a brand new Policy.
VLANs
You need to ensure that the uplink interface of the controller is configured as a trunk, and that all
the necessary VLANs are created on the device. This is configured under Device → rfsXXXX-MAC
(where XXXX is your controller series, and MAC is the latest 3 octets of its mac address). Edit the
device configuration, and go to Interface → Ethernet Ports. Ensure that the up1 interface is set as
trunk, with all the allowed VLANs. Next, create the VLAN under Interface → Virtual Interfaces.
roles=CategoryGuests=Guests;CategoryStaff=Staff
Finally, don’t forget to configure the appropriate firewall rules for your Roles! Make sure also to
commit the configuration upon your changes.
Note
You need to have an Advanced Security license to enable the Per-User Firewall feature.
WIPS
In order to enable the WIPS functionality on the Motorola, you need to follow this procedure. The
steps have been done using the CLI.
wips-policy Rogue-AP
history-throttle-duration 86400
event ap-anomaly airjack
event ap-anomaly null-probe-response
event ap-anomaly asleap
event ap-anomaly ad-hoc-violation
event ap-anomaly ap-ssid-broadcast-in-beacon
event ap-anomaly impersonation-attack
ap-detection
event-system-policy PF-WIDS
event wips wips-event syslog off snmp on forward-to-switch off email off
Next, create or adjust your management policy to configure the SNMP traps. Here is an example
policy, please note the two last lines:
management-policy default
no http server
https server
ssh
user admin password 1
e4c93663e3356787d451312eeb8d4704ef09f2331a20133764c3dc3121f13a5b role superuser
access all
user operator password 1
7c9b1fbb2ed7d5bb50dba0b563eac722b0676b45fed726d3e4e563b0c87d236d role monitor
access all
no snmp-server manager v3
snmp-server community public ro
snmp-server community private rw
snmp-server user snmpoperator v3 encrypted des auth md5 0 operator
snmp-server user snmptrap v3 encrypted des auth md5 0 motorola
snmp-server user snmpmanager v3 encrypted des auth md5 0 motorola
snmp-server enable traps
snmp-server host 10.0.0.100 v2c 162
You then need to tell your controller to use the event policy:
rfs6000 5C-0E-8B-17-F2-E3
...
use event-system-policy PF-WIDS
Finally, you need to configure a radio interface on your AP to act as a sensor. Here is an example
configuration for a dual-radio AP650:
ap650 00-23-68-86-EB-BC
use profile default-ap650
use rf-domain default
hostname ap650-86EBBC
country-code ca
use wips-policy Rogue-AP
interface radio1
rf-mode sensor
channel smart
power smart
data-rates default
no preamble-short
radio-share-mode off
interface radio2
...
Ruckus
AAA Servers
We need to define the RADIUS and RADIUS accounting (mandatory):
Under Configuration → AAA Servers, click on the Create New button. Enter the proper configu-
ration:
▪ Hit OK
Repeat the steps for the RADIUS and RADIUS accounting types. We need 1 definition for each
otherwise RADIUS dynamic authorization won’t work.
WLAN Definitions
Under Configuration → WLAN, click on the Create New button. Enter the proper configuration:
Open SSID
▪ Enter a Name/SSID
Note
The Open SSID does NOT support dynamic VLAN assignments (Firmware 9.3.0.0.83)
Secure SSID
▪ Enter a Name/SSID
WIPS
To enable the WIPS feature of the Ruckus in order to send SNMP traps to PacketFence, the setup
is fairly simple.
First, configure the controller to send the traps to PacketFence. Under Configure > System > Net-
work Management > SNMP Trap:
*Select "Enable SNMP Trap" *Put the PacketFence Management IP in the Trap Server IP field
Note
The traps will arrive with the "public" community string
Next, you need to configure the Alarm Settings. Under Configure > Alarm Settings, make sure the
following are selected:
Finally, enable the WIPS feature on the controller. Under Configure > WIPS > Intrusion Detection
and Prevention, make sure both box are selected, click Apply.
Web Authentication
In order to use PacketFence as an external captive portal for web authentication, you will need to
configure first your RADIUS authentication and accounting server (see steps above).
Hotspot configuration
Configure the Hotspot service profile to redirect devices to your PacketFence portal. Go on the
ZoneDirector administration web page to the section Configure→Hotspot Services→Create New
WLAN configuration
Go to Configure→WLANs→WLANs→Create New
PacketFence configuration
On the ZoneDirector configuration in PacketFence, you will need to specify -1 as the registration
VLAN in order to display the captive portal to the end device.
You will need to deactivate the force secure redirect on the captive portal under Configura-
tion→Captive Portal→Secure redirect→Unchecked
The captive portal needs to listen on the management interface, so you will need to add the portal
daemon to the management interface under Configuration→Interfaces→Management Interface
Example:
[interface eth0]
ip=192.168.1.5
type=management,portal
mask=255.255.255.0
To apply the configuration, restart PacketFence using the following command: service packetfence
restart
Ruckus Roles
Roles Configuration
Ruckus allows you to define roles. These roles link all users to the internal WLAN and permit access
to all WLAN by default. You can still limit access to certain WLAN.
1 - Go to Admin & Services > System > Roles. The Roles page appears, displaying a
Default role in the Roles table.
2 - Click Create New.
3 - Enter a Name and a short Description for this role.
4 - Choose the options for this role from the following:
Group Attributes: Fill in this field only if you are creating a user role based
on Group attributes extracted from an Active Directory server. Enter the User
Group name here. Active Directory/LDAP users with the same group attributes are
automatically mapped to this user role.
Allow All WLANs: You have two options: (1) Allow Access to all WLANs, or (2)
Specify WLAN Access. If you select the second option, you must specify the WLANs
by clicking the check box next to each one.
PacketFence Configuration
On the PacketFence side you need to use role by switch role and add the Group Attribute you
created on the Ruckus side.
So when a device will connect on the SSID, PacketFence will return a VLAN identifier and a
RuckusUserGroup attribute and if the role is allowed on the WLAN then the device will be autho-
rized on the WLAN. In the case that the role is not allowed on the WLAN then the device will not
be allowed to connect.
Ruckus SmartZone
Webauth
SmartZone configuration
First, you will need to define your RADIUS server in Configuration→Service and Profiles→Authenti-
cation.
Create your server using the following information (where 192.168.1.5 is the IP address of your
PacketFence management interface):
▪ IP Address: 192.168.1.5
▪ Port: 1812
▪ Secret: useStrongerSecret
Then, in Configuration→Service and Profiles→Accounting, create a server with the following informa-
tion:
▪ IP Address: 192.168.1.5
▪ Port: 1813
▪ Secret: useStrongerSecret
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
PacketFence. Also ensure you set Use the controller as a proxy.
Now, you should configure the Northbound API of the SmartZone so PacketFence can communi-
cate with it. In order to do so, go in Configuration→System→Northbound Portal Interface and set the
Password and save it. Keep the password closeby as it will be required for the PacketFence config-
uration. In this example, it will be passwordForNorthboundAPI.
In order to receive the information not encrypted in the URL, you will need to connect on the
Ruckus SmartZone controller using SSH and do the following command:
no encrypt-mac-ip
PacketFence configuration
In PacketFence, add a switch in Configuration→Switches with the following configuration:
▪ Definition→Mode: production
▪ Roles→registration VLAN: -1
Trapeze
In order to have the Trapeze controller working with PacketFence, you need to define the RADIUS
configuration and the proper service profiles.
RADIUS configuration
Service Profiles
Here we define two service profiles, one for the open SSID (PacketFence-Public) and one for the
WPA2-Enterprise SSID (PacketFence-Secure):
AAA configuration
Finally, we need to tie the service profiles with the proper AAA configuration.
Ubiquiti
Web Authentication
Unifi side
In order to configure web authentication (external captive-portal) on Ubiquiti access points, you
must have access to a Unifi controller and your APs must be connected to it.
First, you must configure the guest policy. Go in Settings→Guest Control and configure it as shown
below:
Make sure you enabled Enable Guest Portal, and that you’ve set External portal server.
You also need to enter the IP address of a portal enabled interface on the PacketFence server
in Custom Portal. Then in the ACCESS CONTROL section, add that same IP address to the Pre-
Authorization Access
Then, still in the settings, create or edit a new SSID with the following settings:
You need to ensure STUN protocol is allowed between access points and controller so that con-
troller gets instant notifications from access points. That’s important to have a correct deauthenti-
cation mechanism.
PacketFence side
Once this is done, you will need to define all your APs MAC addresses in the PacketFence switches
with a configuration similar to this:
[00:11:22:33:44:55]
description=Ubiquiti AP
ExternalPortalEnforcement=Y
type=Ubiquiti::Unifi
controllerIp=1.2.3.4
wsTransport=HTTPS
wsUser=admin
wsPwd=admin
Where :
▪ wsTransport is the protocol used to connect to port 8443 of the Unifi controller and should be
HTTPS. This is configured in the Web Services tab of the switch.
▪ wsUser is a valid administrator username on your Unifi controller. This is configured in the Web
Services tab of the switch.
▪ wsPwd is the password that is associated to the wsUser. This is configured in the Web Services
tab of the switch.
▪ controllerIp is the IP address of your Unifi controller. This is configured in the Definition tab of
the switch.
VLAN Enforcement
In order to configure VLAN enforcement on the Unifi controller, you need first to configure a
RADIUS profile, then a secure wireless network.
Important : You cannot reuse a VLAN ID for dynamic VLAN if it is set as a static value for another
SSID on the same AP. So, if you have a SSID set to use VLAN 10, you cannot use VLAN ID 10 for
RADIUS controlled VLAN users as those users will not get an IP address.
Note that VLAN enforcement for an open SSID is not supported yet by the controller and access
point.
AAA Configuration
Secure SSID
There is a special case when you want to be able to deauthenticate a device when it is connected
on the secure SSID.
By default pmksa caching is enabled and applies even when a deauthentication request is sent to
the controller, meaning you will not get a new RADIUS request afterwards. To disable this cache
you will need to create a file on the controller.
First verify the site where your access point is managed. To do this, under the administration inter-
face of the controller, select the appropriate "Current Site" then in the URI check the value just
after site.
config.system_cfg.1=aaa.1.auth_cache=disabled
config.system_cfg.2=aaa.4.auth_cache=disabled
The numbers 1 and 4 are the profile id configured on the access point. To be sure you have the
correct id, you can connect on the access point via SSH or via the debug terminal and do:
Fore additional details, feel free to ask for support directly in the Ubiquiti fo-
rum: https://community.ubnt.com/t5/UniFi-Wireless/Feature-request-disable-pmksa-caching/m-
p/2112479#M257628
Xirrus
First, RADIUS server configuration. Set the RADIUS server to be PacketFence’s IP:
snmp
!
v2
community read-write public
community read-only public
exit
!
exit
Finally, don’t forget to create the SSID you want and the proper bindings with the LAN. Open SSID
should be configured to perform MAC Authentication and Secure SSID should be configured to
perform 802.1X (WPA-Enterprise or WPA2-Enterprise).
▪ Then in in the section Web Page Redirect Configuration set Server to External Login
▪ In the RADIUS Configuration section set the RADIUS server to point to your PacketFence server
VPN Configuration
Cisco ASA
AnyConnect
PacketFence supports Cisco ASA VPN with AnyConnect.
You can force VPN users to authenticate first on the captive portal and based on the role of the
device allow it and/or set dynamic ACL.
In this example we assume that the Cisco ASA have 2 interfaces, one Management (192.168.2.1)
where the VPN is activated and another one Registration (192.168.1.6) that is facing the Packet-
Fence server (192.168.1.5).
Before trying to configure PacketFence with the Cisco ASA first be sure that when you connect
with AnyConnect and when the VPN is up that your device is able to reach Internet.
Additional Information
For more information, please consult the mailing archives or post your questions to it. For details,
see:
For any questions or comments, do not hesitate to contact us by writing an email to: support@in-
verse.ca.
Hourly rates or support packages are offered to best suit your needs.
Commercial Support
Copyright © 2020 Inverse inc. and Contact Information 219
Chapter 10