其他人也遇到过同样的问题,但所适用的程序不同,在我的场景中不起作用。让我们下订单:
RasPi 上的 Freeradius
网络统计:
root@raspberrypi:~# netstat -unpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:59830 0.0.0.0:* 3574/freeradius
udp 0 0 127.0.0.1:18120 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1812 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1813 0.0.0.0:* 3574/freeradius
udp 0 0 0.0.0.0:1814 0.0.0.0:* 3574/freeradius
使用 freeradius-x 进行调试
Failed binding to authentication address * port 1812: Address already in use
/etc/freeradius/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812
root@raspberrypi:~# ps aux | grep free
freerad 3574 0.0 1.3 54088 6032 ? Ssl 16:32 0:00 /usr/sbin/freeradius
root 3610 0.0 0.4 3548 1832 pts/0 S+ 16:35 0:00 grep free
如果我杀死那个进程,我会从 freeradius 调试中得到
... adding new socket proxy address * port 50820
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814
Ready to process requests.
但 radtest "John Doe" hello 127.0.0.1 0 测试不起作用,因为该服务未运行。有什么建议么?
答案1
您可以在调试模式下运行服务器(调试日志来自控制台或转到文件)或将其作为实用程序运行。
在调试模式下运行:
freeradius -X
以下代码会将调试日志输出到文件并将其推送到后台:
freeradius -x -l /home/user/debug_logs &
将其作为实用程序运行。
/etc/init.d/freeradius start
现在,您无法运行调试并且显示错误绑定端口错误的原因是因为它已经在运行(如 ps 和 netstat 命令所示)。
现在关于您的问题下面的评论:
该错误几乎说明了需要什么,在您的评论中您发布了 radtest 的调试。
消息验证器无效! (共享秘密不正确。)
共享秘密使用“测试" 不正确。本地主机 NAS 的默认共享密钥是testing123,因此请尝试使用以下命令运行:
radtest "John Doe" hello 127.0.0.1:18120 0 testing123
如果这也不起作用,请从本地主机 NAS 转到clients.conf 搜索,查看写入的共享密钥是什么并使用它。