FreeRadius是一个开源的radius服务器,一般工作在Linux系统上。本文主要是描述FreeRadius的安装和使用过程,所以文中出现的相关软件版本仅供参考。
1、安装CentOS 6.6系统
CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。为什么我会选择CentOS,是因为我选择了相信别人。
2、下载安装freeradius-server-release_2_2_0
首先,下载下来的freeradius-server-release_2_2_0是一个压缩包,linux中关于解压文件的命令请自行百度。
然后,进入解压目录配置./configure
最后,编译make && make install
查看服务器安装位置,一般在/usr/local/etc/raddb下面。
在安装的这个环节我遇到缺少编译环境gcc、安装其他radius服务器版本make失败的问题。
3、本地验证freeradius服务器是否安装成功
安装完成后,通过命令radiusd -X启动freeradius服务器,出现如下图的监听状态说明启动成功了。如果要停止radius服务器可以使用“ctrl+c”,也可以使用命令killall -9 radiusd。
启动freeradius自测试:radtest steve testing 127.0.0.1 1812 testing123,如果提示找不到host的ip地址的话,请在host文件中添加host—ip的映射关系。如下图,第一次本地自测试被拒绝了,第二次在user文件中添加了steve这个用户名和密码后接受了。
4、搭建IPv4和IPv6的radius测试环境
freeradius三个比较重要的文件radius.conf、clients.conf、users,改动这三个文件中的相关参数来实现radius服务器正常工作。
radius.conf文件用来配置radius服务器的属性,采用ipv4还是ipv6地址,因为freeradius服务器不能同时支持ipv4和ipv6地址认证,所以需要编辑到此文件来满足不同的ip版本认证。
clients.conf文件主要用来增加客户端的通信地址和通信密钥。
client 2013::4{
???secret = testing123
}
client 2013::6{
???secret = testing123
}
users文件用来增加用户的名字和密码
freeradius服务器的ipv4和ipv6认证切换过程请参考百度https://wenku.baidu.com/view/5fa35e948762caaedd33d43b.html###
TW交换机上的radius服务器的配置如下,主要是将服务器的地址设置为ipv6格式的。
由于交换机上802.1X基于ipv6radius服务器认证的bug未解,所以一直认证不成功。使用H3C交换机测试是可以完整认证的。下面这段报文是抓的服务器上的,可以发现交换机貌似没有收到服务器发过去的challenge报文,一直在发送request。
在测试过程中,还出现了交换机发送的access-request报文后,服务器确回的是icmp目的不可达报文。后来参考了资料发现是linux防火墙的原因,然后我就一股脑儿的将ipv4和ipv6的防火墙全部关闭掉了。
人生第一次使用linux系统,感觉很高大上。