2012-01-12 10 views
0

私は質問があまりよくないことを知っています。すみません、私の英語です。Radiusリクエストがどのudpソケットから来たのかを知る。 FreeRadiusの使用

いくつかのポート(複数の 'listen'セクションを含む)をリッスンし、User-NameとUser-Passwordとともにパラメータとしてそのudpポートを渡すようにFreeRadiusサーバーをセットアップする必要があります私は認証を行うために使用したいスクリプトに変換します。

基本的な考え方は、ある種のドメイン分離を行うことです。一部のファイアウォールはRADIUSポート2000を使用して認証を行います。たとえば、別のファイアウォール(別のユーザーのセットを使用)では、半径ポート2020を使用します。最後に、すべてのリクエストは、両方のユーザーの知識を持ち、与えられた追加の属性(ポート番号)に基づいてどちらか一方を使用する同じスクリプトに含まれます。

仮想サーバードメインごとに私は設定ファイルを複製したくないです。私は、私が望むすべてのドメインに対して少し「聞く」セクションを追加する方が短いと思います。

私はatributeをこのように追加しようとしました:

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

私は自分自身に答えています。私は見つけた(より多くのGoogleを見て)Packet-Dst-Port属性が私が望むデータがあることを発見した。

私はhereから取得しました(これでかなりわかりました:P)

関連する問題