我想要一个服务器,它可以处理一个IP后面两个具有不同秘密的客户端。 Freeradius不能阻止我。它为动态客户端使用静态ip-secret绑定。
无法在Freeradius 2和3中钩住自己的模块。
如何使用freeradius库解析原始udp数据包并更改Message-Authenticator?解析器功能在哪儿?
我想使代理传递像服务器..
客户端使用secret1
(我的带secret1的代理身份验证数据包)进行请求,将数据复制到新数据包中,并使用localhost constant secret2
对其进行加密,然后将其发送到freeradius。 Freeradius回复将被重新编码并发送回客户端。
现在尝试链接到libradius-radius ...
最佳答案
FreeRADIUS 4将支持IP /端口元组与秘密的动态绑定,从而有效解决您的问题。如果您想自己构建某些东西,则可以使用libfreeradius,但老实说,这是供FreeRADIUS和圆角二进制文件附带的实用程序内部使用的,该API(更不用说ABI)是非常易变的,并且经常在较小的更改之间发布,因此您可能会发现您需要花费大量时间来维护您想出的一切。
如果您打算这样做,则可能会发现使用FreeRADIUS 4 HEAD更加容易,因为协议解析器被拆分为多个独立的库,这些库在主服务器之外非常容易初始化。
您需要调用的主要功能是fr_radius_init
初始化协议库,然后fr_radius_encode
编码数据包和fr_radius_decode
解码数据包。
您需要拥有自己的IO功能,尽管src/lib/util/socket.c
中有一些功能可以提供基本的抽象。