设置:
- 默认配置,最小变化(仅限clients.conf和用户)
- 用户配置文件包括第三个文件($ INCLUDE / etc / raddb / users-pppoe)
- 第三个文件包含所有用户信息
这是我发现自己/事实:
- 用户文件由bash脚本生成
- 配置检查说一切都很好
- 前17个用户工作正常(或:约190行,或:约6800字节/字符)
- 在这些新用户上,radius守护程序给出错误:FAILED:No NT / LM-Password
- 这些新用户确实拥有所需的Cleartext-Password选项
- 当我将新用户移动到文件顶部时,它工作正常
- (我的临时解决方案)我将文件分成四个,分别包括它们。 现在一切正常!
- 这个拆分是由生成文件本身的相同bash脚本完成的,所以如果出现任何问题(例如错误的隐藏字符),它也应该在这些新文件中。
当然,我想知道造成这种情况的原因,但主要是,当用户数量增长时,我会遇到麻烦。最后我会有约。 200个用户不会有太大变化,所以运行SQL服务器是相当矫枉过正的。 基本上,这是一个可接受的解决方法,但必须解决这个问题。如果有人有想法,请告诉我。
提前谢谢大家!
/ etc / raddb / users-pppoe(示例条目):
void doWho(void)
{
char entry[10] = {0};
int ret, i;
for(; ;) {
/** who command will be executed when ever condition is true **/
ret = read(0, entry, 10);
__fpurge(stdin);//to clear stdin buffer everytime
if (*entry == 'u') {
if(fork()==0)//only this newly created process will be replaces by execl not one was in main()
execl("/usr/bin/who","who",NULL);
else
;// this parents does nothing
}
}
}
radiusd -X
user-00000005 Cleartext-Password := "oHs0sECre7"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.0.0.5,
Framed-Route = 172.14.5.0/24,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1500,
Rate-Limit = "20M",
Framed-Compression = Van-Jacobsen-TCP-IP
答案 0 :(得分:0)
我有类似的问题,经过一些测试,看起来包含的配置文件被“同时”解析为包含的配置文件。
我在包含的文件中有这样的内容:
ONT_TEST Cleartext-Password := "...", Service-Type := Framed-User
Framed-IP-Address := ...,
MS-Primary-DNS-Server := 8.8.4.4,
MS-Secondary-DNS-Server := 8.8.8.8,
Fall-Through = Yes
在mods-config / files /行240附近授权类似这样的内容:
DEFAULT Framed-Protocol == PPP
Framed-Protocol = PPP,
Framed-Compression = Van-Jacobson-TCP-IP
现在奇怪的是: -如果“ ONT_TEST”行(包含文件中的行)在行号240以上,则表示正常, -如果“ ONT_TEST”行在行号240以下(它甚至可能在我之前也可以输入“ Enters”),则FreeRadius会匹配“授权”文件中的“ DEFAULT” -如果将“默认”行下移,则包含的文件可能会更长。
freeradius-3.0.13-9.el7_5.x86_64
我稍后将填写错误报告,现在我有解决方法(不需要“ DEFAULT”行,因此我已将其注释掉了)。