2012-01-12 35 views
0

我知道這個問題不是很好。對不起我的英文。瞭解Radius請求來自哪個udp套接字。使用FreeRadius

我想設置FreeRadius服務器(的一個實例)來偵聽幾個端口(帶有一些「偵聽」部分),然後將該udp端口作爲參數以及用戶名和用戶密碼到我想用來進行身份驗證的腳本。

其基本思想是做出某種領域分離。某些防火牆使用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 
    } 
[...] 
} 

但不起作用。

我該怎麼做纔對?

這是可行嗎?

希望你能幫助我。

回答

0

我在回答我自己。我發現(看起來更像谷歌)Packet-Dst-Port屬性有我想要的數據。

我從here得到它(現在我發現它,看起來很明顯:P)