0

私は質問があまりよくないことを知っています。申し訳ありませんが私の英語。

FreeRadius サーバー (の 1 つのインスタンス) をセットアップして、複数のポートをリッスンし (一連の「リッスン」セクションを使用)、その udp ポートをパラメーターとして User-Name および User-Password とともにスクリプトに渡します。認証を行うために使用したい。

基本的な考え方は、ある種のドメイン分離を行うことです。一部のファイアウォールは、RADIUS ポート 2000 を使用して認証を行います。たとえば、別のファイアウォール (ユーザーのセットが異なる) では、radius ポート 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 に答える