当前位置: 首页 > Linux

Ubuntu系统下Radius认证服务的安装配置

时间:2023-04-06 21:00:13 Linux

安装服务安装服务依赖freeradius$sudoaptinstallfreeradius查看版本$freeradius-vradiusd:FreeRADIUSVersion3.0.16,forhostx86_64-pc-linux-gnu,buildonApr172019at12:59:55FreeRADIUSVersion3.0.16Copyright(C)1999-2017FreeRADIUS服务器项目和贡献者没有任何保证;甚至不是为了适销性或特定目的的适用性您可以根据GNU通用公共许可证的条款重新分发FreeRADIUS的副本位置与版本相关。如果显示3.0.*,则配置文件所在的具体目录为/etc/freeradius/3.0。如果版本显示为3.2.*,那么配置文件的目录位置就是/etc/freeradius/3.2下的所有相关文件配置,目录根据版本和具体的配置修改而定。不要复印文件。radius服务所在机器IP为192.168.100.150。启动测试服务器。一般情况下,最后几行会显示如下数据$sudofreeradius-X.....监听auth地址*1812端口绑定serverdefault监听acct地址*1813端口绑定serverdefaultListeningonauthaddress::port1812绑定到服务器defaultListeningonacctaddress::port1813boundtoserverdefaultListeningonauthaddress127.0.0.1port18120boundtoserverinner-tunnelListeningonproxyaddress*port56061Listeningonproxyaddress::port59459Readytoprocessrequests#有时如果显示如下数据,说明错误xxxxxxxxxxxFailedbindingtoauthaddress*port1812boundtoserverdefault:Addressalreadyinuse/etc/freeradius/3.0/sites-enabled/default[59]:Errorbindingtoportfor0.0.0.0port1812#这意味着另一个`radius`服务已经启动,而且端口已经被占用#需要执行以下步骤关闭服务#$sudosystemctlstopfreeradius.service#或者另一个终端执行了freeradius命令但是忘了关闭#可以执行pkillfreeradius来添加radius用户数据,编辑文件,添加用户名操作员的密码是testpass$sudovim/etc/freeradius/3.0/usersoperatorCleartext-Password:="testpass"Reply-Message:="Hello,%{User-Name}"restartfreeradiusservice$sudofreeradius-Xtestradiusservice在另一台机器上,打开终端查看启动radius服务的机器上1812端口是否打开$sudonmap-sU192.168.100.150-p1812#输出如下表示在2021-08-2711:12启动Nmap7.80(https://nmap.org)CSTNmap扫描报告192.168.100.150主机启动(0.00017秒延迟)。端口状态服务1812/udp打开|过滤的radiusMAC地址:CC:D3:9D:9F:D5:1D(Ieee注册机构)Nmap完成:1个IP地址(1个主机启动)在0.55内扫描seconds打开一个新的终端,执行以下命令$radtestoperatortestpass192.168.100.1500testing123#出现以下输出说明验证成功SentAccess-RequestId202from0.0.0.0:35778to127.0.0.1:1812length79User-Name="operator"User-Password="testpass"NAS-IP-Address=192.168.100.150NAS-Port=0Message-Authenticator=0x00Cleartext-Password="testpass"从127.0.0.1收到访问接受ID202:1812to0.0.0.0:0length38Reply-Message="Hello,operator"配置允许用户远程认证$vim/etc/freeradius/3.0/clients.conf#输入如下,表示新建客户端,ipaddr允许所有网络访问,如果设置为192.168.100.150表示只允许验证192.168.100.150的ip,填写0.0.0.0表示不限制IP,共享密钥为testing123clientprivate-network-1{ipaddr=0.0.0.0秘密=testing123}修改radius监听端口以下两种方法任选其一:直接修改配置,比如修改端口为8888$sudovim/etc/freeradius/3.0/sites-enabled/default#Modifylisten{...type=authipaddr=*port=0}#修改端口listen{...type=authipaddr=*port=8888}方法二修改/etc/services$sudovim/etc/services#findradius1812/tcpradius1812/udp#修改为自定义端口radius8888/tcpradius8888/udp请求认证推荐使用radclient$radclient-hUsage:radclient[options]server[:port][]auth,acct,状态、coa、断开连接或自动。-4使用服务器的IPv4地址-6使用服务器的IPv6地址。-c发送每个数据包'count'次。-d设置用户字典目录(默认为/etc/freeradius/3.0)。-D设置主字典目录(默认为/usr/share/freeradius)。-f<文件>[:]从文件中读取数据包,而不是标准输入。如果提供了第二个文件,它将用于验证响应-F打印文件名、数据包编号和回复代码。-h打印使用帮助信息。-n发送N个请求/s-p从文件并行发送'num'个数据包。-q不打印任何东西。-r如果超时,重试发送数据包'retries'次。-s打印出认证结果的摘要信息。-S从文件而不是命令行读取机密。-t在重试之前等待“超时”秒数(可能是浮点数)。-v显示程序版本信息。-x调试模式。-PUseproto(tcporudp)fortransport.举例操作验证用户账号operator,密码testpass,使用ipv4地址192.168.100.150,端口1812,共享秘钥testing1234,超时时间1s,重复验证4次$echo"User-Name=operator,User-Password=testpass"|radclient-4192.168.100.150:1812authtesting1234-t1-r4#成功后输出如下:SentAccess-RequestId61from0.0.0.0:54293to192.168.100.150:1812length49ReceivedAccess-AcceptId61from192.168.100.150:18212.16to89.0.121:54293length38参考文档和参考freeradius官方文档radius协议基本原理linuxbuildradiusserver