我在docker容器中安装了FreeRADIUS和Mysql

我在docker容器中安装了FreeRADIUS和Mysql,docker,freeradius,Docker,Freeradius,我在docker容器中安装了FreeRADIUS和Mysql 我把端口18121813306暴露在外面。 我将数据库导入mysql。 我将这些行插入数据库 INSERT INTO nas VALUES (NULL , '0.0.0.0/0', 'myNAS', 'other', NULL , 'mysecret', NULL , NULL , 'RADIUS Client'); INSERT INTO radcheck (username, attribute, op, value) VALU

我在docker容器中安装了FreeRADIUS和Mysql 我把端口18121813306暴露在外面。 我将数据库导入mysql。 我将这些行插入数据库

INSERT INTO nas VALUES (NULL , '0.0.0.0/0', 'myNAS', 'other', NULL , 'mysecret', NULL , NULL , 'RADIUS Client');

INSERT INTO radcheck (username, attribute, op, value) VALUES ('thisuser', 'User-Password', ':=', 'thispassword');

INSERT INTO radusergroup (username, groupname, priority) VALUES ('thisuser', 'thisgroup', '1');

INSERT INTO radgroupreply (groupname, attribute, op, value) VALUES ('thisgroup', 'Service-Type', ':=', 'Framed-User'), ('thisgroup', 'Framed-Protocol', ':=', 'PPP'), ('thisgroup', 'Framed-Compression', ':=', 'Van-Jacobsen-TCP-IP');
我停止了freeradius==>服务freeradius停止 和iam使用调试模式==>freeradius-X 在同一容器的另一个终端中使用此命令==>radtest thisuser thispassword 127.0.0.1 0 mysecret

输出:服务器接受了请求

但是当另一台机器上的上一个命令

服务器未看到请求,而另一台计算机中的输出为“无响应”

Radiud.conf文件中freeradius的in-etc中的注释:

listen {
type = auth
ipaddr = *
port = 0 }

listen {
ipaddr = *
port = 0
type = acct }

我怎样才能修好它

将行添加到sql数据库是不够的。您需要在
mods available/sql
中配置sql实例以匹配本地数据库,在
mods available/sql
中取消注释
read_clients
,并在
radiud.conf
的实例化部分列出sql模块,以确保在其中一个虚拟服务器的其他位置未引用时加载该模块

进行这些更改后,重新启动服务器。然后,SQL模块应该在启动时读取中的客户机列表。检查调试输出
freeradius-X
,确保SQL模块可以连接到数据库,并成功读取NAS条目


本地连接工作的原因是服务器附带的
clients.conf
文件中包含了本地主机的客户端条目。

我通过在UDP协议中公开端口解决了这个问题-p 1813:1813/UDP-p 1812:1812/UDP

谢谢,先生,我通过在UDP协议-p 1813:1813/UDP-p 1812:1812/UD中公开端口解决了这个问题,您的答案是正确的,先生:D