リラ▪▪ト機能に対する半径のサポ▪▪ト
Citrix ADCの式言語には,要求と応答の半径メッセージから情報を抽出したり,操作したりできる式が含まれています。これらの式を使用すると,書き換え機能を使用して,半径メッセージを宛先に送信する前に半径メッセージの一部を変更できます。書き換えポリシーおよびアクションでは,半径メッセージに適切な,または関連する任意の式を使用できます。使用可能な式を使用すると,半径メッセージタイプを識別し,接続から任意の属性値ペア(avon)を抽出し,半径avonを変更できます。半径接続用のポリシ,ラベルを作成することもできます。
リラ▪▪トル▪ルでは,新しい▪▪半径式をさまざまな目的で使用できます。たとえば,次のようなことができます。
- 半径ユーザ名avonのドメイン部分を削除して,シングルサインオン(SSO)を簡素化します。
- 電話会社の操作で使用されるMSISDNフィールドなど,ベンダー固有のavonを挿入し,加入者情報を格納します。
ポリシーラベルを作成して,特定のタイプの半径要求を,それらの要求に適した一連のポリシーを通してルーティングすることもできます。
注:
リラ▪▪ト用の半径には,次の制限事項があります。
- Citrix ADCは,書き換えられたRADIUS要求または応答を再署名しません。半径認証サ,バが署名付き半径メッセ,ジを必要とする場合,認証は失敗します。
- 現在使用可能なRADIUS式は,RADIUS IPv6属性では機能しません。
半径をサポートする式に関するCitrix ADCマニュアルでは,半径通信の基本構造と目的を理解していることを前提としています。半径の詳細については,半径サーバのマニュアルを参照するか,半径プロトコルの概要をオンラインで検索してください。
半径の書き換えポリシ,の設定
以下の手順では,Citrix ADCコマンドラインを使用して書き換えアクションとポリシーを構成し,書き換え固有のグローバルバインドポイントにポリシーをバインドします。
重写アクションとポリシを設定し,ポリシをバンドするには,次の手順を実行します。
コマンドプロンプトで,次のコマンドを入力します。
添加重写动作
添加重写策略
绑定重写策略
ここで,-type . bindPoint < bindPoint >
は,書き換え固有のグロバルバンドポントの1を表します。
リラesc escト用のradius式
書き換え構成では,次のCitrix ADC式を使用して,半径要求または応答のさまざまな部分を参照できます。
接続のタ@ @プの識別:
半径。IS_CLIENT
接続がradiusクラアント(要求)メッセジである場合はtrueを返します。
半径。IS_SERVER
接続がradiusサバ(応答)メッセジである場合はtrueを返します。
リクエスト式:
RADIUS.REQ.CODE
半径要求タaaplプに対応する番号を返します。Num_atクラスの導関数です。たとえば,半径アクセス要求は1を返します。半径アカウンティング要求は4を返します。
RADIUS.REQ.LENGTH
ヘッダを含む半径要求の長さを返します。Num_atクラスの導関数です。
RADIUS.REQ.IDENTIFIER
半径要求idを返します。この番号は,各要求に割り当てられた番号で,要求を対応する応答に一致させることができます。Num_atクラスの導関数です。
RADIUS.REQ。AVP(
)。价值 型text_tの文字列として,このAVPの最初の出現の値を返します。
RADIUS.REQ。AVP(
)。实例(实例) AVPの指定されたaapl . aapl .ンスタンスをRAVP_t型の文字列として返します。特定の半径avpは,半径メッセ,ジ内で複数回発生する可能性があります。实例(0)は最初のインスタンスを返し,实例(1)は2番目のインスタンスを返します。以下同様に最大16個のescンスタンスを返します。
RADIUS.REQ。AVP(
)。价值(instance number) AVPの指定されたaapl . exeンスタンスの値をtext_t型の文字列として返します。
RADIUS.REQ。AVP(
)。数 半径接続内の特定のavpのescンスタンス数を整数で返します。
RADIUS.REQ。AVP(
)。存在 指定されたタイプのavonがメッセージ内に存在する場合は真的,存在しない場合は假を返します。
応答式:
半径応答式は,reqを置き換える点を除いて,半径要求式と同じです。
avp値のタescプキャスト:
ADCは,半径avon値をテキスト,整数,符号なし整数,ロング,符号なしロング,ipv4アドレス,ipv6アドレス,ipv6プレフィクス,時刻の各データ型にタイプキャストする式をサポートしています。構文は,他のCitrix ADC型キャスト式と同じです。
例:
ADCは,半径avon値をテキスト,整数,符号なし整数,ロング,符号なしロング,ipv4アドレス,ipv6アドレス,ipv6プレフィクス,時刻の各データ型にタイプキャストする式をサポートしています。構文は,他のCitrix ADC型キャスト式と同じです。
RADIUS.REQ.AVP (8) value(0)。typecast_ip_address_at < !——NeedCopy >
avp型式:
Citrix ADCは,RFC2865およびRFC2866に記載されている割り当てられた整数コードを使用して,半径avon値を抽出する式をサポートしています。テキストエesc escリアスを使用して,同じタスクを実行することもできます。次に,いくかの例を示します。
RADIUS.REQ.AVP (1).VALUE或RADIUS.REQ.USERNAME.value
半径ユ,ザ名の値を抽出します。
RADIUS.REQ. avp (4). VALUE或RADIUS.REQ. avp。ACCT \ _SESSION \ _ID.value
メッセ,ジからアカウントセッションid avp(コ,ド44)を抽出します。
RADIUS.REQ.AVP(26)。VALUE或RADIUS.REQ.VENDOR\_SPECIFIC.VALUE
ベンダ,固有の値を抽出します。
最も一般的に使用される半径avpの値は,同じ方法で抽出できます。
半径バ▪▪ンドポ▪▪ント:
半径式を含むポリシ,には,4 .。
RADIUS_REQ_OVERRIDE
優先度/優先要求ポリシキュ。
RADIUS_REQ_DEFAULT
標準要求ポリシキュ。
RADIUS_RES_OVERRIDE
優先度/優先応答ポリシキュ。
RADIUS_RES_DEFAULT
標準応答ポリシキュ。
半径書き換え固有の式:
半径。NEW_AVP
指定されたradius avpを文字列として返します。
半径。NEW_AVP_INTEGER32
指定されたradius avpを整数として返します。
半径。NEW_AVP_UNSIGNED32
指定されたradius avpを符号なし整数として返します。
半径。NEW_VENDOR_SPEC_AVP (< ID >、< >定义)
指定された拡張ベンダ固有のavpを接続に追加します。
<标识>
には,長い数値を代入します。< >定义
には,avpのデ,タを含む文字列を置き換えます。RADIUS.REQ.AVP_START
Radiusヘッダ,の終わりとavpの開始との間の位置を返します。書き換えアクションで使用されます。
例:
在radius.req后添加重写动作insert1 insert_。avp_start半径。new_avp(33, "NEW AVP")
RADIUS.REQ.AVP_END
半径メッセージ内の半径メッセージの最後(またはすべてのavonの最後)の位置を返します。書き換えアクションを実行するときに使用します。
例:
在radius.req之前添加重写动作insert2 insert_。avp_end”半径。new_avp(33, "NEW AVP")"<!——NeedCopy >
RADIUS.REQ.AVP_LIST
半径メッセージ内のavonの開始位置と,ヘッダーを除いた半径メッセージの長さを返します。まり,radiusメッセジ内のすべてのavpを返します。書き換えアクションを実行するために使用されます。
例:
添加重写动作insert3 insert_before_all radius.req。avp_list”半径。new_avp(33, "NEW AVP")"搜索“avp(33)”<!——NeedCopy >
半径の有効な書き換えアクションタaaplプ:
半径式で使用できるリラ▪▪トアクションタ▪▪プは次のとおりです。
- INSERT_AFTER
- INSERT_BEFORE
- INSERT_AFTER_ALL
- INSERT_BEFORE_ALL
- 削除
- DELETE_ALL
- 取代
- REPLACE_ALL
すべてINSERT_行动
を使用して,半径avpを半径接続に挿入できます。
使用例
次に,書き換えを伴う半径の使用例を示します。
ユザ名avpの書き換え
半径ユーザ名avonからドメインストリングを削除するように書き換え機能を設定するには,まず次の例に示すように,重写取代アクションを作成します。すべてのradius要求を選択する書き換えポリシ,でアクションを使用します。ポリシをグロバルバンドポントにバンドします。その場合は,優先度を適切なレベルに設定して,ブロックまたは拒否ポリシ,を最初に有効にします。ただし,ブロックまたは拒否されていないすべての要求が書き換えられます。ポリシー評価を続行するには,“次へ進む”式(gotoPriorityExpr)を“次”へに設定し,ポリシーをRADIUS_REQ_DEFAULTキューにアタッチします。
例:
添加重写操作rwActRadiusDomainDel替换radius.req。RADIUS.REQ.USER_NAME.VALUE user_name q / RADIUS.NEW_AVP(1。AFTER_STR(" "))/ add rewrite policy RadiusRemoveDomainPol true rwActRadiusDomainDel
注:
RADIUSの書き換えポリシ,は,网关仮想サ,バには適用されません。网关仮想サーバがロードバランシングに使用される場合は,半径を構成し,書き換えポリシーを半径ロードバランシング仮想サーバにバインドする必要があります。
ベンダ固有のavpの挿入
MSISDNフィールドの内容を含むベンダー固有のavonを挿入するように重写アクションを設定するには,まずMSISDNフィールドを要求に挿入する書き換えの插入アクションを作成します。すべてのRADIUS要求を選択する重写ポリシ,のアクションを使用します。ポリシーをグローバルにバインドし,次の例に示すように,プライオリティを適切なレベルに設定し,その他のパラメータを設定します。
例:
添加重写动作rwActRadiusInsMSISDN insert_after radius.req。avp_start半径。New_vendor_spec_avp(<供应商id >, "半径。NEW_AVP(, )") add rewrite policy rwPolRadiusInsMSISDN true rwActRadiusInsMSISDN bind rewrite global rwPolRadiusInsMSISDN 100 NEXT -type RADIUS_REQ_DEFAULT