MAC authentication using RADIUS (MAB) HowTo
Introduction
This document describes a setup of MAC authentication using a RADIUS to authorise MAC addresses (also referred to as MAB). For an overview of all available configuration settings for Port Access Control, refer to the configuration section in the Port Access Control Guide.
Overview
Below is the topology of the devices in this setup.
|
.--.-.
Authentication ( ( )__
Server (_, \ ) ,_)
.------. '-'--`--'
|RADIUS| | GW 10.0.2.1
'--+---' | VLAN 2
| 10.0.1.2 | 10.0.2.0/24
| | 10.0.2.2
.--+------+------+------+--.
Authenticator | 5 6 7 8 |
(Switch/Router) | WeOS |
10.0.1.1 | 1 2 3 4 |
'--+------+------+------+--'
X X X X <== Controlled Ports
| VLAN 1 (All Blocked by
| 10.0.1.0/24 Authenticator)
.--+-.
| H1 | (Host/Supplicant)
'----' IP 10.0.1.43/24
GW 10.0.1.1
Configuration
First VLANs and IP addresses of the WeOS router is configured, see Figure 1 above. It is assumed that all ports are assigned (untagged) to VLAN 1 from start. For more information, see VLAN configuration.
example:/#> config example:/config/#> vlan 2 example:/config/vlan-2/#> untagged eth8 example:/config/vlan-2/#> end example:/config/#> iface vlan1 example:/config/iface-vlan1/#> no inet example:/config/iface-vlan1/#> inet static 10.0.1.1/24 example:/config/iface-vlan1/inet-static-10.0.1.1/#> end example:/config/iface-vlan1/#> end example:/config/#> iface vlan2 example:/config/iface-vlan2/#> inet static 10.0.2.2/24 example:/config/iface-vlan2/inet-static-10.0.2.2/#> end example:/config/iface-vlan2/#> end example:/config/#> ip example:/config/ip/#> route default 10.0.2.1 example:/config/ip/#> leave example:/#>
It is assumed that an external RADIUS server is already setup with appropriate settings for MAC Authentication (WeOS uses RADIUS attribute Calling-ID to convey the MAC address). In this example, the RADIUS server is located at IP address 10.0.1.2, and is listening to the default UDP port (1812). In WeOS, a (RADIUS) remote server instance configured. This is done in the AAA context.
example:/config/#> aaa example:/config/aaa/#> remote-server 1 example:/config/aaa/remote-server-1/#> description MyRADIUS example:/config/aaa/remote-server-1/#> address 10.0.1.2 example:/config/aaa/remote-server-1/#> password TopS3cret example:/config/aaa/remote-server-1/#> leave example:/#>
See Remote Server Settings for more information on how to configure a RADIUS remote server instance.
Note
For best performance, it is recommended to use IP address (rather than domain name) when defining the RADIUS server.
With an authentication server instance created, enabling MAC Authentication on ports eth1-eth4 can be done as follows.
example:/config/#> port-access example:/config/port-access/#> port eth1..eth4 example:/config/port-access/#> description "Site A" example:/config/port-access/#> mac-authentication example:/config/port-access/dot1x/#> authentication-server 1 example:/config/port-access/dot1x/#> leave example:/#>
Status
Port access status can be shown by issuing show port-access
in the admin context.
example:/#> show port-access PORT ACCESS Status : Enabled Description : Site A Ports : eth1..eth4 802.1X Not configured. MAC AUTHENTICATION Status : Enabled Authentication server : 1 (Site A) Local list : Not set MAC (MAC Auth) STATUS AUTH METHOD PORT 00:80:c8:3c:25:b8 authorized RADIUS eth1 RECENT EVENTS (AUTH.LOG) Nov 22 18:12:55 example macd[1965]: Auth successful for 00:80:c8:3c:25:b8 on eth1 example:/#>