PacketFence Network Devices Configuration Guide
PacketFence Network Devices Configuration Guide
PacketFence v11.1.0
Version 11.1.0 - October 2021
Table of Contents
5. Switch configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2. 3COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Alcatel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.4. AlliedTelesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.5. Amer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.6. Aruba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.7. Avaya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.8. Brocade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.9. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.12. Dell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.14. Enterasys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.16. Foundry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.17. H3C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.18. HP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.19. HP ProCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.20. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.21. IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.22. Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.23. Juniper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
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: [Link]
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 customizations and instructions for
supporting new equipment.
Installation Guide
Covers installation and configuration of PacketFence.
Upgrade Guide
Covers compatibility related changes, manual instructions and general notes about upgrading.
PacketFence News Covers noteworthy features, improvements and bug fixes by release.
There is no need to follow the instructions in this guide if you plan on deploying in inline
enforcement, 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
various vendors running different versions. Since we want to provide the most accurate
information and avoid duplication of that same information, please refer to our website
[Link]
You’ll find on this page the enforcement modes supported by each and every single piece of
equipment we tested and worked with.
5.1. Assumptions
Throughout this configuration example we use the following assumptions for our network
infrastructure:
• PacketFence is fully configured with FreeRADIUS running (if you want 802.1X or MAC Auth)
• PacketFence IP address: [Link]
• 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
5.2. 3COM
5.2.1. SuperStack 3 Switch 4200 and 4500
PacketFence supports these 3Com switches without VoIP using one trap type:
• linkUp===linkDown
• Port Security (with static MACs)
snmp-agent
snmp-agent target-host trap address udp-domain [Link] params securityname
public
snmp-agent trap enable standard linkup linkdown
In Port Security
snmp-agent
snmp-agent target-host trap address udp-domain [Link] 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
5.2.2. 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
snmp-agent
snmp-agent target-host trap address udp-domain [Link] params securityname
public
snmp-agent trap enable standard linkup linkdown
On each interface:
system-view
radius scheme PacketFence
primary authentication [Link] 1812
primary accounting [Link] 1812
key authentication useStrongerSecret
user-name-format without-domain
quit
domain [Link]
authentication default radius-scheme PacketFence
authorization default radius-scheme PacketFence
quit
domain default enable [Link]
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!
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 [Link] params
securityname public
snmp-agent trap enable standard linkup linkdown
On each interface:
system-view
radius scheme PacketFence
server-type standard
primary authentication [Link] 1812
primary accounting [Link] 1812
accounting optional
key authentication useStrongerSecret
user-name-format without-domain
quit
domain [Link]
radius-scheme PacketFence
vlan-assignment-mode string
quit
domain default enable [Link]
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:
5.2.4. NJ220
This switch does not support port-security.
To configure: use web interface to send the linkUp/linkDown traps to the PacketFence server.
5.3. Alcatel
5.3.1. 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'.
[[Link]]
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.
[[Link]]
VoIPEnabled=Y
voiceRole=voice
5.3.2. OS6860
PacketFence supports this switch using 802.1X, Mac authentication and also supports VoIP.
This documentation is made for Alcatel OS 8.1+. Lower versions do not support
NOTE
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'.
Make sure you enable the redirect on all your roles as the access reevaluation
CAUTION
will not work without it.
Next, configure the switch in PacketFence. In the case of this example, the uplink is port 1/1/1.
[[Link]]
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.
[[Link]]
VoIPEnabled=Y
voiceRole=voice
5.4. AlliedTelesis
5.4.1. AT8000GS
PacketFence supports the AT8000GS switch using :
• MAC Authentication
• 802.1X
• 802.1X + VOIP
Assumptions
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
dot1x system-auth-control
hostname switch-name
ip domain-name [Link]
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:
5.4.2. GS950
PacketFence supports the GS950 switch using :
• MAC Authentication
• 802.1X (without fallback to 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
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 authentication.
packetfence-allied-gs950-mab
5.5. Amer
PacketFence supports Amer switches without VoIP using one trap type:
On each interface:
5.6. Aruba
5.6.1. Aruba 2930M Serie
The Aruba 2930M is supported by PacketFence and it supports MAC Authentication, 802.1X,
Dynamic ACLS and Web Authentication.
MAC Authentication
802.1x
Web Authentication
On the PacketFence side you will need to fill the "Role by Access List" for the registration role:
And the "Role by Web Auth URL" for the registration role:
[Link]
Dynamic ACL
The switch needs to be configure to do MAC Authentication and or 802.1x. Then on the
PacketFence side in the switch roles, enable "Role by Access List" and fill the appropriate role
with the acl you want.
#Uplink configuration
vlan ports 24 tagging tagAll
vlan configcontrol autopvid
Port 1 configuration:
5.8. 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
dot1x-enable
re-authentication
enable ethe 1/1/xx
• Apply the following configuration on each interface you want PacketFence active
Those switches are supported using 802.1X for networks with or without VoIP.
• Authentication configuration
• SNMP configuration
• PacketFence configuration
While configuring the switch in PacketFence, ensure you set at least the following values: *
Definition, 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
Make sure to have a local account in case the switch can not reach the
NOTE
PacketFence server
5.9. 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
802.1X
Make sure that you have a local account, because enabling 802.1X or MAB
WARNING
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 [Link] 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
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
(0200.0000.00xx):
NOTE
• Fa0/1, …, Fa0/48 ⇒ 1, …, 48
• Gi0/1, Gi0/2 ⇒ 49, 50
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
CAUTION "Deauthentication Method" to "SNMP" in PacketFence Administration GUI
under Configuration → Policies and Access Control → Network Devices →
Switches for the switch IP configured below.
Global settings:
dot1x system-auth-control
aaa new-model
aaa group server radius packetfence
server [Link] 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:
5.9.4. 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
([Link]):
NOTE
• Fa0/1…Fa0/48 → 10001…10048
• Gi0/1…Gi0/48 → 10101…10148
Since version PacketFence 2.2.1, the way to handle VoIP when using port-security dramatically
changed. Ensure that you follow the instructions below. To make the story short, instead on
relying on the dynamic MAC learning for VoIP, we use a static entry on the voice VLAN so we can
trigger a new security violation, and then authorize the phone MAC address on the network.
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
([Link]):
NOTE
• Fa0/1…Fa0/48 → 10001…10048
• Gi0/1…Gi0/48 → 10101…10148
Make sure that you have a local account, because enabling 802.1X or MAB
WARNING
will ask for a username and password on the next login.
When doing 802.1X and network interface teaming on the same switch or
stack, you might consider using the mac-move feature of the Cisco switches.
When you authenticate the primary link of the team, the virtual MAC
address will be published and authorized on the switchport. When
something breaks on that link (ie. cable disconnected), the teaming driver will
publish the MAC address on the secondary link, and the switch will try to
authorize it. However, since the switch already has the MAC address in a
WARNING session on another switchport, the switch will put the secondary link into
err-disabled mode.
To prevent this behavior, you need to tell the switch to allow MAC address
movements between ports. The global command is the following:
Global settings:
CoA configuration
On each interface:
On each interface:
On each interface:
On each interface
Port-Security
ifIndex mapping
Use the following templates for interface IfIndex in bogus MAC addresses
([Link]):
NOTE
• 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
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.
If for example the 'default' category uses the network [Link]/24 and your guest network
uses the network [Link]/24.
You can prevent communications between both networks using these access lists
It’s possible to mix web authentication and downloadable ACLs starting from version 12.2 of the
IOS, each roles can be configured to forward the device to the captive portal for an http or an
https and only allow specific traffic with the ACL. To do that, you need to configure PacketFence
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
5.9.6. Stacked 29xx, Stacked 35xx, Stacked 3750, 4500 Series, 6500 Series
The 4500 Series and all the stacked switches work exactly the same way as if they were not
stacked so the configuration is the same: they 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.
• Fa1/0/1…Fa1/0/48 → 10001…10048
• Gi1/0/1…Gi1/0/48 → 10101…10148
• Fa2/0/1…Fa2/0/48 → 10501…10548
NOTE
• 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
• …
dot1x system-auth-control
On each interface:
CoA configuration:
802.1X only
Follow the same configuration as for MAC Authentication Bypass but change the
authentication priority line with the following:
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
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
NOTE
XE. A workaround is to execute the following command no aaa accounting
system default start-stop group tacacs+.
Starting from version 15.2(1)E (IOS) and 3.4.0E (IOSXE) , Cisco introduced the Identity Based
Networking Services. It means that you can create an authentication workflow on the switch and
create interfaces templates.
To enable it:
dot1x system-auth-control
CoA configuration:
ip http server
ip http secure-server
ip device tracking
Fallback ACL:
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
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
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:
On uplink interfaces:
PacketFence supports the 1800 series Router with linkUp / linkDown traps. It cannot do anything
about the router interfaces (ie: fa0 and fa1 on a 1811). VLAN interfaces ifIndex should also be
marked as uplinks in the PacketFence switch configuration as they generate traps but are of no
interest to PacketFence (layer 3).
On each interface:
Here is an official Cisco guide, from which the following configuration derives:
[Link]
[Link]
Authenticator
Global settings:
Uplink configuration:
interface FastEthernet0/20
switchport mode access
authentication port-control auto
dot1x pae authenticator
Supplicant
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
endpoint 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.
You must first define your RADIUS server and point it to PacketFence:
dot1x system-auth-control
radius-server key useStrongerSecret
radius-server host [Link]
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
Once you have configured your switchports, you must configure the switch in PacketFence with
the following information:
show dot1x
show dot1x users
5.11. D-Link
PacketFence supports D-Link switches without VoIP using two different trap types:
• linkUp/linkDown
• MAC Notification
To be contributed...
On each interface:
To be contributed...
5.11.2. 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:
5.12. Dell
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
NOTE 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/[Link] to
default_eap_type = md5.
5.12.1. Force 10
PacketFence supports this switch using RADIUS, MAC-Authentication and 802.1X.
configure
radius-server host auth [Link]
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
authentication 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 [Link] server-key "useStrongerSecret"
exit
radius-server host auth [Link]
name "PacketFence"
usage 802.1x
key "useStrongerSecret"
exit
aaa server radius dynamic-author
client [Link] server-key "useStrongerSecret"
exit
Uplink port:
Web-Auth:
ip access-list registration
1000 deny ip any [Link] [Link]
1010 permit tcp any any eq http
1020 permit tcp any any eq 443
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
5.13.2. 4510
Basic configuration
5.14. Enterasys
PacketFence supports Enterasys switches without VoIP using two different trap types:
• linkUp/linkDown
• MAC Locking (Port Security with static MACs)
5.14.1. 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.
5.14.2. SecureStack C2
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
On each interface:
5.14.3. 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:
5.14.4. Standalone D2
linkUp/linkDown traps are enabled by default so we disable them and enable MAC locking only.
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
CAUTION
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:
• linkUp/linkDown
• MAC Address Lockdown (Port Security)
• Netlogin - MAC Authentication
• Netlogin - 802.1X
• Netlogin - web authentication
• RADIUS authentication for CLI access
linkUp/linkDown traps are enabled by default so we disable them and enable MAC Address
Lockdown only.
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.
CoA configuration
MAC Authentication
SNMP configuration
AAA Configuration
802.1X
SNMP configuration
AAA Configuration
Netlogin (802.1X)
Next, in PacketFence, enable 'Role by Switch Role' in your switch configuration and assign the
policies to the roles there. They will be returned inside the Filter-Id attribute.
Make sure you use the 'Extreme EXOS' type for your switch to use this feature.
Web authentication
SNMP configuration
AAA Configuration
Web-auth profile
Next, in the switch configuration in PacketFence, enable 'External Portal Enforcement' and 'Role
by Switch Role'. Under the 'registration' role, put 'Unregistered'
Make sure you use the 'Extreme EXOS' type for your switch to use this feature.
Configure RADIUS server IP address as primary server and the switch IP address as the client-ip.
Be sure to specify the correct virtual router
5.16. Foundry
5.16.1. FastIron 4802
PacketFence support this switch with optional VoIP using two different trap types:
• linkUp/linkDown
• Port Security (with static MACs)
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 [Link] <mac-detection-vlan>
secure [Link] <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.
802.1X
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
Since using MAC Authentication as a fallback of 802.1X, use the previous 802.1X configuration
and add the followings.
Global configuration:
Interfaces configuration:
mac-authentication guest-vlan 5
port-security port-mode userlogin-secure-or-mac
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:
5.18. HP
5.18.1. HPE 1910 Serie
The HP 1910 Serie is based on the 3Com OS and most of the configuration will be done from
the GUI.
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,
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
5.19. HP ProCurve
PacketFence supports ProCurve switches without VoIP using two different trap types:
• linkUp/linkDown
• Port Security (with static MACs)
HP ProCurve only sends one security trap to PacketFence per security violation
so make sure PacketFence runs when you configure port-security. Also, because
NOTE
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
documentation.
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
administrative access. Refer to the Administration Guide for more details.
linkUp/linkDown traps are enabled by default so we disable them and enable Port Security only.
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:
In order to enable RADIUS mac authentication on the ports, you first need to join the ports to
either the registration or the mac detection vlan (as a security measure).
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:
5.19.3. 2610
802.1X
Configure authentication:
linkUp/linkDown traps are enabled by default and we have not found a way yet to disable them
so do not forget to declare the trunk ports as uplinks in the switch config file.
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.
In order to have MAC Authentication working with VoIP, you need to ensure that the Voice VLAN
is tagged on all the port first. You also need to activate lldp notification on all ports that will
handle VoIP. Finally, make sure to change the value of the $VOICEVLANAME variable in the
Procurve 5400 module’s source code.
Same as MAC Authentication, you need to ensure that the Voice VLAN is tagged on all the port
first if using 802.1X. You also need to activate lldp notification on all ports that will handle VoIP.
Finally, make sure to change the value of the $VOICEVLANAME variable in the Procurve 5400
module’s source code.
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:
• 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.
The 'default' role uses the network [Link]/24 and 'guest' uses the network
[Link]/24.
You can prevent communications between both networks using these access lists
5.20. Huawei
PacketFence supports the S5710/S5720/S5735 switch from Huawei.
dot1x enable
mac-authen
dot1x dhcp-trigger
aaa
authentication-scheme abc
authentication-mode radius
accounting-scheme abc
accounting-mode radius
service-scheme abc
domain pf
authentication-scheme abc
accounting-scheme abc
service-scheme abc
radius-server packetfence
snmp-agent
snmp-agent local-engineid 800007DB0304F9389D2360
snmp-agent community read cipher <privateKey>
snmp-agent community write cipher <privateKey>
snmp-agent sys-info version v2c v3
5.20.2. SNMPv3
interface GigabitEthernet0/0/8
dot1x mac-bypass mac-auth-first
dot1x mac-bypass
dot1x max-user 1
dot1x reauthenticate
dot1x authentication-method eap
5.20.4. 802.1X
interface GigabitEthernet0/0/8
dot1x mac-bypass
dot1x max-user 1
dot1x reauthenticate
dot1x authentication-method eap
interface GigabitEthernet0/0/2
port link-type hybrid
voice-vlan 100 enable
port hybrid tagged vlan 100
mac-authen
display dot1x
display access-user
display radius-server
test-aaa user password radius-template packetfence pap
RADIUS configuration
SNMP configuration
Port configuration
PacketFence configuration
In order to configure the IBM RackSwitch G8052 switch module, go in the PacketFence
administration interface under Configuration→Switches→Add switch
Definition:
Roles:
Radius:
Snmp:
SNMP Version: 2c
SNMP Read Community: packetfence
SNMP Write Community: packetfence
5.22. Intel
5.22.1. Express 460 and Express 530
PacketFence support these switches without VoIP using one trap type:
• linkUp/linkDown
5.23. 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 {
[Link] {
port 1812;
secret "useStrongerSecret";
}
}
profile packetfence {
authentication-order radius;
radius {
authentication-server [Link];
accounting-server [Link];
}
accounting {
order radius;
accounting-stop-on-failure;
accounting-stop-on-access-deny;
}
}
}
snmp {
name "EX 4200";
description juniper;
location EX;
contact "email@[Link]";
client-list list0 {
[Link]/32;
}
community public {
authorization read-only;
client-list-name list0;
}
community private {
authorization read-write;
client-list-name list0;
}
}
Ctrl-D
# commit comment "packetfenced"
Change the interface-range statement to reflect the ports you want to secure with
PacketFence.
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"
protocols {
dot1x {
authenticator {
authentication-profile-name packetfence;
interface {
access-ports {
supplicant multiple;
mac-radius {
restrict;
}
}
}
}
}
}
Ctrl-D
# commit comment "packetfenced mac auth"
access-ports {
supplicant multiple;
mac-radius {
restrict;
}
}
}
}
}
}
Ctrl-D
# commit comment "configured for floating devices"
flap-on-disconnect option takes effect only when the restrict option is also
NOTE
set.
• linkUp / linkDown
• Port Security (with static MACs)
On some recent models, we can also use more secure and robust features, like:
• MAC Authentication
• 802.1X
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
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.
5.25. Linksys
PacketFence supports Linksys switches without VoIP using one trap type:
• linkUp/linkDown
5.25.1. SRW224G4
Global config settings
On each interface
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
community 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.
Under Advanced → Advanced Security → Trusted MAC Address, create a fake MAC address per
port (ie. [Link]xx where xx is the port number). This will have the effect of sending a
security trap to PacketFence when a new device plugs on the port.
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.
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
5.26.3. M Series
PacketFence supports the Netgear M series in wired MAC authentication without VoIP.
Switch configuration
radius server host auth [Link] radius server key auth [Link] (then press enter and
input your secret) radius server primary [Link] radius server host acct [Link] radius
server key acct [Link] (then press enter and input your secret)
aaa session-id unique dot1x system-auth-control aaa authentication dot1x default radius
authorization 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
5.27. Nortel
PacketFence supports Nortel switches with VoIP using one trap type:
• Mac Security
if you are using a 5500 series with a firmware version of 6 or above, you must
use a different module called Nor[Link] in your
NOTE
/usr/local/pf/conf/[Link]. Indeed, Nortel introduced an incompatible
change of behavior in this firmware.
VoIP support
You need to ensure that all your ports are tagged with the voice VLAN. The switch should do the
rest for you.
5.27.2. BPS2000
You can only configure this switch through menus.
5.28. Pica8
PacketFence supports Pica8 switches without VoIP using CoA to:
• bounce-host-port
• reauthenticate-host
Notes
Global configuration:
5.29. SMC
5.29.1. TigerStack 6128L2, 8824M and 8848M
PacketFence supports these switches without VoIP using two different trap types:
• linkUp/linkDown
• Port Security (with static MACs)
On each interface:
5.30. Ubiquiti
5.30.1. 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 "[Link]" name "PacketFence"
radius server key auth "[Link]"
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 "[Link]" name "PacketFence"
radius server key auth "[Link]"
6.1. Assumptions
Throughout this configuration example we use the following assumptions for our network
infrastructure:
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.
Here are the high-level requirements for proper wireless integration with PacketFence
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 116
• Allow controller to honor VLAN assignments from AAA (sometimes called AAA override)
• Put your open SSID (if any) in MAC-Authentication mode and authenticate against the
FreeRADIUS hosted on 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
pfdhcplistener listens (configurable in [Link] 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
automatically happen, you will need to disconnect / reconnect. An explanation is provided in
introduction section above about this behavior.
You can try modules similar to your equipment if any (read appropriate instructions) or you can
try to see if RFC3576 is supported. RFC3576 covers RADIUS Packet of Disconnect (PoD) also
known as Disconnect Messages (DM) or Change of Authorization (CoA). You can try the Aruba
module if you want to verify if RFC3576 is supported by your hardware.
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.
• the network architecture is in order to give acces to the Aerohive Access Point, and has
access to Internet
• the VLANs are defined for registration, isolation and management networks
• from this documentation, we will assume that the VLANs tags are define like following:
◦ PacketFence Management VLAN: 1 IP address: [Link]
◦ registration VLAN ID 2, subnet [Link]/24
◦ isolation VLAN ID 3, subnet [Link]/24
◦ production VLAN ID 10, subnet [Link]/24
• the VLANs are spanned in the switches and switching L2 equipments, from the Production
Network to the PacketFence server(s)
• the VLANs are allowed in the trunks
• Aerohive Access Point is loaded with HiveOS with version 6 or later
• HiveManager with version 6 or later
• Wireless AP: [Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 117
• RADIUS Secret: useStrongerSecret
• for this example, we assume that we are on the Cloud [Link] 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
◦ SSID Access Security: Open
◦ check the box Enable MAC authentication
• click on Save
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 118
• click on New
◦ SSID Access Security: WPA/WPA2 802.1X (Enterprise)
◦ Key Management; WPA2-(WPA2 enterprise)-802.1X
◦ Encryption method: CCMP (AES)
• click on Save
• from SSID, be sure to have selected both SSIDs previously created, and click OK
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 119
• 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)
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 120
• click on Save
• next to your SSID Name Click on the <RADIUS Setting>, Click OK
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 ;
Isolation ; 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 121
Then, click on Continue, on top right of the page.
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
NOTE 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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 122
• on the line where there is the default, on the right, Click on CLONE
In Definition:
• IP Address/MAC Address/Range (CIDR), give the network address of your Production network;
For us, it will be [Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 123
• Description, give a description so you can quickly see what it is about
• from the Type list, select Aerohive AP
• from Mode select Production
• Switch Group by default set to None
• Deauthentication Method set to RADIUS
• click SAVE
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 124
From Role:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 125
From RADIUS:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 126
6.3.2. Web Auth (External Captive Portal) Configuration
In this section we will describe the WebAuth configuration using PacketFence as an external
captive poral.
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 127
Create a SSID to enable Captive Portal functionality:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 128
Configure and broadcast your SSID:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 129
• under Authentication click on <Captive Web Portal> and select the captive portal previously
configured
• once the <RADIUS Settings> appears under the captive portal, click on it
• on that new window Choose RADIUS click New
• give it a description and a name
• under RADIUS Servers click New
• click on Apply
• click on Optional Settings (not supported by RADIUS Proxy) and check Permit Dynamic Change
of Authorization Messages (RFC 3576)
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 130
• under User Profile , click on Add/Remove and click on New
• enter the profile name, the VLAN ID and create the default VLAN as the same as the attribute
number
• create a new default VLAN, click on the + button
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 131
• click the Save button
• 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 132
6.3.3. MAC Authentication/802.1X and Web Auth Configuration
In this case we want to be able to enable a MAC Authentication/802.1X and Web Auth SSID on
the same wireless equipment. By default it’s not possible to provide a MAC
Authentication/802.1X SSID and a Web Auth SSID with the same switch configuration, but by
using the Switch Filters it will be possible to do it.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 133
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 :
◦ PacketFence Management VLAN: 1 IP address: [Link]
◦ registration VLAN ID 2,subnet [Link]/24
◦ isolation VLAN ID 3, subnet [Link]/24
◦ production VLAN ID 10, subnet [Link]/24
Our SSID will be named YourOpenSSID, assuming that we want to provide a public Internet
hotspot for example.
You should create a new SSID, has explained before, secured or open, as you need.
[SSID]
filter = ssid
operator = is
value = YourOpenSSID
[1:SSID]
scope = radius_authorize
param1 = ExternalPortalEnforcement => Y
param2 = VlanMap => N
Click on SAVE.
PacketFence supports user profiles on the Aerohive equipment. To build a User Profile, go to
Configuration → 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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 134
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.
Since PacketFence 3.3.0, we now support user profiles on the AeroHIVE hardware. To build a
User Profile, go to Configuration → User Profiles, and create what you need. When you define the
switch definition in PacketFence, the role will match the User Profile attribute number. 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.
When installing the Anyfi Gateway, have one interface in trunk mode for the packet bridge. In
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 135
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
}
}
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 136
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
}
}
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 137
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 {
}
}
}
}
6.5. Avaya
6.5.1. Wireless Controller
NOTE To be contributed….
6.6. Aruba
6.6.1. 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 [Link],
tested on a Controller 600 with ArubaOS 6.0 but it should apply to all Aruba models.
If you are already using your Aruba controllers and don’t want to impact your
CAUTION users you should create new AAA profiles and apply them to new SSIDs
instead of modifying the default ones.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 138
Starting with PacketFence 3.3, Aruba supports role-based access control. Read
NOTE 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:
Under Configuration → Authentication → Server Group add a new Server Group named
"packetfence" 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 ([Link]) 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 ([Link]) 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:
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 139
Roles
Since PacketFence 3.3.0, we now support roles for the Aruba hardware. To add roles, go in
Configuration → 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
disable some, you will need to connect via CLI, and run the snmp-server trap disable
<trapname> command.
WebAuth
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 140
aaa authentication-server radius "packetfence"
host [Link]
key useStrongerSecret
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 141
aaa authentication captive-portal "packetfence-externalportal"
default-role auth-guest
redirect-pause 3
no logout-popup-window
login-page [Link]
switchip-in-redirection-url
Now create the policy for the guest access, for example Internet only.
Add the authentication for the Captive Portal Profile via Security → Authentication → L3
Authentication → Captive Portal Authentication Profile → Server Group:
Adjust the configuration of the AAA profile through Security → Authentication → Profiles → AAA
Profiles:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 142
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 143
aaa profile "packetfence-externalportal"
initial-role packetfence-portal
radius-interim-accounting
radius-accounting "packetfence"
rfc-3576-server "[Link]"
netdestination packetfence-portal
host [Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 144
Source NAT on VLAN
firewall allow-tri-session
Now add the newly created policy to the Captive Portal Profile, Security → User Roles:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 145
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 146
wlan virtual-ap "packetfence-externalportal"
ssid-profile "packetfence-externalportal"
aaa-profile "packetfence"
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 147
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 148
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 149
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 150
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 151
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 152
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 153
The next step will be to configure the Aruba WiFi controller for WebAuth in PacketFence, add the
switch with the model choice Aruba Network,
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 154
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 155
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 156
vlan 2
vlan 3
vlan 5
vlan 10
vlan 66
AAA Profiles
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 157
6.6.3. All Aruba Instant OS
Add your packetfence instance to your configuration:
ip [Link]
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
6.8. Bluesocket
include::networkdevice/[Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 158
6.9. Brocade
6.9.1. RF Switches
See the Motorola RF Switches documentation.
6.10. Cambium
6.10.1. 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 New 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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 159
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 160
• Prefix Query Strings in Redirect URL: check the box
• Redirection URL Query String: check Client IP
• Redirect: check HTTP-only
Click Save.
In the Add Whitelist section, add the IP address or domain name of your PacketFence server,
then save.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 161
On PacketFence web admin, in the Switch configuration for your AP, Roles tab, check Role by
Web Auth URL box, and enter [Link] in the
registration field.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 162
6.11. Cisco
6.11.1. Aironet 1121, 1130, 1242, 1250, 1600
With this equipment, the same VLAN cannot be shared between two SSIDs.
CAUTION 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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 163
dot11 vlan-name normal vlan 1
dot11 vlan-name registration vlan 2
dot11 vlan-name isolation vlan 3
dot11 vlan-name guest vlan 5
interface Dot11Radio0
encryption vlan 1 mode ciphers aes-ccm
encryption vlan 2 mode ciphers aes-ccm
ssid 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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 164
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):
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 165
6.11.2. Aironet 1600
CoA and radius:
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 166
• 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 167
• We set the IP of the FreeRADIUS server
• VERY IMPORTANT: Allow AAA override (this allows VLAN assignment from RADIUS)
• Nothing at level 3
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 168
• We set the IP of the FreeRADIUS server
• 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 169
When creating interfaces, it’s important to configure DHCP servers.
WARNING
Otherwise, WLC will block DHCP requests.
In this section, we cover the basic configuration of the WLC Web Auth for PacketFence using the
web interface. The idea is to forward the device to the captive portal with an ACL if the device is
in an unreg state and allow the device to reach Internet (or the normal network) by changing the
ACL once registered. In the unreg state, the WLC will intercept the HTTP traffic and forward the
device to the captive portal.
In this sample configuration, the captive portal uses the IP address [Link], the
administration interface uses the IP address [Link] and the WLC uses the IP address
[Link]. The DHCP and DNS servers are not managed by PacketFence (WLC DHCP
Server, Production DHCP Server)
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 170
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 171
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 172
On more recent controllers, the value 'Radius NAC' in the 'NAC State' setting will
NOTE
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 173
Role definition
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 174
Wireless LAN Controller (WLC) IPSK
In this section, we cover the basic configuration of the WLC IPSK feature. Starting from WLC 8.5
release, Cisco introduces the IPSK feature. Identity PSKs are unique pre-shared keys created for
individuals or groups of users on the same SSID.
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.
• Next, configure a new SSID like in the following screenshots
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 175
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 176
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 177
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 178
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 179
6.11.5. Wireless LAN Controller (WLC) 9800
General RADIUS Configuration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 180
Go to Configuration → Security → AAA → AAA Method List → Authentication, click add
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 181
Go to Configuration → Security → AAA → AAA Method List → Accounting, click add
Create WLANs
PF-Open SSID
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 182
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 183
Create Policy Profiles PF-Open
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 184
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 185
Go to Configuration → Tags & Profiles → Tags, under Policy click add
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 186
Go to Configuration → Wireless → Access Points
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 187
PF-Secure SSID
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 188
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 189
Create Policy Profiles PF-Secure
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 190
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 191
Go to Configuration → Tags & Profiles → Tags, under Policy click add
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 192
Go to Configuration → Wireless → Access Points
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 193
PF-WebAuth SSID
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 194
Go to Configuration → Security → ACL, click add
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 195
PF-WebAuth SSID creation
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 196
Create Policy Profiles PF-WebAuth
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 197
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 198
Go to Configuration → Tags & Profiles → Tags, under Policy click add
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 199
Go to Configuration → Wireless → Access Points
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 200
PacketFence switch configuration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 201
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 202
6.11.6. Troubleshooting ignored RADIUS replies
In the event the WLC ignores the RADIUS replies from PacketFence (you receive multiple
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 203
requests but access is never granted), validate the following elements :
Please refer to the wired configuration of Cisco equipment to learn more about
NOTE
device sensor.
6.12. 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.
6.12.1. 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;
• A PacketFence WebAuth enforcement setup will be deployed;
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 204
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
documentation search on the Internet might be the best solution to find the best one
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 205
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.
6.13. D-Link
6.13.1. DWL Access-Points and DWS 3026
NOTE To be contributed…
6.14. Extricom
6.14.1. EXSW Wireless Switches (Controllers)
In order to have the Extricom controller working with PacketFence, you need to define two
ESSID definition, one for the "public" network, and one for the "secure" network. This can be
done under a very short time period since Extricom supports RADIUS assigned VLANs out of the
box.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 206
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
administration 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.
You will need to have the CLI access on the Fortigate to do the configuration.
6.15.1. RADIUS
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 207
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
6.16. Hostapd
6.16.1. 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.
6.16.2. Assumptions
• You have a configured PacketFence environment with working test equipment
• The management IP of PacketFence will be [Link] and has s3cr3t as its RADIUS
shared secret
• You have an access point with OpenWrt Chaos Calmer 15.05 installed
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 208
You will need the packages hostapd-common and wpad if they are not installed
NOTE
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 [Link] [Link]
opkg install curl
curl --insecure [Link]
inc/packetfence/tree/devel/addons/hostapd/[Link] > [Link]
wifi
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 209
# Definition of the radio
config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'pci0000:00/[Link].0'
option htmode 'HT20'
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 210
# Definition of the radio
config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'pci0000:00/[Link].0'
option htmode 'HT20'
config wifi-iface
option device 'radio0'
option mode 'ap'
option vlan_file '/etc/config/[Link]'
option vlan_tagged_interface 'eth0'
option vlan_naming '0'
option dynamic_vlan '2'
option auth_port '1812'
option auth_server '[Link]'
option auth_secret 's3cr3t'
option acct_port '1813'
option acct_server '[Link]'
option acct_secret 's3cr3t'
option dae_port '3799'
option dae_client '[Link]'
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'.
It’s known that you can’t put 2 SSIDs with the same dae server at the same time.
NOTE
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 211
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
configuration file: cat /var/run/[Link]
6.17. Huawei
6.17.1. AC6605 Controller
PacketFence supports this controller with the following technologies:
• Wireless 802.1X
• Wireless MAC Authentication
Controller configuration
<AC>system-view
[AC] ntp-service unicast-server [Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 212
<AC>system-view
[AC] radius-server template radius_packetfence
[AC-radius-radius_packetfence] radius-server authentication [Link] 1812
weight 80
[AC-radius-radius_packetfence] radius-server accounting [Link] 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 [Link] 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 213
[AC] interface Wlan-Ess 0
[AC-Wlan-Ess0] port hybrid untagged vlan 145 to 146
[AC-Wlan-Ess0] dot1x enable
[AC-Wlan-Ess0] dot1x authentication-method eap
[AC-Wlan-Ess0] permit-domain name [Link]
[AC-Wlan-Ess0] force-domain name [Link]
[AC-Wlan-Ess0] default-domain [Link]
[AC-Wlan-Ess0] quit
Configure AP parameters:
[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,
authentication method to 802.1X+PEAP, and encryption mode to CCMP:
Configure service sets for APs, and set the data forwarding mode to direct forwarding:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 214
[AC-wlan-view] service-set name PacketFence-dot1x
[AC-wlan-service-set-PacketFence-dot1x] ssid PacketFence-Secure
[AC-wlan-service-set-PacketFence-dot1x] wlan-ess 0
[AC-wlan-service-set-PacketFence-dot1x] service-vlan 1
[AC-wlan-service-set-PacketFence-dot1x] security-profile name huawei-ap-wpa2
[AC-wlan-service-set-PacketFence-dot1x] traffic-profile name huawei-ap
[AC-wlan-service-set-PacketFence-dot1x] forward-mode tunnel
[AC-wlan-service-set-PacketFence-dot1x] quit
[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 [Link]
Configure AP parameters:
Configure a security profile named huawei-ap-wep. Set the security policy to WEP
authentication.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 215
[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
6.18. Meraki
To add the AP on PacketFence use the internal IP of the AP.
6.18.1. WebAuth
In this section, we will cover the configuration of the Meraki controller to use Web
authentication.
While using the WebAuth mode on the Meraki controller, you need to use "Role
NOTE mapping by Switch Role" and "Role by Web Auth URL" in the tab 'Roles' from the
switch configuration.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 216
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 217
It is mandatory that you use the Airespace-ACL-Name as "RADIUS attribute
NOTE
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 218
Your configuration for the tab "Roles" in PacketFence will look like the following:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 219
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 220
URL in registration field should be in the form: '[Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 221
6.18.2. 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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 222
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 223
6.18.3. Dynamic PSK (Pre-Shared Key)
This section will cover how to configure the Meraki WiFI controller to use with Dynamic PSK
with PacketFence.
You will be able to attribute one PSK per user to use on every device they want. There is a
common key to connect to a given PSK secured SSID to register and you will have an option to
provision your device with that configuration on Windows, Apple and Android devices.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 224
Provioner configuration
Go to Configuration > Advanced Access Configuration > Provisioner > New provisioner > DPSK
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 225
Connection profile configuration
Go to Configuration > Policies and Access Control > Standard Connection Profiles > New
Connection Profile
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 226
Switch MS220-8
You should already have one port setup as Uplink, using a mode trunk, with at
NOTE
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 227
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 228
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 229
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
Authorities of FreeRADIUS when performing RADSEC. You should download the Meraki CA
certificate from here [Link] and append it to the content of
/usr/local/pf/raddb/certs/[Link] on your PacketFence server.
RADSEC is done over port 2083 so make sure your server is available via a public
NOTE IP address for this port and allows connections from your Meraki cloud controller.
Refer to the Meraki documentation for details.
6.19. Mikrotik
PacketFence supports MikroTik’s RouterOS to provide wireless 802.1X (WPA2-Enterprise and
MAC-based authentication) as well as wired 802.1X (EAPoL (Extensible Authentication Protocol
over LAN)).
MikroTik has supported wireless 802.1X RADIUS disconnect for 2+ years, but this is not available
for wired 802.1X (dot1x).
This configuration has been tested on a variety of MikroTik devices, including RB433AH, hAP ac,
hAP ac lite, RB1100, RB3011 and various CCR devices. MikroTik provide free software updates
('/system package update install' and then '/sys routerboard upgrade' after booting new
RouterOS).
Default MikroTik de-auth method has been changed to RADIUS, instead of SSH. Change 'my
$default = $SNMP::RADIUS;' back to 'my $default = $SNMP::SSH;' if you want to continue using
SSH as the de-authentication method.
EAPoL (802.1X) wired authentication has been available since v6.46 (Dec 2019) with MAB
fallback being stable in v6.48.3.
PS: Don’t forget to use the pf account to ssh on the Access Point, to receive the ssh key, if you
switch back to using SSH.
First we create the SSIDs and virtual AP for the second SSID:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 230
/interface wireless security-profiles
add authentication-types=wpa2-eap disable-pmkid=yes interim-update=15m
management-protection=allowed mode=dynamic-keys name=radius-eap \
radius-eap-accounting=yes supplicant-identity=""
add authentication-types=wpa2-psk disable-pmkid=yes eap-methods="" interim-
update=15m management-protection=allowed mode=dynamic-keys name=\
radius-mac radius-mac-accounting=yes radius-mac-authentication=yes
supplicant-identity="" wpa2-pre-shared-key="internet"
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20mhz
country="south africa" disabled=no frequency=auto mode=ap-bridge name=\
"wlan1 - 2.4 GHz - ACME WiFi" security-profile=radius-eap skip-dfs-
channels=all ssid="ACME WiFi" station-roaming=enabled vlan-id=3999 \
vlan-mode=use-tag wireless-protocol=802.11 wps-mode=disabled
add disabled=no master-interface="wlan1 - 2.4 GHz - ACME WiFi" multicast-
helper=full name="wlan1 - 2.4 GHz - ACME Guest" \
security-profile=radius-mac ssid="ACME Guest (pw: internet)" station-
roaming=enabled vlan-id=3999 vlan-mode=use-tag wps-mode=disabled
set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=20/40/80mhz-
Ceee country="south africa" disabled=no frequency=auto mode=ap-bridge \
name="wlan2 - 5 GHz - ACME WiFi" security-profile=radius-eap skip-dfs-
channels=all ssid="ACME WiFi" station-roaming=enabled vlan-id=3999 \
vlan-mode=use-tag wireless-protocol=802.11 wps-mode=disabled
add disabled=no master-interface="wlan2 - 5 GHz - ACME WiFi" multicast-
helper=full name="wlan2 - 5 GHz - ACME Guest" \
security-profile=radius-mac ssid="ACME Guest (pw: internet)" station-
roaming=enabled vlan-id=3999 vlan-mode=use-tag wps-mode=disabled
PS: VLAN 3999 is purposefully bogus, to ensure no access without VLAN
assignment in the RADIUS response.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 231
/interface bridge
add name=bridge vlan-filtering=yes
/interface bridge port
add bridge=bridge interface="wlan1 - 2.4 GHz - ACME WiFi"
add bridge=bridge interface="wlan2 - 5 GHz - ACME WiFi"
add bridge=bridge interface="wlan1 - 2.4 GHz - ACME Guest"
add bridge=bridge interface="wlan2 - 5 GHz - ACME Guest"
/interface bridge vlan
add bridge=bridge tagged="bridge,wlan1 - 2.4 GHz - ACME WiFi,wlan2 - 5 GHz -
ACME WiFi,wlan1 - 2.4 GHz - ACME Guest,wlan2 - 5 GHz - ACME Guest" vlan-ids=52
add bridge=bridge tagged="bridge,wlan1 - 2.4 GHz - ACME WiFi,wlan2 - 5 GHz -
ACME WiFi,wlan1 - 2.4 GHz - ACME Guest,wlan2 - 5 GHz - ACME Guest" vlan-ids=666
add bridge=bridge tagged="bridge,wlan1 - 2.4 GHz - ACME WiFi,wlan2 - 5 GHz -
ACME WiFi,wlan1 - 2.4 GHz - ACME Guest,wlan2 - 5 GHz - ACME Guest" vlan-ids=667
/interface vlan
add comment="Guest WiFi:" interface=bridge name=vlan52 vlan-id=52
add comment="PacketFence - Registration:" interface=bridge name=vlan666 vlan-
id=666
add comment="PacketFence - Isolation:" interface=bridge name=vlan667 vlan-
id=667
/ip address
add address=[Link]/24 interface=bridge
add address=[Link]/24 interface=vlan52
add address=[Link]/28 interface=vlan666
add address=[Link]/28 interface=vlan667
PS: [Link] is essentially assigned to VLAN 1 (untagged)
Last settings on the MikroTik defines PacketFence as the RADIUS server and filters traffic on
Guest, Registration and Isolation networks:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 232
/radius
add address=[Link] comment=packetfence: secret=useStrongerSecret
service=wireless src-address=[Link] timeout=1s
/radius incoming
set accept=yes
/ip dhcp-relay
add dhcp-server=[Link] disabled=no interface=vlan666 local-
address=[Link] add-relay-info=yes name="PacketFence - Registration"
add dhcp-server=[Link] disabled=no interface=vlan667 local-
address=[Link] add-relay-info=yes name="PacketFence - Isolation"
/ip firewall address-list
add address=[Link]/8 list=local
add address=[Link]/12 list=local
add address=[Link]/16 list=local
/ip firewall filter
add action=reject chain=forward comment="Limit WiFi - Guest:" dst-
address=![Link] dst-address-list=local in-interface=vlan52
add action=reject chain=forward comment="Limit PacketFence - Registration:"
dst-address=![Link] in-interface=vlan666
add action=reject chain=forward comment="Limit PacketFence - Isolation:" dst-
address=![Link] in-interface=vlan667
PS: Use 'src-address' to originate requests from an IP other than the one
associated with the interface that routes towards PacketFence.
[Link] is PacketFence's routed registration network IP and
[Link] is the routed Isolation IP.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 233
/usr/local/pf/conf/[Link]
[default]
guestVlan=52
registrationVlan=666
isolationVlan=667
always_trigger=1
_
[group MikroTik]
description=Default MikroTik Settings
deauthMethod=RADIUS
type=Mikrotik
uplink_dynamic=0
useCoA=N
_
[[Link]]
description=ACME - Home Office - Bar
group=MikroTik
radiusSecret=useStrongerSecret
The configuration requires a VLAN filtering bridge with Spanning Tree Protocol enabled. New
bridges by default have RSTP (Rapid Spanning Tree Protocol) enabled, so you can follow similar
steps as above for wireless 802.1X.
/radius
add address=[Link] comment=packetfence: secret=useStrongerSecret
service=dot1x src-address=[Link] timeout=1s
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 234
/interface dot1x server
add auth-types=dot1x,mac-auth interface=ether2 interim-update=15m
add auth-types=dot1x,mac-auth interface=ether3 interim-update=15m
add auth-types=dot1x,mac-auth interface=ether4 interim-update=15m
add auth-types=dot1x,mac-auth interface=ether5 interim-update=15m
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 235
/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 [Link]=ap [Link]=OPEN
datapath=datapath1 disabled=no l2mtu=1600 mac-address=\
[Link] master-interface=none mtu=1500 name=cap1 radio-
mac=[Link]
/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=[Link] secret=useStrongerSecret service=wireless
/radius incoming
set accept=yes
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 236
6.19.3. 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/[Link] 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="[Link] 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">
<!--
[Link]();
//-->
</script></center>
</body>
</html>
Next, in the [Link] you have just uploaded, make sure you change AP_IP_ADDRESS_HERE by
the management IP address of your access point and [Link] by the IP address of your
PacketFence 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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 237
/ip hotspot
setup
Next, you need to allow access to the PacketFence portal in the hotspot access list. Change
[Link] with the IP address you pointed to in [Link]
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 238
/ip hotspot walled-garden
add dst-host=[Link]
add src-address=[Link]
Now, you will also need to configure the hotspot to point to your PacketFence RADIUS server:
/radius
add address=[Link] secret=useStrongerSecret service=hotspot
Next, you need to configure PacketFence to use webauth for this Access Point using the
following [Link] configuration. Change AP_IP_ADDRESS_HERE by the IP address you’ve
put in [Link].
[AP_IP_ADDRESS_HERE]
VlanMap=Y
RoleMap=N
mode=production
ExternalPortalEnforcement=Y
type=Mikrotik
radiusSecret=useStrongerSecret
registrationVlan=-1
6.20. HP
6.20.1. ProCurve Controller MSM710
To be contributed...
6.21. Meru
6.21.1. Meru Controllers (MC)
In this section, we cover the basic configuration of the Meru wireless controller for PacketFence
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 239
via the web GUI.
If you are running a WPA2 SSID, you may need to disable PMK caching in order to avoid
deauthentication 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.
Here, we create our PacketFence RADIUS server for use. Under Configuration → Security →
Radius, select Add.
Here, we create our PacketFence RADIUS server for use. Under Configuration → Security →
Radius, select Add.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 240
• Write a description of the profile
• Give the RADIUS IP, RADIUS Secret and the RADIUS accounting port
• Select Colon for the MAC address delimiter
• Select MAC Address as the password type
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 241
• Write an SSID name
• Select your security profile name previously created
• Select your PacketFence RADIUS Accounting Profile (if you want to do accounting)
• Enable the SSID Broadcast
• Make the new AP to join the ESS
• Set the tunnel interface type to RADIUS and Configured VLAN
• Select the registration VLAN for the VLAN Name
Click OK to create the SSID. Repeat those steps for the open and secure SSID by choosing the
right security profile.
Here, we tie our SSIDs to access points. Under Configuration → Wireless → ESS, select the SSID
you want to add to your aps. Then, select the ESS-AP Table, and click Add.
Since PacketFence 3.3.0, we now support roles (per-user firewall rules) for the Meru hardware. To
add firewall rules, go in Configuration → QoS System Settings → QoS and Firewall Rules. When you
add a rule, you have to pay attention to two things:
• 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
[Link] would look like :
roles=Guests=1;Staff=2
NOTE You need to have the Per-User Firewall license in order to benefit this feature.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 242
Profile Name: NAME_OF_PROFILE_FOR_PACKETFENCE
IP Address: IP_OF_PACKETFENCE
Authentication Port: 1812
Accounting Port: 1813
Shared Secret: useStrongerSecret
Click on 'Save'.
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 243
Profile Name: Name of the new profile
SSID: Name of your SSID
Security: Open
Captive Portal: select and fill in External Splash Page with RADIUS
Authentication with “[Link] and the RADIUS
shared secret. Click on *RADIUS Settings* to select PacketFence as
authentication and accounting server.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 244
Save the newly created profile.
Add a Switch with the IP address of the Access Point (AP) with the following configuration:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 245
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 246
Radius:
Secret Passphrase: useStrongerSecret
Clone the newly created switch and enter [Link] or the MAC
IMPORTANT
address of the AP.
6.23. 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.
First, we need to build the AAA Policy. Under Configuration → Wireless → AAA Policy, click on the
Add button at the bottom right. Configure the RADIUS profile like the following:
• Host: Choose IP Address in the drop down, and put the RADIUS server (PF) IP
• Insert a RADIUS secret passphrase
• Select "Through Wireless Controller" Request Mode
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
• Select your AAA Policy previously created
• Ensure that you selected Open as the Encryption
Accounting configuration:
• Make sure you select "Enable RADIUS Accounting"
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 247
• Select the previously configured AAA Policy
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
• Select your AAA Policy previously created
• Ensure that you selected WPA/WPA2-TKIP as the Encryption
• Unselect everything under Fast Roaming (Disable caching)
Accounting configuration:
• Make sure you select "Enable RADIUS Accounting"
• Select the previously configured AAA Policy
Advanced configuration:
• Make sure you select RADIUS Dynamic Authorization
You have multiple options here. Either, you create a general AP profile, and you assign it to your
Aps, or you modify the AP device configuration to map the WLAN to the radio interfaces. For the
purpose of this document, we will modify the general profile. Under Profiles → default-apXXX
(where XXX is your AP model), in Interface → Radios, edit the existing radios settings. Go to the
WLAN Mapping tab, select the two SSIDs and click on the << button.
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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 248
Roles (Per-User Firewall)
Since PacketFence 3.3.0, we now support roles for the Motorola hardware using WiNGS 5.x. To
add roles, go in Configuration → Security → Wireless Client Roles. First create a global policy that
will contain your roles. Next, create your Roles by clicking on the Add button on the bottom right.
It is important to configure the Group Configuration line properly by setting the string name that
we will use in the RADIUS packet. For example, for a Guests Role, you can put Group
Configuration Exact Guests, and for a Staff Roles, you can put Group Configuration Exact Staff.
In the roles configuration in [Link], you would have something like :
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.
You need to have an Advanced Security license to enable the Per-User Firewall
NOTE
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:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 249
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 [Link] 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
...
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 250
6.23.2. Older Firmwares (< 5.0)
Option for Public Wireless LAN
• Check the Dynamic Assignment check-box
• Select "MAC Authentication" under Authentication
• Click "Config…" choose the Colon delimiter format
• Un-check all encryption options
• Under RADIUS put in PacketFence’s RADIUS Server information
Add the two Read-Only and Read-Write users under Management Access → SNMP Access.
6.24. 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
configuration:
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
• Select Standard Usage as the Type
• Select MAC Address as the authentication type
• Select Open as the encryption method
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 251
• Select the proper RADIUS server as the authentication server
• Select the proper RADIUS server as the accounting server
The Open SSID does NOT support dynamic VLAN assignments on older versions
NOTE of ZoneDirector (Firmware [Link].83) but newer versions (Firmware [Link].218
or newer) do support it.
Secure SSID
• Enter a Name/SSID
• Select Standard Usage as the Type
• Select WPA2 as the authentication type
• Select AES as the encryption method
• Select the proper RADIUS server as the authentication server
• Select the proper RADIUS server as the accounting server
• Check the Enable Dynamic VLAN checkbox
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 →
Network 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.
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 252
1 - Name of your Hotspot service
2 - Login Page: Url of PacketFence portal interface ([Link]
3 - Start Page: redirect to the following URL: [Link]
4 - Authentication Server: Select the PacketFence authentication RADIUS server
(default port 1812)
5 - Accounting Server: Select the PacketFence accounting RADIUS server (default
1813)
6 - Click on the Walled Garden and authorize the IP of PacketFence management
interface
WLAN configuration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 253
Go to Configure → WLANs → WLANs → Create New
PacketFence configuration
On the ZoneDirector configuration in PacketFence, you will need to specify -1 as the registration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 254
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 Configuration →
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=[Link]
type=management,portal
mask=[Link]
To apply the configuration, restart PacketFence using the following command: service
packetfence restart
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. Additionally, these roles
can be used to apply per-user rate-limits and ACLs in newer versions of the Zone Director
firmware, specifying also advanced options like Application Recognition Policies, URL filtering
profiles, Etc.
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.
The images below show the steps needed for Ruckus Unleashed.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 255
If using ZoneDirector, then the steps are very similar as shown below:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 256
1 - Go to _Services & Profiles -> Roles_. The Roles and Policies 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. Don't
enable the "Guest Pass" or "Administration" options as these
allow users with the given Roles to get administrative access to the
ZoneDirector console.
5 - Additionally, you can enable the "Role Based Access Control Policy" option
which is the most interesting one from PacketFence's point of view,
since this allows specific PF roles to receive specific ACLs, Different rate
limits, thus further enhancing the value of Packetfence.
6 - Looking at the RBAC Policy options one can define the following:
OS type: Limit access based on operating system/device type.
VLAN: Assign a VLAN ID to this role. (This can be overriden directly from
PacketFence if using the _Role by VLAN ID_ option)
Rate Limiting: Limit per-station uplink and downlink speeds.
L3/L4/IP address ACL: Apply a Layer 3/Layer 4/IP address ACL to this role.
Application Recognition & Control: Apply an application policy to this role.
Time Range: Limit the time range during which this role will be allowed to
access the WLAN.
7 - Finally, if using the RBAC feature in ZoneDirector, make sure to enable the
RBAC functionality for the WLAN created before:
To do this, edit the WLAN, expand the Advanced Options, and enable the check
box next to Enable Role Based Access Control Policy in the Access Control
section.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 257
PacketFence Configuration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 258
On the PacketFence side you need to use role by switch role and add the same name as in the
Group Attribute you created on the Ruckus side.
When a device connects to 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
authorized on the WLAN. Additionally, if RBAC is in use, the specific upstream/downstream rate
limits, L2/L3 ACLS and Application Recognition Policies will be applied to the specific user, having
the possibility of, for instance, giving different user Roles different access speeds. In case that the
role is not allowed on the WLAN then the device will not be allowed to connect.
In Proxy Mode, all RADIUS connections are done between SmartZone and PacketFence. In this
mode, the RADIUS interface supports the use of Disconnect and CoA messages sent from
PacketFence (the RADIUS server) to SmartZone (The RADIUS client). If proxy mode is used, it is
highly recommended to have SmartZone deployed locally in the LAN together with PacketFence
as otherwise, it might be needed to open specific ports (RADIUS COA/Disconnect ports) for
PacketFence to be able to reach SmartZone if SmartZone is in a cloud scenario. Additionally, this
would also mandate PacketFence to be hosted behind a static public IP, which is not always the
case for certain business ISPs, as this IP would need to be configured in SmartZone as the target
RADIUS IP.
In non-PROXY mode, though, the AP can send the RADIUS Access Request directly to
PacketFence. This allows for SmartZone to be hosted in a public cloud. In this case, though, only
an immediate response to the Access Request message can be issued by PacketFence and
accepted by the AP. As clients can be roaming betwen APs, RADIUS CoA or Disconnect
messages are not supported since the client might no longer be connected to the targetted AP. In
this case, PacketFence must rely insted in the WISPr web services to trigger a disconnection /
VLAN move after authentication.
In short, if you’re hosting a SmartZone appliance (physical or virtual) inside your LAN and
PacketFence and SmartZone can talk directly without extraneous port-maps, use the PROXY
mode for RADIUS as its much simpler. But if using a shared or external SmartZone server while
keeping PacketFence local to your LAN, then you’ll probably have to opt for the NON-PROXY
mode.
6.25.1. Webauth
Create your server using the following information (where [Link] is the IP address of your
PacketFence management interface):
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 259
• 'IP Address:' [Link]
• 'Port': 1812
• 'Secret': useStrongerSecret
Then, in Configuration → Service and Profiles → Accounting, create a server with the following
information:
After, create a Hotspot in Configuration → AP Zones → Your Zone → Hotspot WISPr → Create New.
Adjust [Link] to the IP address of your portal.
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'.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 260
Now, you should configure the Northbound API of the SmartZone so PacketFence can
communicate with it. In order to do so, go in Configuration → System → Northbound Portal
Interface (Can be called "WISPr Northbound Interfaces" in newer versions of SmartZone) and set
the 'Password' and save it. Keep the password closeby as it will be required for the PacketFence
configuration. In this example, it will be passwordForNorthboundAPI. In case you’re using a
SmartZone High-scale, you can define a northbound username/password for each Managed
Domain so that each of your customers can have their own credentials. In this case, define both a
username and password and keep both closeby.
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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 261
The Web Services Username is optional and only needed if using the "Managed Partner
Domains" feature of SmartZone with multiple different Northbound API credentials (one per
SmartZone domain). Additionally, for troubleshooting purposes, one can define the Web Services
→ Transport to HTTP instead of the default HTTPS so as to simplify troubleshooting by capturing
the traffic between PacketFence and SmartZone.
Create your server using the following information (where [Link] is the IP address of your
PacketFence management interface):
• 'Name' : PacketFence-Auth
• 'Service Protocol': RADIUS
• 'IP Address:' [Link]
• 'Port': 1812
• 'Secret': useStrongerSecret
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 262
Then, in Service and Profiles → Accounting. Then select the "Proxy" tab and then select the zone
for which you want to create the AAA server. Create the server using the information below:
• 'Name' : PacketFence-Acct
• 'IP Address:' [Link]
• 'Port': 1813
• 'Secret': useStrongerSecret
Give both authentication and accounting services an easily identifiable name such as
"PacketFence-Auth" and "Packerfence-Acct". This names are purely for identification purposes
only.
In the Wireless LANs top level menu , from the System tree hierarchy, select the Zone where you
want to create a WLAN and then click Create.
Enter the name and SSID, then for Authentication Type select "Standard Usage" and for Method
select "MAC Address".
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 263
The rest of the authentication options can be left "as-is" (The default MAC Address Format of
"aabbccddeeff" should work fine)
For the Authentication & Accounting Service enable the "Use controller as proxy" checkbox for both
Authentication and Accounting and select the previously created Authentication and Accounting
profiles. (PacketFence-Auth and PacketFence-Acct respectively if you used the names suggested
above)
Finally in the Advanced Options section, under Access VLAN section, make sure to enable the
Enable Dynamic VLAN (AAA Override) checkbox is enabled so that the client receives a VLAN
assigned by PacketFence.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 264
6.25.8. Non-PROXY mode
For non-proxy MAC authentication, repeat the same configuration as for PROXY mode but create
the Authentication and Accounting servers under the "Non-Proxy (AP Authenticator)" menu.
Additionally, configure the "WISPr northbound credentials" as for the Webauth section. Only the
username / password is required, no other configuration is needed (portals, etc)
During troubleshooting, you can change the Deauth method and Web Services Transport to
HTTP instead of HTTPS can capture the traffic destined to the SmartZone’s IP on port 9080 to
inspect the WISPr API calls if needed.
For NON-PROXY Auth mode when using MAC-Authenticatin we need to set the
"Deauthentication Method" to HTTP or HTTPS since this will force the disconnect message to be
sent using the Northbound WISPr API instead of RADIUS Disconnect / CoA. If the
Deauthentication Method is not set, then the code will try to use RADIUS by default and fail to
disconnect the user.
Ruckus SmartZone allows you to define roles for RBAC purposes. They can be used to apply per-
user rate-limits and ACLs in newer versions of the SmartZone firmware, specifying also advanced
options like Application Recognition Policies, URL filtering profiles, (Firwewall profiles)
To create and be able to use the role, we need to perform several steps:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 265
1 - Create a _User Traffic Profile_
2 - Create a matching _User Role_
3 - Reference the User Role in the RADIUS Authentication server
Go to Services & Profiles → Access Control on the left menu and then click on the User Traffic tab.
On this page, optionally select a Domain/Zone, click the "Create" button and give the new UTP
name. Define any additional parameters such as Uplink/Downlink rate limits, define any ACLs you
might want for that role and also select, if needed, an Application Recognition and Control policy
and URL Filtering Control policies.
Next, go to Clients → Users & Roles menu and select the User Roles tab. On this page, optionally
select a Domain/Zone, click the "Create" button and give the new User Role a name. This name is
purely for identification only and its not the RADIUS attribute. You can choose any meaningful
name. You should also select the User Traffic Profile defined in the previous step as well as,
optionallu, a Firewall Profile.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 266
Finally, under Configuration → Service and Profiles → Authentication, select the RADIUS server
created previously (Either in Proxy or NON-Proxy mode). Then, under the User Role Mapping
section, click on Create.
A new window will open where we can create a "User Traffic Profile Mapping". Under Group
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 267
Attribute Value enter the string that will be sent from PacketFence (Configured under the Switch
configuration in the "Role by Switch Role" section). This string must match between PacketFence
and SmartZone and is the string sent in the RADIUS reply under the Ruckus-User-Group VSA.
Then, under the "User Role", select the previously created User Role.
Repeat all the steps above for as many different roles as needed. Keep in mind that you can
define different roles on SmartZone than those on PacketFence. For example, on SmartZone you
might have roles calles "10Mbps", "20Mbps" and so one (related to the specific rate limits
assigned to the users) and then in PacketFence, assign the "10Mbps" SmartZone role to the
"Students" and "Guests" PacketFence Roles, and the "20Mbps" SZ role to "Faculty" and "IT" PF
roles.
PacketFence Configuration
On the PacketFence side you need to use role by switch role and add the same name as in the
Group Attribute you created on the Ruckus side.
So when a device connects to the SSID, PacketFence will return a VLAN identifier and a
RuckusUserGroup attribute and the device will be authorized on the WLAN on the specific
VLAN. Additionally, if RBAC is in use, the specific upstream/downstream rate limits, L2/L3 ACLS
and Application Recognition Policies will be applied to the specific user, having the possibility of,
for instance, giving different user Roles different access speeds.
6.26. 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 268
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.
6.27. Ubiquiti
6.27.1. 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 → hotspot → general and configure it as
shown below:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 269
Next, you must allow the device to reach the portal. Go in Settings → hotspot → advanced 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
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 270
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
controller gets instant notifications from access points. That’s important to have a correct
deauthentication mechanism.
PacketFence side
You have two choices to define the APs in PacketFence, by ip address (or range) or by MAC
addresses.
By IP address:
If you decide to define the AP by ip then you will need to define the controller as a switch and
define the Controller IP and Webservices information (Transport/Username/Password) in his
configuration.
Then once done, restart pfcron service and run that to fill the PacketFence cache:
By MAC address:
Once this is done, you will need to define all your APs MAC addresses in the PacketFence
switches with a configuration similar to this:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 271
[Link]
description=Ubiquiti AP
ExternalPortalEnforcement=Y
type=Ubiquiti::Unifi
controllerIp=[Link]
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.
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.
AAA Configuration
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 272
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 273
Open SSID
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 274
Secure SSID
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 275
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 276
CoA Support
CoA support has been introduced in the new version of the controller (Tested on 5.13.10), so on
access reevaluation if you selected RADIUS as disconnect method then PacketFence will try a
CoA.
6.28. Xirrus
6.28.1. Xirrus WiFi Arrays
Xirrus Access Points can be configured to work with PacketFence quickly since Xirrus supports
RADIUS assigned VLANs out of the box.
First, RADIUS server configuration. Set the RADIUS server to be PacketFence’s IP:
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 277
radius-server ! (global settings)
!
external
primary server [Link]
primary secret useStrongerSecret
!
accounting
primary server [Link]
primary secret useStrongerSecret
exit
exit
exit
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).
[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.
Copyright © Inverse inc. 6. Wireless Controllers and Access Point Configuration 278
7. VPN Configuration
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 ([Link])
where the VPN is activated and another one Registration ([Link]) that is facing the
PacketFence server ([Link]).
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.
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@[Link].
Hourly rates or support packages are offered to best suit your needs.
SNMP (Simple Network Management Protocol) configurations in Cisco switches enhance management by enabling the monitoring and notification of network events such as link status changes and security violations. Traps like 'linkUp', 'linkDown', and 'mac-notification' can alert network administrators of events that impact network stability and security. This allows for timely interventions and adjustments in network configurations. The configured traps are sent to PacketFence, which integrates with SNMP to manage and enforce policies across connected devices effectively .
Deployments involving PacketFence and cloud-hosted SmartZone services face challenges including latency, potential connectivity issues due to dynamic WAN IPs, and difficulty in directly using RADIUS CoA messages for managing user sessions. These challenges can be mitigated by choosing an appropriate RADIUS authentication model (Proxy or Non-Proxy) based on the location of SmartZone. SmartZone can use the WISPr (Wireless Internet Service Provider roaming) protocol for session management instead of RADIUS messages, facilitating disconnections and VLAN movements via web services. A properly configured Northbound API also supports communication between PacketFence and SmartZone, allowing for dynamic policy application even in cloud setups .
PacketFence enhances secure wireless access management on Ruckus SmartZone controllers by leveraging RADIUS for authentication, allowing centralized profile and policy management. This includes supporting MAC Authentication and differentiating traffic based on roles and VLAN assignments. Additionally, PacketFence integrates with SmartZone through Northbound APIs, enabling automated responses to security events, such as disconnecting devices violating policies. The use of roles further enhances security by facilitating granular access control according to user, device type, and application needs. This integration also supports dynamic VLAN assignments and RADIUS Change of Authorization (CoA) for real-time policy adjustments .
VLAN configurations play a critical role in PacketFence and wireless access point setups by enabling network segmentation and access control. In PacketFence, VLANs must be defined for registration, isolation, and production networks. The access points are configured to manage these VLANs, allowing traffic to be appropriately segmented per user role, which is defined by VLAN ID. For instance, PacketFence uses AAA override to ensure VLAN assignments from the RADIUS server align with user profiles configured in the system, thus managing how clients access the network . Additionally, VLAN management enables dynamic VLAN assignment which allows the network to adjust user access dynamically based on authentication status, ensuring users are isolated or granted access to production networks as needed . This dynamic control is crucial for maintaining security and performance by segregating guest and authenticated traffic within the network .
User roles and profiles in PacketFence are established to manage network segments and access control on Cisco switches through the configuration of VLANs and RADIUS attributes. PacketFence uses VLAN assignments to implement Role-Based Access Control (RBAC). This involves setting Roles by VLAN ID, where different VLANs represent different levels of access or user roles, associating these with specific user profiles to control network access . When a device connects to the network, PacketFence assigns a VLAN ID and potentially a RuckusUserGroup attribute based on the role allowed on the WLAN, determining whether the device can access the network . Additionally, enabling roles by switch role allows further customization and assignment of access policies, ACLs, and rate limits based on the user role . These elements allow PacketFence to enforce robust access control policies across Cisco networking equipment by leveraging its integration capabilities with RADIUS and VLAN tagging.
When handling VoIP traffic on Cisco switches with PacketFence, the configuration involves activating specific VoIP features like VLAN tagging for voice traffic, whereas non-VoIP traffic configuration typically involves simpler port-security and access VLAN settings. For VoIP, the Cisco switches need proper LLDP or CDP notification settings, and the use of technologies like 802.1X or MAC Authentication Bypass (MAB) is recommended for secure authentication . VoIP configurations require the switch to operate in trunk mode with a specified voice VLAN, while non-VoIP traffic often employs access mode with port security using static MACs . Non-VoIP configurations focus on ensuring MAC address notifications and link change traps without complex VLAN tagging mechanisms . The handling of VoIP traffic requires additional configurations to distinguish it from data traffic using these VLAN tags, while non-VoIP traffic only needs basic authentication and security settings .
Configuring an external captive portal on Aerohive Access Points using PacketFence involves several steps: 1. **Captive Portal Profile Creation:** - Navigate to `CONFIGURATION → ADVANCED CONFIGURATION → AUTHENTICATION → Captive Web Portals` in HiveManager, click `New`, name the profile, set `Registration Type` to `External Authentication`, and configure the `Login URL` to `http://192.168.1.5/AeroHIVE::AP` with `No Encryption` for passwords . 2. **SSID Configuration and Captive Web Portal Enabling:** - Create a new SSID profile via `CONFIGURATION → SSIDS`, name the SSID and check `Enable Captive Web Portal` before saving . 3. **Network Policy Configuration:** - Go to `CONFIGURATION → NETWORK POLICIES`, select a Network Policy, and associate the captive portal. Configure RADIUS settings by adding the PacketFence RADIUS server and enabling `Permit Dynamic Change of Authorization Messages (RFC 3576)` . 4. **User Profile and VLAN Configuration:** - In the user profile settings, add a `New` user profile, specify the VLAN ID, and ensure the default VLAN matches the attribute number, then save . 5. **Configuration Deployment:** - Push this configuration to the access points by selecting the AP and updating their settings under `Update Devices`, ensuring that HiveOS does not upgrade during this process . These configurations ensure that Aerohive APs redirect unauthenticated users to the PacketFence captive portal, facilitating external web authentication.
When implementing port-security on Cisco switches without a connected MAC address, it is important to configure bogus MAC addresses to avoid loss of connectivity and ensure the switch can notify administrators via traps when a new MAC appears. These bogus MAC addresses should be carefully assigned using a mapping that relates them to specific interfaces, ensuring there is a clear identification process. If a MAC is active on a port when configuring port-security, that MAC should be secured instead of using a bogus MAC, to prevent interrupting service .
MAB and 802.1X on IOS XE switches differ in their authentication approach. MAB involves the switch authenticating devices by their MAC addresses without user intervention, useful for devices that do not support 802.1X. 802.1X leverages port-based authentication, requiring user credentials for network access, ensuring higher security through user verification. In IOS XE deployments, configuring MAB involves setting authentication orders and priorities favoring MAB first, while 802.1X might be set as the primary authentication method. These configurations can also include periodic reauthentication timers and policies handling scenarios when devices fail to authenticate within allowed attempts, reflecting fundamental differences in securing and managing network access .
Enabling 802.1X on switches requires user authentication, typically using credentials from a RADIUS server. If the RADIUS server becomes unreachable, users would be unable to authenticate and access the network. To prevent this scenario, having a local account ensures that administrators can still access and manage the switch, maintaining operational control and avoiding complete lockout of the network device .