802.1X 是一种基于端口的网络访问控制协议,常用于无线局域网(WLAN)和有线局域网(LAN)中,以提供对用户或设备的身份验证。
本文简单介绍在ubuntu上安装freeradius服务器,交换机和无线控制器配置802.1X(思科型号,注意交换机和无线控制器必须支持802.1x认证功能,普通的华为路由器没有此功能),以及在linux客户端进行有线和无线802.1X认证。
需要的硬件设备:
(1)ubuntu主机,搭建freeradius服务器
(2)支持802.1X的交换机
(3)支持802.1X的无线控制器
(4)linux客户端,用于测试连接802.1X认证
(5)足够的网线
启用802.1x认证,在命令行界面输入:
aaa new-model
dot1x system-auth-control
以上两条命令启用aaa和802.1x功能。
cisco交换机的命令行位置如下图:
添加aaa验证的radius服务器
在命令行界面执行如下代码
radius server ubuntu-test
address ipv4 192.168.1.25 auth-port 1812
key testing123
exit
以上的密码在freeradius的clients.conf文件里保存,默认密码,192.168.1.25是ubuntu里的radius服务器的IP,请修改为实际的IP。
配置有线网接口开启使用802.1X认证,这一步需要控制具体的网口,如下图所示:
以上示例启用23号网口的802.1X认证。
首先请确保安装了wpa_supplicant
sudo apt-get install wpasupplicant
配置 wpa_supplicant
创建或编辑wpa_supplicant的配置文件,通常这个文件位于/etc/wpa_supplicant/wpa_supplicant.conf。以下是一个基本的配置示例,用于有线网络
ctrl_interface=/var/run/wpa_supplicant
update_config=1
eapol_version=1
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
identity=“steve”
password=“testing”
phase1=“peaplabel=0”
phase2=“auth=MSCHAPV2”
}
使用的是PEAP方式,不需要用网络证书。
这里的账号密码是/etc/freeradius/3.0/users里的steve和testing。
启动 wpa_supplicant
使用以下命令启动wpa_supplicant,确保指定正确的网络接口(例如eth0):
sudo wpa_supplicant -i eth0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wired
如果配置正常的话可以发现连接上有线网,并能够和CISCO交换机通信。
补充EAP功能开启
安装 wpa_supplicant:
如果你的系统中还没有安装wpa_supplicant,你可以通过包管理器安装它。在Ubuntu上,你可以使用:
sudo apt-get install wpasupplicant
配置 wpa_supplicant:
你需要创建或编辑wpa_supplicant的配置文件,通常这个文件位于/etc/wpa_supplicant/wpa_supplicant.conf。以下是一个配置802.1X认证的示例配置:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=“你的SSID”
key_mgmt=WPA-EAP
eap=PEAP
identity=“steve”
password=“testing”
phase1=“peaplabel=0”
phase2=“auth=MSCHAPV2”
}
替换你的SSID、你的用户名和你的密码为实际的值,这里是账号密码是steve和testing。
无线网的802.1X认证方式为PEAP。
运行 wpa_supplicant:
使用以下命令启动wpa_supplicant,确保指定正确的接口(例如wlan0)和配置文件路径:
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D nl80211,wext
使用 wpa_cli 连接网络:
一旦wpa_supplicant运行,你可以使用wpa_cli来管理连接。首先启动wpa_cli:
sudo wpa_cli
在wpa_cli的命令行界面,你可以使用以下命令来重新加载配置并连接网络:
reconfigure
然后,检查状态:
status
802.1X的配置难点在与freeradius服务器的配置,以及思科路由器和思科无线控制器的配置。以上是个人实际使用中的一点总结,希望有所帮助。