0

我知道这个问题不太好。对不起我的英语。

我想设置一个(一个实例)FreeRadius 服务器来监听多个端口(带有一堆“监听”部分),然后将该 udp 端口​​作为参数以及用户名和用户密码传递给脚本我想用来进行身份验证。

基本思想是进行某种域分离。某些防火墙使用半径端口 2000 进行身份验证。例如,其他一些不同的防火墙(具有不同的用户集)使用半径端口 2020。最后,所有请求都落在同一个脚本中,该脚本具有两组用户的知识,并根据给定的额外属性(端口号)使用一个或另一个

我知道可以为每个“域”创建一个虚拟服务器。但我不喜欢复制配置文件。而且我认为为我想要的每个域添加一个小“听”部分会更短。

我尝试以这种方式添加属性:

listen {
        ipaddr = *
        port = 0
        type = auth
        update control {         
            Login-TCP-Port = 1812
        }
    }

并试图阅读它:

autorize {
    if ("%{User-Name}" == "bob") {
        update reply {
            Reply-Message = "This is only %{Login-TCP-Port} an example."
        }
        update control {
            Cleartext-Password := "bob"
        }
        ok
    }
[...]
}

但不要工作。

我怎样才能使它正确?

这可能吗?

希望您能够帮助我。

4

1 回答 1

0

我自己回答。我发现(在谷歌上看起来很像)该Packet-Dst-Port属性具有我想要的数据。

我从这里得到它(现在我找到了,看起来很明显:P)

于 2012-01-13T15:37:18.347 回答