Aaa and Port Authentication Feature Overview Guide
Aaa and Port Authentication Feature Overview Guide
Introduction
This guide describes the AlliedWare Plus implementation of Authentication, Accounting and
Authorization. Port Authentication commands enable you to specify three different types of device
authentication: 802.1X authentication, web authentication, and MAC authentication.
802.1X is an IEEE standard providing a mechanism for authenticating devices attached to a LAN
port or wireless device. Web authentication is applicable to devices that have a human user who
opens the web browser and types in a user name and password when requested. MAC
authentication is used to authenticate devices that have neither a human user nor implement 802.1X
supplicant when making a network connection request.
Feature support may change in later software versions. For the latest information, see the following
documents:
These documents are available from the above links on our website at alliedtelesis.com.
The following features are supported since the following software versions:
Two-step authentication is supported on the devices that have switch ports. When two-step
authentication is enabled the sequence is MAC authentication first followed by 802.1X
authentication.
Tri-authentication is not supported on these devices as all three authentication methods are not
available on the same port type. However, if both MAC authentication and 802.1X authentication are
configured on a port and two-step authentication is disabled then the supplicant will be
authenticated if either authentication method is successful.
802.1X authentication is not supported on static channel-groups and dynamic (LACP) channel-
groups.
Dynamic VLAN assignment can only be configured per port and not per MAC address. This
means that all supplicants on a port can only be dynamically assigned to the same VLAN.
Different VLANS, however, can be assigned on different ports. (See the auth dynamic-vlan-
creation command for more information on dynamic VLANs.)
Contents
Introduction .........................................................................................................................................1
Products and software version that apply to this guide ...............................................................1
Tri-authentication...............................................................................................................................61
Tri-authentication configuration ..................................................................................................61
Authentication priority for tri-authentication ...............................................................................62
Introduction
AAA is the collective title for the three related functions of Authentication, Authorization and
Accounting. These functions can be applied in a variety of methods with a variety of servers. The
purpose of the AAA commands is to map instances of the AAA functions to sets of servers.
The Authentication function can be performed in multiple contexts, such as authentication of users
logging in at a console, or 802.1X authentication of devices connecting to Ethernet ports.
For each of these contexts, you may want to use different sets of servers for examining the proffered
authentication credentials and deciding if they are valid. AAA Authentication commands enable you
to specify which servers will be used for different types of authentication.
The three types of servers that can be used for Authentication, Authorization and Accounting are:
RADIUS servers
TACACS+ servers
Authentication decides whether the client is allowed access and is performed in the following
contexts:
Login authentication of user shell sessions on the console port, and via Telnet/SSH
Enable password authentication for user shell sessions on the console port, and via Telnet/SSH
(TACACS+ or local user database only)
Authorization decides what level of access a client is allowed, i.e. what services are they allowed to
use. In AlliedWare Plus, authorization is performed as part of the login authentication process and
there are no separate authorization commands available. Authorization is performed in the following
context:
Login authentication of user shell sessions on the console port, and via Telnet/SSH
Accounting keeps a record of the client’s session and collects statistics on their data usages, it is
performed in the following contexts:
Different servers might be used for different activities. A network might use RADIUS for 802.1X
authentication, but TACACS+ for authenticating users logging into the management interfaces of the
device itself.
Server groups
The two protocols most commonly used for Authentication, Authorization, and Accounting are
RADIUS and TACACS+. When using these protocols, the device will exchange data with a RADIUS
or TACACS+ server.
For authentication, the device will send user credentials to a RADIUS or TACACS+ server, and
listen for the server’s response to those credentials.
For accounting, the device sends accounting messages to the server, and the server uses those
to accumulate usage records of network services.
For redundancy purposes, a network will often contain more than one RADIUS or TACACS+ server.
To enable a set of servers to be conveniently referenced from AAA commands, the concept of a
server group has been introduced to the device command line.
A server group is defined by the command aaa group server. This command puts you into server
group configuration mode. Once in that mode you can add servers to the group by using the
command server ip-address.
Any number of servers can be added to a group. Typically, you will add servers which have already
been configured by the command radius-server host. If you add a server that has not yet been
configured by the command radius-server host, you will receive a warning that the server has not
yet been configured, but the command will still be accepted.
There is one server group, named radius, that is always present on the device. This group cannot be
removed and contains all servers that have been configured using the command radius-server
host. As soon as a server is configured by the command radius-server host, it is automatically a
member of the server group radius and cannot be removed from it.
Note: While it is possible to create named server groups for RADIUS servers, there is no equivalent
feature for TACACS+ servers. For TACACS+, the only server group is the default group, that
contains all the TACACS+ servers configured on the device.
The show radius server group command displays information about the RADIUS server groups
configured on a device.
Method lists
A method list defines the set of server types that you want to be used for authenticating or
accounting a user or device. It also specifies the order in which you want the server types to be
used.
Check the usernames submitted for logging in at the console are in the local user database. You
can create a method list that specifies local.
Or, check the TACACS+ servers first, and resort to the local user database if none of the
TACACS+ servers respond. You can create a method list that specifies group TACACS+ first,
followed by local.
Or, check the RADIUS servers first, and resort to the local user database if none of the RADIUS
servers respond. You can create a method list that specifies group RADIUS first, followed by
local.
A method list defines the servers where authentication requests are sent. The first server listed is
contacted; if that server fails to respond then the next authentication server type in the method list is
selected. This process continues until there is a successful response or until all server types fail to
respond.
In the case of a user logging into the device, the device sends an authentication request to the first
authentication server in the method list:
If the first server in the list is reachable and it contains a username and password matching the
authentication request, the user is authenticated and the login succeeds.
If the authentication server denies the authentication request because of an incorrect username
or password, the user login fails.
If the first server in the method list is unreachable, the device sends the request to the next server
in the list, and so on.
For example, if the method list specifies group tacacs+ local, and a user attempts to log in with a
password that does not match a user entry in the first TACACS+ server, this TACACS+ server denies
the authentication request, then the device does not try any other TACACS+ servers nor the local
user database; the user login fails.
If the first server type in the method list is a server group containing multiple servers, then all servers
in the group are tried before moving on to the next server type in the method list.
The details of how requests are retried progressively through a group of servers are described in
"Checking multiple authentication servers" on page 11.
Within AlliedWare Plus, it is possible to create method lists for two types of activities:
authentication
accounting
The method lists for these two activities can be created for four different contexts:
802.1X
MAC-based authentication
Web-based authentication
In addition to the default method list it is possible to create any number of other, named, method
lists for all four contexts.
For 802.1X, MAC-auth and web-auth, the method available for authentication is RADIUS and it is
necessary to define which RADIUS server group is being used.
As soon as the default method list is defined for a given authentication or accounting type, it is
automatically applied as the method list to be used for any instance of that type of authentication or
accounting, except for instances to which another named method list has already been specifically
applied.
The commands to create an authentication method list for 802.1X, MAC-auth, and web-auth are:
Points to note:
For any one of these authentication types, the authentication will not operate until the either the
default or a named method authentication method list has been defined.
If the server group radius is chosen, then all the RADIUS servers configured on the device will be
available to the authentication method.
For authentication of the login to management sessions on the device, the local method is available,
as well as RADIUS and TACACS+.
So, the syntax of the command for creating a login method list is:
Management login session method lists are configured with the following command:
The method list definition also defines whether the device will send accounting start and/or stop
messages or neither. There is a separate command aaa accounting update that controls whether
or not RADIUS accounting update messages will be sent. This is a global command, so it controls
the action of all accounting sessions, regardless of which method list they are controlled by.
You apply a named method lists to an interface from that interface’s configuration mode. The
command to enter the configuration mode for an interface is:
Once in the interface configuration mode apply an authentication method list to the interface with
the command:
The show aaa server group command lists the AAA servers and any method lists associated with
them.
The types of management session to which method lists can be applied are:
The method lists are applied to these session types by configuring the login method on the virtual
interfaces via which these sessions access the device.
The virtual interfaces are configured via the line command. The command to enter configuration
mode for the console virtual interface is:
The command to enter configuration mode for the Telnet/SSH virtual interface is:
Note: Telnet and SSH both use the same set of vty lines.
Within the interface configuration mode for these virtual interfaces, the command to apply an
authentication method list is:
To configure Telnet/SSH to use a RADIUS group ‘trust’, then check the local database, configure as
2. If the server responds (either to accept or reject the authentication request), no more servers are
contacted.
3. If the server does not respond, the device waits for timeout period. The timeout period defaults
to 5 seconds, but can be configured, on a per-server basis, to a different value with the
commands:
This cycle is repeated a number of times. By default, this number is 3, but can be configured, on a
per-server basis, to a different value with the command:
4. If a full set of retries has been sent to a server, and still no response has been received, then the
device gives up on that server. It moves on to the next server in the group, and sends the request
to that server. This process continues until a response has been received, or until all servers have
been tried, and none has responded.
1) Request
1) Request
Number of retries
2) Wait timeout period
configurable for
this server 3) Request
4) Wait timeout period
Server 2
In the case of TACACS+, if no response is received from the first attempt, the server is considered
dead. This is because TACACS+ uses TCP which is a full connection protocol, if a connection
cannot be established there is no purpose in retrying.
It is important to note that if a server's database does not contain a particular username, then it will
respond with a reject message. The process of checking a series of servers is not a matter of looking
for the server that knows of a user; it is just a matter of looking for a server that responds. A reject
response is as valid as an accept response. As soon as the device receives ANY response from a
server, it will not check with any more servers in the group.
(optionally) create a server group using the aaa group server command (RADIUS only),
To configure a user login authentication method list called USERS to first use the RADIUS servers in
the group GROUP1 for user login authentication and then the local user database, use the following
commands:
The configuration below shows an example configuration for dot1x authentication, using the local
RADIUS server.
!
radius-server host 127.0.0.1 key awplus-local-radius-server
!
aaa authentication dot1x default group radius
!
radius-server local
server enable
nas 127.0.0.1 key awplus-local-radius-server
user guest password guest!
!
no spanning-tree rstp enable
!
interface port1.0.1
dot1x port-control auto
!
interface vlan1
ip address 192.168.1.120/24
!
The 802.1X authentication feature needs the aaa authentication dot1x command configured
globally and the dot1x port-control command configured on an interface. See the CLI reference for
command information to edit this configuration.
The local RADIUS Server has been configured to respond to authentication requests generated by
802.1X authentication in this sample configuration. See the radius-server local and server enable
commands in the CLI reference for command information.
This sample configuration enables 802.1X authentication on interface VLAN1 which has IP address
192.168.1.120. Change the VLAN ID and IP address as required for your configuration.
The configuration below shows an example configuration for MAC authentication, using the local
RADIUS server.
!
radius-server host 127.0.0.1 key awplus-local-radius-server
!
aaa authentication auth-mac default group radius
!
radius-server local
server enable
nas 127.0.0.1 key awplus-local-radius-server
user 00-d0-59-ab-70-37 password 00-d0-59-ab-70-37
!
no spanning-tree rstp enable
!
interface port1.0.1
auth-mac enable
!
interface vlan1
ip address 192.168.1.120/24
!
The MAC authentication feature needs the aaa authentication auth-mac command configured
globally and the auth-mac enable command configured on an interface.
The local RADIUS server has been configured to use MAC authentication in this sample
configuration. For information on the commands used in this configuration, see the CLI reference.
This configuration enables MAC authentication on VLAN1 which has IP address 192.168.1.120.
Change the interface VLAN ID, MAC, and IP addresses as needed in your configuration.
The configuration below shows an example configuration for web authentication, using the local
RADIUS server.
!
radius-server host 127.0.0.1 key awplus-local-radius-server
!
aaa authentication auth-web default group radius
!
radius-server local
server enable
nas 127.0.0.1 key awplus-local-radius-server
user guest encrypted password l+lWcLjLm29bCAXwWRPHXK0PFlsA7gNpR+P7wO4kwQQ=
!
no spanning-tree rstp enable
!
interface port1.0.1
auth-web enable
!
interface vlan1
ip address 192.168.1.120/24
!
The web authentication feature needs the aaa authentication auth-web command configured
globally and the auth-web enable command configured on an interface. See the AAA Commands
and Authentication Commands chapters in the CLI reference, for information to edit this sample
configuration.
The local RADIUS Server has been configured to use web authentication in this sample
configuration. See the radius-server local and server enable commands in the Local RADIUS
Server Commands chapter in the CLI reference, for command information to edit this sample
configuration.
Note: The above sample web authentication configuration requires the user name ‘guest’ with
password ‘guest!’ on IP address 192.168.1.120 from interface port1.0.1.
!
radius-server host 127.0.0.1 key awplus-local-radius-server
aaa group server radius GROUP1
!
aaa authentication auth-web USERS group GROUP1
!
radius-server local
server enable
nas 127.0.0.1 key awplus-local-radius-server
user guest password guest!
!
no spanning-tree rstp enable
!
interface port1.0.1
auth-web authentication USERS
auth-web enable
!
interface vlan1
ip address 192.168.1.120/24
!
The web authentication feature needs the aaa authentication auth-web and the auth-web enable
commands configured on an interface. See the AAA Commands and Authentication Commands
chapters in the CLI reference, for information to edit this sample configuration.
The local RADIUS Server has been configured to use web authentication in this sample
configuration. See the radius-server local and server enable commands in the Local RADIUS
Server Commands chapter in the CLI reference, for command information to edit this sample
configuration.
!
radius-server host 127.0.0.1 key awplus-local-radius-server
!
aaa authentication dot1x default group radius
aaa authentication auth-mac default group radius
aaa authentication auth-web default group radius
!
radius-server local
server enable
nas 127.0.0.1 key awplus-local-radius-server
user guest password guest!
user 00-d0-59-ab-70-37 password 00-d0-59-ab-70-37
!
no spanning-tree rstp enable
!
interface port1.0.1
dot1x port-control auto
auth-mac enable
auth-web enable
!
interface vlan1
ip address 192.168.1.120/24
!
The 802.1X authentication feature needs the aaa authentication dot1x command configured
globally and the dot1x port-control command configured on an interface. See the AAA and 802.1X
Commands chapters in the CLI reference for command information to edit this configuration.
The MAC authentication feature needs the aaa authentication auth-mac command configured
globally and the auth-mac enable command configured on an interface. See the AAA and
Authentication Commands chapters in the CLI reference for command information to edit this
configuration.
The web authentication feature needs the aaa authentication auth-web command configured
globally and the auth-web enable command configured on an interface. See the AAA and
Authentication Commands chapters in the CLI reference for command information to edit this
configuration.
The local RADIUS Server has been configured to use tri-authentication in this sample configuration.
See the radius-server local and server enable commands in the Local RADIUS Server Commands
chapter for command information to edit this sample configuration.
This sample tri-authentication configuration requires a user name ‘guest’ with password ‘guest!’ on
IP address 192.168.1.120 from port1.0.1. Note this sample also configures 802.1X- and MAC
authentication on VLAN1 which has IP address 192.168.1.120. Change the interface VLAN ID, MAC
and IP address as needed for your configuration.
Note: When tri-authentication is applied to the same interface, then the order of execution is MAC
authentication first, then 802.1X or web authentication, if MAC authentication fails.
802.1X Authentication
Introduction
802.1X is an IEEE standard providing a mechanism for authenticating devices attached to a LAN
port or wireless device. Devices wishing to access services behind a port must authenticate
themselves before any Ethernet packets are allowed to pass through. The protocol is referred to as
802.1X because it was initially defined in the IEEE standard 802.1X, published in 2001 and revised in
2004 and again as the current 802.1X 2010 standard.
Networks need a device authentication method that is highly secure, but not tied to a port’s physical
location. Network resources presented to a given user need to be determined from their
authentication credentials.
802.1X user authentication satisfies these requirements. It is relatively uncomplicated and has little
impact on network performance. It is a protocol that is medium-independent —being equally as
effective on wireless connections (802.11i) and wired connections. 802.1X user authentication is
rapidly becoming an expected component on networks.
Authenticator: the device that wishes to enforce authentication before allowing access to
services that are accessible behind it. An example of this is a switch that has 802.1X port
authentication control enabled.
Supplicant: the client that wishes to access services offered by the authenticator’s system. An
example of this is a Windows XP Professional PC with an 802.1X client.
Authentication server: the device that uses the authentication credentials supplied by the
supplicant, to determine if the authenticator should grant access to its services. The AlliedWare
Plus implementation of 802.1X supports the use of a RADIUS. authentication server using
Extensible Authentication Protocol (EAP) in conjunction with RADIUS.
RADIUS
Server
Authentication Server
Switch
Authenticator
Supplicants
The diagram below illustrates where EAPoL and RADIUS protocols are used in the authentication
conversation:
RADIUS
RADIUS
EAPoL Server
Authentication Server
Switch
Authenticator
Supplicants
4. The authenticator wraps the supplicant's reply into a RADIUS packet and sends it to the RADIUS
server.
5. The RADIUS server chooses an authentication method, and sends an appropriate request to the
supplicant as a ‘challenge’.
6. The RADIUS server and supplicant exchange some messages, ferried by the authenticator.
7. The RADIUS server eventually decides if the supplicant is allowed access and the RADIUS server
sends an Access-Accept or Access-Reject message to the Authenticator.
10. When the session is over, the supplicant sends a log-off message.
The EAPoL log-off message, of course, is not sent immediately after the other messages in the
diagram, but is sent later on, at the end of the supplicant’s data session, when it wishes to
disconnect from the network.
Authentication Server
Supplicant Authenticator (RADIUS server)
1 EAPOL-Start
EAPOL conversation
between supplicant EAP-Request/Identity 2
and switch.
3 EAP-Response/Identity (MyID)
4 Radius-Access-Request
Radius-Access-Accept 7
EAP-Success 8
Authentication
success Port authorized
Radius-Access-Reject 7
EAP-Fail 8
Authentication
fail Port unauthorized
9
Data Session
Authentication 10 EAPOL-Logoff
terminated Port unauthorized
192.168.1.250 RADIUS
Server
192.168.1.45
port1.0.5 Authentication Server
Switch
Authenticator
Supplicant
To configure 802.1X authentication, first enable authentication on port1.0.1 and port1.0.2 and then
specify the RADIUS Server IP address and port.
Client A
port1.1.1
vlan 4 192.126.12.1
port1.1.2
Client B
Radius
Server
802-1x_1.1
Step 3: Block traffic in both directions, other than authentication packets, until
authentication is complete.
awplus(config-if)# dot1x control-direction both
awplus(config-if)# exit
Step 5: Specify the RADIUS Server address (192.126.12.1) and authentication port.
awplus(config)# radius-server host 192.126.12.1 auth-port 1812
Step 6: Specify the shared key “mysecret” between the RADIUS server and the client.
awplus(config)# radius-server key mysecret
Multi-supplicant modes
AlliedWare Plus can be configured to accept one or more supplicants downstream of a port. Three
authentication host-modes are available:
single-host: the default state, only one supplicant allowed per port.
multi-host: once the first host on a port is authenticated, all other downstream hosts are allowed
without being authenticated (piggy-back mode).
The command (entered in interface configuration mode for a physical port interface) is :
This command controls how the switch deals with the situation where multiple authentication
supplicants are downstream of a single port. This is possible if an EAP session passes through a
Layer 2 switch which has been connected to the port, and the supplicants are attached to that Layer
2 switch.
Single supplicant
The first option that the command can set is single-host. With this option, only one supplicant may
be authenticated on the port. Once that host has been authenticated, no other supplicants may be
authenticated until the first supplicant’s session has closed. This means, of course, that none of the
other hosts downstream of the port will be able to send or receive traffic on that port.
This option is recommended when you know that there should only be one host connected to a port.
By limiting the port to a single authenticated host, you guard against the consequences of someone
accidentally or maliciously connecting a downstream switch to the port.
Multi-host
The next available host-mode option is multiple host mode (chosen by the parameter value multi-
host). With this mode, once the first host has been authenticated on the port, all other downstream
hosts are allowed without being authenticated. This is sometimes known as piggy-back mode. It is
useful when the downstream switch attached to the authenticating port is an intelligent switch that
can act as an authentication supplicant.
If you trust that malicious users cannot be connected to that switch but you do not know the identity
of those users, then you can simply authenticate the switch and then allow its attached users to
have network access. If the valid switch is disconnected and an invalid one is connected which is
not configured with the correct authentication credentials, then the devices connected to the invalid
switch will be blocked from accessing the network.
Authentication Server
x900 Switch
Authenticator
Once a device has been authenticated, the network knows the identity of the device and/or its user.
Decisions can be made, based on this identity. In particular, it is possible to decide what network
environment, and level of access, to present to this device and its user.
The standard mechanism via which a user’s network environment is controlled is VLAN
membership. Once a user’s packets are classified into a particular VLAN, the user’s access to the
network will be controlled by the constraints that have been put on that VLAN throughout the
network.
For this reason, it is now common for LAN switches to have the ability to dynamically assign the
VLAN into which a device’s traffic will be classified, once that device has been authenticated.
Dynamic VLAN assignment is achieved by a collaboration between the authenticator (the LAN
switch) and the authentication server (the RADIUS server). When the RADIUS server sends back a
RADIUS accept message to the authenticator, it can also include other attributes in that message
that identify a VLAN to which the authenticated device should be assigned.
Identity-based networking—the user gets the same environment no matter where they connect.
Guest Access—guest users are allowed access to very limited parts of the network.
RADIUS
Server
Authentication Server
x900 Switch
Authenticator
Supplicants
Authenticator configuration
In addition to the basic 802.1X configuration, some further configuration is required to enable
Dynamic VLAN creation on the switch. The VLANs that can be dynamically assigned must be
present in the VLAN database:
Ports that accept VLAN membership dynamically have to be enabled for dynamic VLAN creation:
There are two ways that the switch can resolve this situation. It can:
1. Allow the second supplicant to access the network, but assign its data to VLAN 45.
The rule parameter configures which of these choices the switch will opt for. If rule is set to permit,
then option (1) above is chosen. If rule is set to deny, then option (2) above is chosen.
The effect of the type parameter is to make use of MAC-based VLAN support to provide a better
solution to the case where different supplicants downstream of a single port are dynamically
allocated to different VLANs.
If type is set to the value single, then the MAC-based VLAN capability is not used, and the port’s
behavior in the different-dynamic-VLANs situation will be controlled by the rule parameter.
However, if type is set to multi, the switch brings the MAC-based VLAN capability into play. This
capability enables it to support multiple different untagged VLANs on the same port. This is
achieved by associating VLAN membership with the source MAC address of the incoming packets.
So, when different supplicants downstream of a single port are dynamically assigned different
VLANs, the switch simply builds a table that maps supplicants’ MAC addresses to their dynamically
assigned VLANs.
The combination of these parameters results in three options for handling the case where different
VLANs are assigned to supplicants on the same ports.
If the first supplicant authenticated on the port is assigned VLAN X, then any supplicants
subsequently assigned a different VLAN are allowed access, but forced into VLAN X
x900 Switch
Authenticator
In addition, configure your RADIUS server to reply in Access-Accept packets with the attributes in
the following table.
ATTRIBUTE VALUE
x600 Switch
Authenticator
The switch can assign VLAN membership to packets based on source MAC:
Note: The FS980M series switches do not support using this feature:
with VLAN classifier rules on the same port. (VLAN classifier rules enable you to create
Protocol-based VLANs)
at the same time as IP subnet-based VLANs.
For example, visitors to an enterprise will often need to have Internet access. It would be desirable
to have a secure, convenient way to provide this Internet access via the corporate LAN.
Guests are not known to the RADIUS server, so fail authentication. The solution is to provide a Guest
VLAN which is configured with:
AR770
x900 stack
Internet
8000GS
Private Zone
Client devices
10/100 Link
1 Gigabit Link
Link aggregation
If a supplicant attempts authentication and fails or does not even attempt authentication (no 802.1X
client in the PC) then they are dynamically assigned to the guest VLAN.
Note: Users who failed authentication and are dynamically assigned to the Guest VLAN may see
reduced throughput as Guest VLAN traffic is CPU forwarded.
When a supplicant has been authenticated on a port the details of the authentication can be seen
with:
When a supplicant has been authenticated, and assigned to a VLAN, the port they authenticated on
will then be seen to be a member of that VLAN.
show vlan 20
show vlan 30
Web Authentication
Introduction
Web authentication, also known as Captive Portal, is a simple way to provide secure guest- user
access to a network. It is used in a wide range of environments including WiFi hotspots, hotels,
universities, and business centers.
In basic terms, if the switch detects an unauthorized user Web browsing, then irrespective of the IP
configuration on their PC, they are re-directed to a web authentication login page. At this point, the
user is required to enter a username and password before they can begin to Web browse.
The main benefits of this solution come from not requiring additional customer knowledge, software
or special configuration.
Users are able to quickly and easily gain access to the network regardless of the type of device or
operating system used.
The authenticating switch hijacks the user's web browsing session, and sends them the auth-web
login page.
The user enters their username and password into the web page, which the switch then sends to
a RADIUS server for checking.
If the RADIUS server accepts the user’s credentials, the switch then allows their traffic into the
network.
The web-authenticating switch interacts with a RADIUS server in the same way as an 802.1X
Authenticator. So the two methods can easily be used together in the same network, using the same
RADIUS server.
1. The authenticating switch receives HTTP or HTTPS traffic from an unauthenticated supplicant. It
intercepts the supplicant’s web session, and redirects it to its own internal web server, or specially
configured external web servers.
2. The web server serves up an authentication page into which the user may enter their username
and password.
3. The username and password are sent to a RADIUS server, which informs the authenticating
switch whether or not the supplicant is authenticated.
5. If the supplicant has been successfully authenticated, the authenticating switch will give the
supplicant workstation access to the network.
Step 3. Define the IP address the web authentication service will be accessed on.
awplus(config)# auth-web-server ipaddress <ip-address>
Because the virtual IP address is not attached to any of the switch's interfaces, you must install a
hardware filter to make sure the authorized supplicant can access the "Login Success" web page.
For example, if you configure the web-authenticator to use the arbitrary address 1.1.1.1 as follows:
Then the authorized supplicants can't access the "Login Success" page because the traffic
destined to 1.1.1.1 is not necessarily sent to the switch's CPU. So you must also configure a
hardware filter to force packets for 1.1.1.1 to the CPU.
Here is an example of a hardware filter used to force packets for 1.1.1.1 to the CPU:
Configuration example
VLAN database
VLAN 10 name edge
VLAN 30 name core
int vlan10
ip address 192.168.10.1/24
int vlan30
ip address 192.168.30.1/24
int port1.0.1-1.0.20
switchport access vlan 10
auth-Web enable
access-group acl_webauth
int port1.0.21-1.0.22
Note: You can use a host name to represent the authenticating server, using the command auth-
web-server host-name. When you use this command please make sure you have already
registered the host name on the DNS server that users will access.
1. The user starts their web browser, and browses to a page they wish to view. Shortly thereafter,
the address in the browser’s address bar automatically changes to the address of the
authenticating switch’s authentication page.
2. In the switch’s authentication page, the user enters their user name and password, and clicks
login.
3. The switch displays a page that informs them that authentication is in progress.
If the user enters a username/password combination that is not accepted by the RADIUS server,
the switch presents an invitation to check the username and password, and try again.
If the user enters incorrect usernames/passwords several times the authentication has failed. The
number of times a user can try to login is configurable, but it is set to 3 by default.
To use web authentication effectively, it is necessary to understand these details – how they work
and how to configure them.
The web browser communication process that the authentication overlays, is itself reliant on IP
addressing, ARP, and DNS. The authentication needs to occur in a seamless manner for all users,
irrespective of their IP and DNS setting, and before they have full access to the network.
To make this possible, the switch needs to provide facilities that enable the user’s PC to access the
authentication web page.
There are a few different features of web authentication that work together to achieve this:
For example, if the user's DNS request receives no reply, the web browser will never progress on to
attempting an HTTP/HTTPS session.
Thus web authentication must forward ARP, DHCP and DNS packets.
In general supplicants don't know the web authentication login page URL. In fact, supplicants will
typically just start trying to browse to somewhere on the Internet. So web authentication must hijack
all HTTP/HTTPS packets from unauthorized supplicants and send back the Login page contents
instead of allowing the session to the user's intended destination. Therefore, TCP/UDP packet
forwarding is disabled. To force TCP/UDP packets to pass through the Authenticator before the
supplicant is authorized you need to configure selective TCP/UDP forwarding.
The simplest way to achieve this is to use the web authentication switch itself to act as a DHCP
Server. There is a DHCP server built in to web authentication. This DHCP server is dedicated to
serving IP addresses to be used by web authentication clients.
The IP address specified in this command is the IP address of the web authentication service. If the
web authentication service’s IP address has not already been configured by the command auth-
web-server ip address <ip-address>, then this command configures the service’s address.
If the web authentication service’s IP address has already been configured by the command auth-
web-server ip address <ip-address>, then the IP address in the auth-web-server dhcp
command must be the same as that already configured. By default, this DHCP server serves leases
of 30 seconds duration. The lease duration can be changed by the command auth-web-server
dhcp lease <20-60>. The short lease is deliberate. It facilitates the transition to a new VLAN/subnet
after authentication. The supplicant is unaware that the switch transitions it to another VLAN, with
another DHCP server, after authentication succeeds.
How can we force the supplicant to request a new DHCP lease after the completion of the
authentication process? There is no mechanism by which the supplicant's web browser signals
down to the DHCP client process to say “I've just completed an authentication session, you need to
request a new DHCP lease.”
Similarly, there is no mechanism by which the switch signals to the supplicant to say
“I have just assigned you to VLAN 236, you now need to obtain a DHCP lease from the DHCP
server on that VLAN.” How can we force the supplicant to request a new DHCP lease after the
completion of the authentication process?
There is no mechanism by which the supplicant’s web browser signals down to the DHCP client
process to say “I’ve just completed an authentication session, you need to request a new DHCP
lease.”
This new request will now be serviced by the DHCP server on the supplicant’s new VLAN.
Note: When the built-in DHCP server is running, ARP/DHCP/DNS/HTTP packets are redirected to
the Web-Auth module, and other packets are dropped. Even if packet forwarding (configured
by the auth-web forward command, including the default setting ARP/DHCP/DNS
forwarding) is ignored.
Create your own login page and serve it from the AlliedWare Plus device (see "Serving your own
login page from the AlliedWare Plus device" on page 42), or
Create your own login page and serve it from an external web server (see "Serving your own login
page from an external web server" on page 42), or
Use the default login page and customise it (see "Customizing the default login page" on page 46)
Serving your own login page from the AlliedWare Plus device
With Version 5.4.6-1.1 and later, you can create your own web authentication login page.
Write the page in HTML. Note that it must include the following login form code:
<form action="/index.cgi" autocomplete="off" target="_self" name="AUTH"
method="POST">
<div>User name</div>
<div><input size="30" type="text" maxlength="64" name="USERNAME"></div>
<div>Password</div>
<div><input size="30" type="password" maxlength="64" name="PASSWORD"></div>
<div>
<input type="submit" name="ACTION" value="login">
<input type="reset" name="RESET" value="Reset">
</div>
</form>
If you do not include the above login form, the page will display in the client browser but will not
perform web authentication.
When web authentication is set up to obtain the login page from an external web server, the
sequence of events is as follows:
1. The supplicant will start to browse, and the Authenticator will intercept the supplicant HTTP
packets.
2. The Authenticator sends an HTTP response packet to the supplicant, and in this packet the
Authenticator uses the “refresh” attribute to tell the supplicant to obtain the login page from the
external web server.
3. The supplicant sends an HTTP request to external web server requesting the page login.html.
4. The external web server returns the login page. The external server must hold the file that is
specified in the command auth-web-server login-url.
5. The supplicant then returns to communicating with the Authenticator. When the user enters their
username and password, the supplicant sends these to the Authenticator.
6. The Authenticator will pass the user name and password to the RADIUS server for authentication.
8. The Authenticator sends the result page to the supplicant. This is not a custom page, but is the
standard page built into web authentication.
The role of the external web server is to provide a customized login-page only. web authentication is
still performed by the AlliedWare Plus built-in server.
Standard Steps 1- 4 below are standard configuration for web authentication, and step 5 explains how to
config configure the external web server:
awplus(config)#int vlan1
awplus(config-if)#ip address 192.168.1.2/24
Step 5: Now we come to the step that is specific to using the external login server.
You can use a domain name or the IP address of the external web server (in this example the IP
address of the external web server is 192.168.1.1). You also need to allow HTTP packets to the
external login server to be forwarded by using the command auth-web forward:
Note: The routing in this network must be set up such that packets can be routed directly between
the supplicant and the external web server.
Supplicant 1. When the supplicant tries to access any website, it will be redirected to the external login page
login for authentication:
2. Enter the username and password. Click login. The authenticating page will appear. This is the
standard success page from the Authenticator.
Wait for several seconds for the notification of success (or failure).
External 1. A file with the same name as that specified in the command auth-web-server login-url must be
login page present on the external web server.
support
2. The file must contain the following elements:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML 5 complete</title>
</head>
<body>‘
<form action="http://<AW+ IP address>/index.cgi" autocomplete="off"
target="_self" name="AUTH" method="POST">
<div>User name</div>
<div><input size="30" type="text" maxlength="64" name="USERNAME"></div>
<div>Password</div>
<div><input size="30" type="password" maxlength="64" name="PASSWORD"></div>
<div>
<input type="submit" name="ACTION" value="login">
<input type="reset" name="RESET" value="Reset">
</div>
</form>
<body>
</html>
Please note in this feature the Authenticator and the external web server don't communicate with
the each other. The role of external web server is just to serve a customized login page to the
supplicant.
3. Please note that the external login server feature is mutually exclusive with the
auth-web DHCP server feature. So it is not possible to configure the commands
auth-web-server login-url and auth-web-server dhcp ipaddress at the same time.
On the authentication challenge page, there are four items that can be customized:
Title
Sub-title
Welcome message
Logo
The authentication success page can also be customized, as can the authentication failure, and any
other information web authentication pages.
Customize To configure customized web authentication pages, use the following steps:
web-auth
pages Step 1: Use the following commands to customize the strings that are present on the
pages by default:
auth-web-server page sub-title {hidden|text <sub-title>}
auth-web-server page title {hidden|text <title>}
The hidden option on these commands will, of course, simply remove the string from the page
altogether.
The no form of these commands simply takes the string back to its default state.
Step 2: Use these commands to add the strings that are not present by default:
auth-web-server page success-message text <success-message>
auth-web-server page welcome-message text <welcome-message>
Step 3: To customise the logo, load your new logo to the location: flash:/logo.gif
e.g. copy tftp://<tftp server address>/my_logo.gif flash:/logo.gif
If a flash:/logo.gif does not exist, then the default Allied Telesis globe is used
If default is specified, then the logo displayed on the web authentication pages is the default
Allied Telesis globe regardless of whether or not flash:/logo.gif exists.
Format: GIF
Dimensions: The ideal dimensions for the logo file are 185x90 pixels.
Put it all Using the image above stored as flash:/logo.gif, and the following commands, the authentication
together challenge page and the success pages appear as shown in the diagrams below:
example
auth-web-server page sub-title text Example Sub-title Text
auth-web-server page title Example Title
auth-web-server page success-message text Example Welcome Message
auth-web-server page welcome-message text Example Welcome Message
If you have Web servers or HTTP proxy servers in your network that are listening on ports other than
80 and 443, then you must register these port numbers as port numbers to intercept. You can
configure web authentication to treat particular port numbers as denoting HTTP traffic by using the
auth-web-server intercept-port command, and other port numbers as denoting HTTPS traffic by
using the auth-web-server ssl intercept-port command.
For example, If you have an HTTP proxy server listening on TCP port 8080, you must configure the
following command:
Similarly, if you have an HTTPS server listening on TCP port 900, you must configure the following
command:
If you have proxy server setting in your Intranet, please note that HTTP packets going to the proxy
server will be redirected, but web authentication doesn't support the redirecting of HTTPS packets
going to a proxy server.
Secure authentication
The web authentication service can be configured to use a secure HTTPS connection. This ensures
that the username and password are sent from the supplicant to the switch in encrypted form, and
cannot be snooped by anyone eavesdropping on the session.
You can configure it to use a secure HTTPS instead of HTTP with the command:
You can also use both HTTP and HTTPS using the command:
When both protocols are used, HTTP packets are redirected to the HTTP server and HTTPS packets
are redirected to the HTTPS server respectively.
Such a file could be created, for example, by using OpenSSL, which is available for multiple different
operating systems.
This will result in you being prompted for a number of parameters, like organization name, email
address, etc. Enter whatever values you want for these parameters.
Privkey.pem and cacert.pem are text files. Use a text editor to combine the content of these files
together into a single file.
The order within the file does not matter – the key could be first, or the certificate could be first.
Once the file has been copied onto the switch to be the web authentication HTTPS file, the output of
the command show auth-web-server will look similar to this:
awplus#show auth-web-server
Web-authentication server
Server status: enabled
<SNIP>
Certification: user <------
<SNIP>
If you are not using a certificate that was copied onto the switch, but using one generated by the
switch itself, then this is reported as “Certification: Default”. If you wish to remove the certificate that
you have copied onto the switch, and go back to using the switch’s self-generated certificate, use
the command erase web-auth-https-file.
Note: If you have used the command auth-web-server host-name to set the host-name of the web
authentication server, then the switch will set the certificate's common name (FQDN) to be the
same as this configured host name. This is because when a browser verifies a certificate, it
will check that the host name and common name of server certificate are the same. If that
check fails the Web browser displays an error message indicating peer server may be fake.
Also make sure that you have already registered the host name on the DNS server that users
will access.
the user clicks the logout button they were provided with on the “Authentication Success” page,
as described in "Starting a web authentication session" on page 36.
Consider the case that a supplicant is not directly connected to the authenticating switch, but is
connected to another switch that lies between itself and the authenticating switch, and the user
simply disconnects their workstation.
If the network administrator wishes to ensure that the authenticating switch detects the supplicant’s
disconnection quickly, rather than waiting for the next expiration of the re-authentication period,
then they can use ping polling to monitor the supplicants.
Once ping polling has been enabled, the web authentication service will automatically ping-poll
every web authentication supplicant once they have been authenticated.
timeout of 1 second (i.e. the switch waits 1 second for the ping response before deciding the ping
has failed)
failcount of 5 (i.e. if a given supplicant fails to respond to five pings in a row, its authenticated
session is terminated)
The currently configured values of these parameters can be seen by using the command:
show auth-web-server
awplus#show auth-web-server
Web-authentication server
PingInterval: 30
Timeout: 1
FailCount: 5
ReauthTimerRefresh: disabled
When you use this command to serve a host-name to represent the web authentication server, the
supplicant must be able to resolve that host-name to access the web authentication server. This
means the host-name assigned to the web authentication server must be registered to a DNS
server. For example, if you enter the command auth-web-server host-name abcauthenticating,
you also must register a record for abcauthenticating to the DNS server. The Authenticator device
acts as the default gateway and will register the gateway information when the supplicant is
authorized.
Any HTTP Get Request received on an unauthorized interface is redirected to the web
authentication server automatically by default. So the command auth-web-server http-redirect is
hidden.
Idle time-out
On AR Series devices, web authentication supports an Idle-Time feature. If the authenticator has not
seen data from a client for a configurable time period, then the client is automatically set to
unauthorized.
To enable the web authentication idle timeout process on eth1, use these commands:
awplus#configure terminal
awplus(config)#interface eth1
awplus(config-if)#auth-web enable
awplus(config-if)#auth-web idle-timeout enable
awplus#configure terminal
awplus(config)#interface eth1
awplus(config-if)#auth-web idle-timeout timeout 1800
Before the supplicant tries to authenticate, its packets are managed as shown in the table below,
and if a user fails to login 3 times in a row, it will restart the authentication process from the
beginning.
DNS By default, traffic is passed through to the DNS server (by using own
routing information).
If the interface is configured with the command
no auth-web forward dns, then it is dropped.
ARP Traffic is always sent to the CPU, and by default is passed through to
the local subnet also.
If the interface is configured with the command
no auth-web forward dns, then it is dropped.
An audit trail of web authentication events is kept in the system log. Successful and unsuccessful
login attempts, and log offs all generate entries in the system log.
2010 Jun4 18:50:54 daemon.notice awplus radiusd[1712]: Login OK: [andrewr] (from
client 127.0.0.1 port 5019 cli 00-1c-7e-95-d6-bb)
A list of all currently authenticated web authentication supplicants can be seen from the commands:
DH
x6 thW
W8 1.0.4 1.0.1
x5 Se
Au
10 eb
CP
10 rv
.1
NA
T
1.0.1 1.0.11
re
The configurations are:
x610_AuthWEB
This is the switch that is performing the Web Authentication. It is configured to accept HTTPS
connections, redirect users to www.polimi-it, and put failed and guest users into VLAN218.
ip name-server 8.8.8.8
ip domain-lookup
vlan database
vlan 201 name WR-ED9
vlan 218 name TESTGUESTWEB
interface port1.0.1
switchport mode trunk
switchport trunk allowed vlan add 201,218
interface port1.0.2
switchport access vlan 218
interface port1.0.4
switchport access vlan 201
access-group acl_webauth
auth-web enable
dot1x port-control auto
dot1x timeout tx-period 5
218
auth auth-fail vlan 218
spanning-tree portfast
interface vlan201
ip address 10.169.0.201/24
interface vlan218
ip address 10.168.18.218/24
ip route 0.0.0.0/0 10.168.18.253
ip dns forwarding
x510_DHVCP_serv:
interface port1.0.1
switchport mode trunk
switchport trunk allowed vlan add 201,218
switchport trunk native vlan none
interface port1.0.11
switchport mode trunk
switchport trunk allowed vlan add 201,218
switchport trunk native vlan none
interface vlan201
ip address 10.169.0.253/24
interface vlan218
ip address 10.168.18.253/24
ip route 0.0.0.0/0 10.169.0.251
If they then try to browse to a website, they are presented with the WebAuth login page.
DHCP debugging on the x510 shows the change of IP from guest-vlan218 to vlan201.
MAC Authentication
There are plenty of network-connected devices, like printers, scanners, fire-alarm monitors and so
on, that have neither a human user nor implement an 802.1X supplicant. In a network that ensures
all access is authenticated, there needs to be a mechanism for authenticating these devices.
Fortunately, all Ethernet transceivers have a unique identifier—their MAC address. Hence, even
without user input of a username and password, any Ethernet device will automatically identify itself
simply by virtue of the source MAC address in the packets it sends. The method that has been
developed for authenticating these devices uses the MAC address as the identifier, and so is called
MAC-based authentication.
MAC authentication does not involve a process whereby the switch sends an ID request to the
supplicant. The switch receives the ID from the supplicant by simply looking at the source MAC in
the packets being sent from the supplicant.
The MAC address of the supplicant is a single identifier. But a RADIUS access-request requires both
a username and a password. The workaround employed by MAC authentication is simply to use the
MAC address as both username and password.
The switch extracts the source MAC address from the supplicant's packets and puts it into a string
of the form xx-xx-xx-xx-xx-xx, using lower-case letters for any hex digits in the range a-f. This string
is then used as both the username and the password in the RADIUS access-request packet. The
supplicant MAC address is also sent in the attribute 31 “calling-station-id” as usual.
1. Define the authentication method list that is used for MAC authentication.
There is only one method list that can be created for MAC authentication—the default method list.
Moreover, the only authentication server type that can be used is RADIUS.
2. Enable MAC authentication on the ports that are to perform this authentication:
On the RADIUS server, it is necessary to create user entries where both the username and password
are the MAC address of the supplicant, in the form xx-xx-xx-xx-xx-xx. For example on the
AlliedWare Plus local RADIUS server, the configuration is:
It is also possible to configure the authentication protocol that the switch uses in its interaction with
the RADIUS server. There are two choices of protocol: EAP-MD5 and PAP. The default method is
PAP, and can be changed by using the command:
Tri-authentication
Tri-authentication is when multiple port authentication methods (MAC, 802.1X, and/or web-based)
are configured on the same interface. With tri-authentication, a supplicant is authorized to use the
network as soon as they are successfully authenticated by any of the configured authentication
methods.
The supplicant is authorized as soon as they are successfully authenticated by any method.
Tri-authentication configuration
The following three steps configure tri-authentication across a range of switch ports:
Define the RADIUS Server where the switch will send authentication requests by using the
commands:
These commands adds the RADIUS Server address and set parameters to the RADIUS server. The
key parameter specifies the secret key for the server.
Note: The RADIUS Server, where the switch sends authentication requests, can be the switch’s own
Local RADIUS Server. For information on how to configure Local RADIUS Server see the
Local RADIUS Server Feature Overview and Configuration Guide.
Define the default authentication server lists for 802.1X authentication, web authentication, and
MAC authentication:
Follow the instructions below to enable 802.1X authentication, web authentication, and MAC
authentication on switch ports to attach supplicant devices. This authenticates the supplicant if any
of the three methods that the supplicant tries work.
Refer to the other sections of this guide to configure VLANs, IP addresses and other authentication
settings for the authentication type you want.
When authentication priority is set, however, and a higher priority authentication attempt is made by
the supplicant, a new authentication process starts. The supplicant will then be authorized, or
unauthorized, based on the result of this new authentication attempt.
Applies new information acquired from the RADIUS server during additional authentication
attempts, to the supplicant.
This allows the supplicant to receive the information required to initiate an 802.1X authentication
attempt.
The supplicant is then authorized, or unauthorized, based on the result of this 802.1X
authentication attempt.
The following steps describe how to configure 802.1X authentication to have a higher priority than
MAC authentication on interface port1.0.1.
See the relevant sections of this guide to configure VLANs, IP addresses, and other authentication
settings for both authorized and unauthorized supplicants.
Two-step Authentication
The single step authentication methods (either user or device authentication) have a potential
security risk:
Two-step authentication solves this problem by authenticating both the user and the device. The
supplicant will only become authenticated if both these steps are successful. If the first
authentication step fails, then the second step is not started.
By default the following authentication sequences are supported for two-step authentication:
This order can be changed with the auth two-step order command.
4. Make sure that both authentication steps require different authentication credentials.
If MAC authentication is configured then MAC authentication will be the first method.
If MAC authentication is not configured then 802.1X authentication will become the first method.
If only two methods are configured then the remaining method becomes the second method.
If all three methods are configured then the second method is chosen based on the packet type
received (802.1X authentication for an EAPOL packet and web authentication for an HTTP
packet).
The auth two-step order command allows you to change this default order. The first method must
be either auth-mac or dot1x while the second method can be any of the three methods; auth-mac,
dot1x, or auth-web.
If, for example, you would like to configure the two-step authentication order to be 802.1X
authentication followed by MAC authentication use the following commands.
Use the no variant of this command to reset the order back to default.
Use the show auth interface command to see the two-step authentication order configuration.
Use the show auth supplicant command to see the a supplicant’s two-step authentication status.
The vulnerability occurs because there is no way for a RADIUS server to determine what
authentication method you are using. Authentication simply queries a RADIUS server to see whether
a username/password pair is valid.
This means that if you use the same RADIUS server for multiple authentication methods, a user can
enter the same username/password pair for each of these authentication methods. If that
username/password pair is valid for one of the methods, it will work for all of them.
This vulnerability is particularly significant for MAC authentication, because the default username
and password is the MAC address of the supplicant device, which is easy to discover.
For example, if you set up two-step authentication of MAC authentication and 802.1X
authentication, and both use the same RADIUS server, then an attacker does not need to know the
801.1x username and password. Instead, they can pass the 802.1X authentication step by entering
the device’s MAC address into the 802.1X username and password fields.
Change the default password for MAC authentication, by using the auth-mac password
command.
C613-22088-00 REV J Ensuring Authentication Methods Require Different Usernames and Passwords | Page 67
AAA and Port Authentication
Roaming Authentication
When network security is required, the usability of network security must be considered. The
Roaming Authentication feature improves the usability of network security by enabling users to
move within the network without requiring them to re-authenticate each time they move.
If a supplicant (client device) moves from one wireless access point to another wireless access
point, and the wireless access points are connected to different ports, then the switch
(authenticator) recognizes that the supplicant has been authenticated and accepts the supplicant
without requiring re-authentication.
Web authentication and MAC authentication are the authentication methods in a Wireless LAN
environment, and 802.1X is the authentication method used for supplicants attached to edge
switches.
Roaming Authentication is normally enabled using the auth roaming enable command. However,
Roaming Authentication has been extended (with the auth roaming disconnected command) to
work where an interface is link down. This allows you to enable supplicants to move from
authenticated interfaces that are link down, without requiring re-authentication.
Roaming Authentication is available for use with the VCStack feature, and is available on static and
dynamic (LACP) channel group interfaces.
With the Roaming Authentication feature enabled, a switch port inherits the status of a supplicant
from the switch port that the supplicant was moved from. If the Roaming Authentication feature is
enabled on a switch, then once a supplicant (client device) is authenticated on the switch it does not
have to be re-authenticated if it moves between ports of that switch. Supplicant traffic is not
dropped because there is no delay for re-authentication, during which the supplicant cannot access
the network.
For example, when the Roaming Authentication feature is used in an wireless LAN environment with
wireless access points, then the wireless clients can roam between wireless access points
connected to different switch ports without re-authentication.
The Roaming Authentication feature also supports VCStack operation and works on defined static
channel group (static aggregators) and dynamic channel group (LACP) interfaces. When VCStack
and Roaming Authentication features are used together, the status of a supplicant is inherited from
one aggregated interface to another aggregated interface over the stack.
Authentication status
Authentication method
Supplicant name
Reauthentication timer (if configured using the auth timeout reauth-period command)
Roaming Authentication is only supported between interfaces with the same authentication
configuration. If source and destination interfaces have different authentication configuration then
the supplicant will be re-authenticated at the destination interface.
When the host mode is set with the auth host-mode, a supplicant is not authenticated on a
destination interface, and the authentication status is deleted on the source interface.
When a supplicant moves from an interface with authentication configured to an interface without
authentication configured, the supplicant’s authentication status is deleted.
Multiple Dynamic VLANs are supported when configured with the auth dynamic-vlan-creation
using the multi parameter. Multiple Dynamic VLANs are disabled by default.
Supplicants are re-authenticated on the destination interface if the VLAN ID changes when Single
Dynamic VLANs are configured with the auth dynamic-vlan-creation the using the single
parameter. Single Dynamic VLANs are disabled by default.
The Roaming Authentication feature will not function with Dynamic VLANs.
The Roaming Authentication feature will not function with Guest VLANs.
When the Roaming Authentication feature is configured for use on a stack with the VCStack feature,
note that supplicants are initialized and re-authenticated if a VCStack failover occurs.
Newly attached supplicants, which are still in the process of their first authentication attempt
Supplicants that have made an authentication attempt, but have failed authentication
Supplicants that have been attached, but have not made an authentication attempt. For example,
on a port that has only 802.1X authentication enabled, any supplicant that has no 802.1X client
software will not be able to attempt 802.1X authentication.
In switches that are running the AlliedWarePlus Operating System, packets from all these three
categories of unauthenticated supplicants are treated equally; no distinction is made between these
three categories. The treatment of the traffic from unauthenticated supplicants does, however,
depend on two factors:
Whether a Guest VLAN has been configured on the switch port to which the supplicant is
attached
Whether Web authentication has been configured on the switch port to which the supplicant is
attached
The rules governing the treatment of packets from unauthenticated supplicants are laid out in the
table below:
Table 3: Treatment of packets from unauthenticated supplicants
SWITCH PORT NO GUEST VLAN CONFIGURED NO GUEST VLAN GUEST VLAN CONFIGURED
CONFIGURATION CONFIGURED, AUTH-FAIL
VLAN CONFIGURED
web Packets from unauthenticated Packets from unauthenticated Packets from unauthenticated
authentication supplicants are associated with supplicants are associated supplicants are associated with the
configured the Native VLAN of the port. with the Native VLAN of the Guest VLAN of the port. Packets from
Packets from unauthenticated port. If newly connected unauthenticated supplicants are
supplicants are processed supplicants attempt 802.1X processed according to these rules:
according these rules: port authentication or web ■ Packets destined to the WebAuth
■ Packets destined to the authentication and fail, then server IP address/TCP port are
WebAuth server IP address/ they are moved to the auth-fail forwarded to the server (which may
TCP port are forwarded to the VLAN. well be the switch itself).
server (which may well be the ■ DHCP packets are sent to the CPU,
switch itself). to be processed by a local DHCP
■ DHCP packets are sent to the server, or relayed to another DHCP
CPU, to be processed by a server, depending on the
local DHCP server, or relayed configuration of the switch.
to another DHCP server, ■ DNS packets are forwarded to the
depending on the CPU, and then sent on to a DNS
configuration of the switch. server, if the switch is configured
■ DNS packets are forwarded to with a DNS server address.
the CPU, and then sent on to ■ ARP packets are forwarded to the
a DNS server, if the switch is CPU, and an ARP entry for the
configured with a DNS server supplicant is learnt.
address. ■ Drop all other packets destined to
■ ARP packets are forwarded to the IP address of the Guest VLAN.
the CPU, and an ARP entry for ■ Layer 2 forward packets destined
the supplicant is learnt. to other addresses within the Guest
■ If web-auth forwarding is VLAN.
enabled for particular types of ■ All other packets are dropped.
packets, then those packets
will be forwarded within the
Native VLAN
■ All other packets are dropped.
No web All non-eap packets from All non-eap packets from Packets from unauthenticated
authentication unauthenticated supplicants are unauthenticated supplicants supplicants are associated with the
configured dropped. are dropped. Guest VLAN of the port. The packets
are processed according to these rules:
■ Drop packets destined to the IP
address of the Guest VLAN.
■ Layer 2 forward packets destined
to other addresses within the Guest
VLAN.
■ Drop all other packets.
The rules for deciding that a supplicant has failed authentication are listed below for each type of
authentication available:
If the supplicant does not respond to EAP authentication requests, then the switch will resend the
authentication requests up to a maximum number of attempts set by the command dot1x max-
reauth-req (the default is 2). The interval between the attempts is set by the command dot1x
timeout tx-period (the default is 30 seconds). If the supplicant still has not responded after this, it is
deemed to have not attempted authentication.
Until the supplicant has attempted any web-browsing, or has received the authentication request
page, but not yet clicked the login button, the supplicant is deemed to be not yet authenticated (as
against not able to authenticate).
This feature enables the network administrator to enact a security policy in which the supplicants
who fail authentication are given extremely limited access, or are given access to remedial
applications.
If the Guest VLAN and auth-fail VLAN are both configured on a switch, then a newly connected
supplicant initially belongs to the Guest VLAN. If newly connected supplicants attempt 802.1X port
authentication or web authentication and fail, then they are moved from the Guest VLAN to the auth-
fail VLAN.
The criteria for how many failed authentication attempts are allowed before the supplicant is moved
to the auth-fail VLAN differs, depending on the authentication method used.
If web authentication is used, then the supplicant is moved to the auth-fail VLAN after the first failed
attempt. If 802.1X port authentication is used, then the supplicant is moved to the auth-fail VLAN
after the number of failed attempts is equal to the value configured by the dot1x max-auth-fail
command (by default, three failed 802.1X authentication attempts are allowed).
The MAC authentication feature does not support the max-auth-fail option. If auth-fail VLAN feature
is used in conjunction with MAC authentication only one attempt is allowed for a MAC
authentication supplicant. If the attempt fails, then the supplicant will be treated as “Authenticated”
and the interface will be added to the configured auth-fail VLAN.
Table 4: Interoperation of authentication types with Guest VLAN and auth-fail VLAN
802.1X Layer 2 forward packets Unauthorized supplicant can Failed authentication supplicant can
authentication destined to other addresses access Guest VLAN. Use ACL for access auth-fail VLAN. See
within the Guest VLAN. security on the interface. limitations table below for ACL usage
limitation.
MAC authentication Layer 2 forward packets Unauthorized supplicant can Failed authentication supplicant can
destined to other addresses access Guest VLAN. Use ACL for access auth-fail VLAN. See
within the Guest VLAN. security on the interface. limitations table below for ACL usage
limitation.
Web authentication Layer 2 forward packets Unauthorized supplicant can Failed authentication supplicant can
(without intercept destined to other addresses access Guest VLAN. Use ACL for access auth-fail VLAN. See
mode) within the Guest VLAN. security on the interface. limitations table below for ACL usage
limitation.
Web authentication (Not Available) (Not Available) (Not Available)
(with intercept
mode)
Guest VLAN (Not Available) (Not Available) Cannot configure ACLs on the Guest
(without routing VLAN when it is not in routing mode.
mode) The Guest VLAN without routing mode
has reserved ACLs already attached to
it.
Guest VLAN (Not Available) (Not Available) Configuration of ACLs for additional
(with routing interface security is recommended.
mode)
Failed Cannot configure ACLs on Configuration of ACLs for additional Failed authentication supplicant can
Authentication the Guest VLAN when it is not interface security is recommended. access auth-fail VLAN. See limitations
VLAN in routing mode. table below for ACL usage limitation.
The Guest VLAN without
routing mode has reserved
ACLs already attached to it.
By default, AlliedWare Plus only allows packet forwarding on the VLAN that a device is
authenticated on. This enhancement allows packet forwarding to the attached device on any VLAN
configured on the switchport. After the device authenticates it will have access to all VLANs
configured on the switchport.
Packet forwarding on multiple VLANs is only available on trunked (tagged VLAN) ports. Once
enabled on a port any supplicant authenticating on that port will have access to any VLANs
configured on that port.
For example, to enable the feature on switchport port1.0.2, use the following commands:
This sample configuration illustrates packet forwarding on vlan10 (the native vlan), vlan20 and
vlan30 for authenticated devices on port1.0.2.
interface port1.0.2
switchport
switchport mode trunk
switchport trunk native vlan 10
switchport trunk allowed vlan add 20,30
dot1x port-control auto
dot1x control-direction in
auth host-mode multi-supplicant
auth multi-vlan-session
You can manage authentication configurations with port authentication profiles. Authentication
profiles are named objects that aggregate authentication configuration commands and are easy to
attach to, and detach from, an interface.
Instead of applying authentication commands directly to an interface they are applied to a profile.
This profile, which can be thought of as a template, is then attached to an interface. A single profile
can be attached to multiple interfaces, alternatively multiple profiles can be created for one or more
interfaces and attached as needed.
A port authentication profile is defined by using the auth profile <profile-name> command. This
command puts you into authentication profile mode. If <profile-name> does not exist it will be
created; if it does exist then any configuration changes you make will be applied to the existing
profile.
The following commands configure an authentication profile called ‘student’. If ‘student’ does not
already exist it will be created.
From the port authentication profile mode authentication configuration commands can be entered
exactly as they would be entered in interface mode. For example the following commands add
authentication configuration settings to the ‘student’ profile. This profile can then be attached to an
interface.
A profile is attached to an interface using the auth profile <profile-name> command from the
interface mode. It can be attached to a static channel, a dynamic (LACP) channel group, or a
switch port. Attach the profile ‘student’ to interfaces port1.0.20 and port1.0.21.
Executing show running-config, on the configuration above, displays the following authentication
information for the profile and interface:
awplus#show running-config
...
!
auth profile student
auth-mac enable
auth-web enable
auth host-mode multi-supplicant
auth auth-fail vlan 40
auth dynamic-vlan-creation
auth-web max-auth-fail 2
!
...
!
interface port1.0.20-1.0.21
switchport
switchport mode access
switchport access vlan 10
auth profile student
!
...
awplus#
Any changes made to a profile is immediately applied to each interface to which it is attached.
These commands will enable reauthentication on all interfaces the ‘student’ profile is attached to.
Only one profile can be attached to an interface at a time. If you try to attach a second profile an
error message will be displayed. Before attempting to attach a new profile to an interface you need
to detach the old one with the no auth profile <profile-name> command.
For example, if you attempt to attach the profile ‘teacher’ to an interface that already has the profile
‘student’ attached an error message is thrown.
The correct way to attach a new profile to an interface is to first detach the old profile.
Port authentication interface mode commands and port authentication profiles cannot be used on
the same interface. Issuing authentication commands on an interface that already has a profile
attached results in an error, and adding a profile to an interface with an existing configuration results
in this configuration being overwritten.
In this example the command to enable two-step authentication fails as a profile is already attached
to this interface.
Attaching the ‘student’ profile to an interface that already has two-step authentication enabled;
disables two-step authentication and displays a warning message.
A profile cannot be deleted if it is still attached to an interface. An error message will be displayed if
you try and do this.
Introduction
The DHCP Framed IP Lease feature allows you to automatically configure a DHCP IP lease when a
network device is authenticated using 802.1X or MAC authentication. This makes it easier to
manage multiple network devices using a central RADIUS server to assign IP addresses and other
network settings.
This feature is useful when a network device (e.g. an IP camera) needs to be identified by its IP
address. If the device needs replacing it is important that the replacement device has the same IP
address and network configuration as the faulty one. DHCP Framed IP Lease allows you to store the
DHCP configuration for the device, along with its username and password, on the RADIUS server.
When the replacement is installed, the IP address and network configuration will be requested from
the RADIUS server by the DHCP server and then applied to the supplicant.
For example, the following shows how the feature works when a supplicant first accesses the
network using 802.1X authentication.
3. The RADIUS server replies Access-Accept with extra ‘framed’ RADIUS attributes applicable to
that user.
4. The authenticator retrieves the framed RADIUS attributes from the Access-Accept packet and
configures DHCP for the supplicant's MAC address.
6. The supplicant (as a DHCP client) starts the DHCP operation by sending a DHCP discovery
message to the DHCP server (the authenticator).
7. The DHCP server (the authenticator) sends a DHCP offer message to the supplicant. This offer is
based on the configured DHCP information retrieved from the RADIUS server in step 4.
8. The supplicant sends a DHCP request packet for the offered IP address.
9. The DHCP server sends a DHCP acknowledgement to confirm the IP address allocation.
Note: This feature relies on the authenticator being configured with the relevant DHCP server pool
for the IP address sent by RADIUS server.
2 RADIUS Access-Request
RADIUS conversation
EAPoL conversation between switch and
between supplicant 3 RADIUS Access-Accept RADIUS server.
with framed attributes
and switch.
Authenticator configures
4
DHCP with framed attributes
5 EAPoL-Success
6 DHCP discovery
7 DHCP offer
DHCP conversation
between supplicant
and switch. 8 DHCP request
9 DHCP acknowledgement
Note: If configuring the DHCP server for the supplicant fails in step 4, 802.1X or MAC authentication
will continue and an EAPoL-Success packet will still be sent.
Note: If two-step authentication is enabled, and both steps are configured to contact a RADIUS
server, the Framed IP Lease configuration is extracted from the second RADIUS response. If,
however, the second authentication method is set to force-authorized, which does not require
a connection to the RADIUS server, then the configuration is extracted from the first response.
You need to complete the following steps to configure the DHCP Framed IP Lease feature on your
network.
2. Configure the following ‘framed’ RADIUS attributes on the RADIUS server for the user:
Framed-Route (22): the default gateway IPv4 address to be configured for the user
Note: The Frame-IP-Address (8) attribute must be configured for this feature to work. All other
attributes are optional.
6. Setup a DHCP pool with the network range for the IP address/es registered on the RADIUS server
Configuration example
This examples configures the local RADIUS server to provide ‘framed’ attributes to a network device
(such as an IP camera) using 802.1X to authenticate to the network.
radius-server local
server enable
nas 192.168.1.10 key secret
user camera-user1 encrypted password xxxxx group dhcp-camera-user1
Step 2: Configure the ‘framed’ RADIUS attributes on the RADIUS server for the user
This snippet shows the attributes configured as part of the dhcp-camera-user1 group.
group dhcp-camera-user1
attribute Framed-IP-Address 10.1.1.111
attribute Framed-IP-Netmask 255.255.255.0
attribute Framed-Route 10.1.1.1
attribute Session-Timeout 3600
The network range must include the IP address/es registered on the RADIUS server
Display the supplicant information using the show dot1x supplicant command. This shows the
DHCP Framed IP Lease assigned to the supplicant.
Display the status of the DHCP using the show ip dhcp pool command. This shows the supplicant
registered as a static host by the DHCP Framed IP Lease feature from AUTHD.
Pool a :
network: 10.1.1.0/24
address ranges:
addr: 10.1.1.101 to 10.1.1.199
(static host addr 10.1.1.111 excluded)
static host addresses:
addr: 10.1.1.111 MAC addr: 0000.cd38.05f9
Netmask : 255.255.255.0
Gateway : 10.1.1.1
Lease : 3600 seconds
Added by AUTHD
lease <days:hours:minutes:seconds> <1:0:0:0>
subnet mask: 255.255.255.0 (pool's network mask)
Probe: Default Values
Status: Enabled [Enabled]
Type: Ping [Ping]
Packets: 5 [5]
Timeout: 200 msecs [200]
Dynamic addresses:
Total: 98
Leased: 0
Utilization: 0.0 %
Static host addresses:
Total: 1
Leased: 1
Introduction
From version 5.5.0-1.1 onwards, you can configure port authentication to dynamically apply Access
Control Lists (ACLs) when a supplicant is authorized. Dynamic ACL rules are defined on the RADIUS
server for each supplicant and applied to the port after the supplicant is authorized. When the
supplicant is unauthorized these ACLs are removed from the switchport automatically.
Dynamic ACLs gives you greater control over a supplicant's network access by pairing ACLs with
802.1X, MAC, and web-based authentication. Dynamic ACLs offer the following advantages:
As they are only installed when a supplicant is connected (and authorized), the number of ACLs
is kept low to avoid wasting hardware resources.
ACLs are configured on the central RADIUS server, this means they can be applied to all switches
that use the same RADIUS server.
Dynamic ACLs support the same filtering rules as static ACLs and will work with IP, IPv6, ICMP,
UDP, TCP, IP protocol and MAC matches.
A RADIUS server holds the ACL rules for a supplicant, along with that supplicants user name and
password.
– a name or number reference to an existing ACL rule (stored as a RADIUS Filter-Id attribute).
When the first packet from a supplicant arrives on a switchport the authenticator starts the
authentication process with the RADIUS server.
The RADIUS server returns an Access-Accept packet to the authenticator with the configured
ACL rules.
The authenticator creates and installs these ACLs dynamically on the switchport and authorizes
the supplicant.
These Dynamic ACLs are named IPv4 and IPv6 hardware access-lists. They are internally
maintained and cannot be removed or modified from the CLI.
When the supplicant is unauthorized, dynamically installed ACLs are removed and detached from
the switchport.
Notes:
On VCS stacks, the dynamic ACLs are updated on all stack members.
Multiple ACLs are allowed, but a mixture of complete ACL rules and numbered/named ACL rules
is not supported. This means you cannot have both NAS-Filter-Rule and Filter-Id RADIUS
attributes defined.
For example, to reject IP traffic from 192.168.1.x to any destination except 192.168.2.x, define these
two rules for the user on the RADIUS server using the NAS-Filter-Rule attribute:
Alternatively, the format for defining the same ACLs using Filter-Ids could be:
Filter-Id = "3000"
Filter-Id = "3001"
For more information about configuring ACLs, see the ACL Feature Overview and Configuration
Guide.
When multiple dynamic ACLs are installed on the same switchport, they effect all traffic coming from
all supplicants on that port. This means the ACL filter rules must be carefully configured to avoid
unexpected behavior in multi-supplicant mode.
Note: In multi-supplicant mode, dynamic ACLs are installed in the order the supplicants are
authorized. When a supplicant is unauthorized, the corresponding dynamic ACLs are
removed.
In multi-host mode (where authentication from one supplicant is enough to allow other supplicants
on the same port), it may be useful to have ACL filter rules by MAC address to reject traffic from
certain supplicants.
Roaming Authentication
Roaming authentication allows an authenticated supplicant to move from one interface to another
without authentication. In this situation the dynamic ACL filter rules will be installed on the new
interface and removed from the old interface.
If, for some reason, the dynamic ACLs fail to install on the new interface then roaming authentication
stops and the supplicant starts the reauthentication process on the new interface.
Note: If static ACLs are already configured on the new interface then the cumulative effect of the
static and dynamic ACLs may differ from the old interface. It is recommended, therefore, that
static ACLs should be configured identically for roaming authentication.
Two-step Authentication
Two-step authentication involves two different authentication methods, for example MAC
authentication and 802.1X authentication. Dynamic ACL filter rules are taken from the last RADIUS
response to an authentication request. Normally this is the RADIUS response for the second
authentication method. If, however, the supplicant is configured with the skip-second-auth option,
then the RADIUS response for the first authentication method is used.
Configuration example
Configure Dynamic ACLs
Dynamic ACLs are enabled in Interface Configuration mode and work with all port authentication
methods (802.1X, MAC and web-based authentication).
On the local RADIUS server, dynamic ACLs are defined in a group. This group is then assigned to
the users.
Dynamically created ACLs are displayed using the show access-list command. The label
‘(dynamic)’ is added to the end of the access-list name to differentiate them from statically added
ACLs.
The show interface <port-list> access-group command shows all the ACLs installed on an
interface.
Dynamic ACLs are stored in the supplicant configuration and removed when the supplicant is
unauthorized. The show auth supplicant command has a ‘dynamicACL Rules’ section to show
these ACLs
.
C613-22088-00 REV J
NETWORK SMARTER
North America Headquarters | 19800 North Creek Parkway | Suite 100 | Bothell | WA 98011 | USA | T: +1 800 424 4284 | F: +1 425 481 3895
Asia-Pacific Headquarters | 11 Tai Seng Link | Singapore | 534182 | T: +65 6383 3832 | F: +65 6383 3830
EMEA & CSA Operations | Incheonweg 7 | 1437 EK Rozenburg | The Netherlands | T: +31 20 7950020 | F: +31 20 7950021
alliedtelesis.com
© 2020 Allied Telesis, Inc. All rights reserved. Information in this document is subject to change without notice. All company names, logos, and product designs that are trademarks or registered trademarks are the property of their respective owners.