知道Radius请求来自哪个udp套接字。使用FreeRadius

时间:2012-01-12 21:34:32

标签: configuration-files radius freeradius

我知道问题不是很好。对不起我的英文。

我想设置一个(一个实例)FreeRadius服务器来监听几个端口(带有一堆'listen'部分),然后将该udp端口作为参数与User-Name和User-Password一起传递给我想用来进行身份验证的脚本。

基本思想是进行某种域分离。某些防火墙使用radius端口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
    }
[...]
}

但是不要工作。

我怎样才能做对?

这是可能的吗?

希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

我在回答自己。我发现(在谷歌上看得更远)Packet-Dst-Port属性有我想要的数据。

我是从here得到的(现在我发现它,看起来非常明显:P)