例:ネクストホップ方式を使用したHTTPリダイレクトサービスの設定と静的インターフェイスへのアタッチ
この例では、ネクストホップメソッドを使用してHTTPリダイレクトサービスを設定し、静的インターフェイスに接続する方法を示しています。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
マルチサービス MS-MPC(モジュラー PIC コンセントレータ)とマルチサービス モジュラー インターフェイス カード(MS-MIC)を搭載した MX240、MX480、または MX960 ユニバーサル ルーティング プラットフォームがインストールされています。
Junos OS リリース 15.1 以降。
開始する前に、以下を行います。
リダイレクトサーバーとMXシリーズルーター間の接続を設定します。
送信元アドレス(この例では 203.0.113.0/24 を使用)を定義します。
加入者トラフィックに使用する1つ以上のインターフェイスを定義します。
概要
HTTPリダイレクトおよび書き換えサービスは、IPv4とIPv6の両方でサポートされています。HTTPリダイレクトサービスまたはサービスセットを静的または動的インターフェイスのいずれかにアタッチできます。動的加入者管理の場合、加入者ログイン時または認証変更(CoA)を使用して、HTTPサービスまたはサービスセットを動的にアタッチできます。ネクストホップ方式を使用して、HTTPリダイレクトサービスを設定し、静的インターフェイスにアタッチできます。
構成
ネクストホップ方式を使用してHTTPリダイレクトサービスを設定し、それを静的インターフェイスにアタッチするには、以下のタスクを実行します。
- CLI クイックコンフィギュレーション
- CPCD サービスの設定と静的インターフェイスへのサービス セットのアタッチ
- CPCD のパッケージとインストールの設定
- 静的インターフェイス、HTTPリダイレクトフィルター、インターフェイスサービスオプションの設定
- 追加のルーティングインスタンスの設定とネクストホップスタティックインターフェイスの割り当て
- HTTP トラフィックを誘導するためのインターフェイス固有フィルターの設定
- プライベートブロックプレフィックスリストを使用するポリシーオプションとステートメントの設定
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除してから、コマンドを CLI にコピー アンド ペーストします。
[edit] edit services captive-portal-content-delivery set rule redirect match-direction input set rule redirect term REDIRECT then redirect http://redirection-portal/redirection/ set profile http-redirect cpcd-rules redirect edit services service-set http-redirect-sset set captive-portal-content-delivery-profile http-redirect set next-hop-service inside-service-interface ms-11/1/0.1 set next-hop-service outside-service-interface ms-11/1/0.2 [edit] edit chassis fpc 11 pic 1 adaptive-services service-package set extension-provider package jservices-cpcd set extension-provider syslog daemon none set extension-provider syslog external none set extension-provider syslog kernel none set extension-provider syslog pfe none [edit] set interfaces ge-0/0/1 unit 900 description VLAN REDIRECT set interfaces ge-0/0/1 unit 900 vlan-id 900 set interfaces ge-0/0/1 unit 900 family inet filter input FF_HTTP_REDIR_IN set interfaces ge-0/0/1 unit 900 family inet address 203.0.113.250/30 edit interfaces ms-11/1/0 services-options open-timeout 4 edit interfaces ms-11/1/0 services-options close-timeout 2 edit interfaces ms-11/1/0 services-options inactivity-tcp-timeout 5 edit interfaces ms-11/1/0 services-options inactivity-non-tcp-timeout 5 edit interfaces ms-11/1/0 services-options session-timeout 5 edit interfaces ms-11/1/0 services-options tcp-tickles 0 set interfaces ms-11/1/0 unit 1 family inet set interfaces ms-11/1/0 unit 1 service-domain inside set interfaces ms-11/1/0 unit 2 filter output FF_CPCD_REDIRECT_OUTPUT set interfaces ms-11/1/0 unit 2 family inet set interfaces ms-11/1/0 unit 2 service-domain outside [edit] edit routing-instances CPCD_REDIRECT set instance-type virtual-router set interface ms-1/1/0.1 set interface ms-1/1/0.2 set routing-options static route 0.0.0.0/0 next-hop ms-1/1/0.1 set routing-options static route 203.0.113.0/24 next-hop ms-1/1/0.2 [edit] edit firewall family inet set filter FF_CPCD_REDIRECT_OUTPUT interface-specific set filter FF_CPCD_REDIRECT_OUTPUT term One then count back-to-default set filter FF_CPCD_REDIRECT_OUTPUT term One then routing-instance default set filter FF_HTTP_REDIR_IN interface-specific set filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES from prefix-list User-PRIVATE-Blocks-01 set filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES then next term set filter FF_HTTP_REDIR_IN term HTTP from protocol tcp set filter FF_HTTP_REDIR_IN term HTTP from destination-port http set filter FF_HTTP_REDIR_IN term HTTP then count HTTP set filter FF_HTTP_REDIR_IN term HTTP then forwarding-class best-effort set filter FF_HTTP_REDIR_IN term HTTP then routing-instance CPCD_REDIRECT [edit] edit policy-options policy-statement User-PRIVATE-Blocks-01 set 203.0.113.0/24
CPCD サービスの設定と静的インターフェイスへのサービス セットのアタッチ
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
加入者の最初の Web ブラウザー セッションがリダイレクトされる場所を指定して HTTP リダイレクト サービスを構成し、加入者の初期プロビジョニングとサービス選択を有効にします。
[edit services] user@host# edit captive-portal-content-delivery
この HTTP サービスを適用する際にルーターが参照するルールを定義することで、ウォールド ガーデンとしてサービス フィルターを構成します。
[edit services captive-portal-content-delivery] user@host# edit rule redirect
ルールがインターフェイス上に入ってくるトラフィックと一致することを指定します。
[edit services captive-portal-content-delivery rule redirect] user@host# match-direction input
HTTP サービスの CPCD ルールの条件一致およびアクション プロパティを作成します。
[edit services captive-portal-content-delivery rule redirect] user@host# set term REDIRECT then redirect http://redirection-portal/redirection/
HTTP サービスをリダイレクトする IP 宛先アドレスの CPCD プロファイルを作成します。
[edit services captive-portal-content-delivery] user@host# edit profile http-redirect
HTTP サービスの CPCD ルールを指定します。
[edit services captive-portal-content-delivery profile http-redirect] user@host# set cpcd-rules redirect
CPCD サービスのサービス・セットを作成します。
[edit services service-set] user@host# edit http-redirect-sset
サービス・セットの CPCD プロファイルを指定します。
[edit services service-set http-redirect-sset] user@host# set captive-portal-content-delivery-profile http-redirect
内部および外部のサービスインターフェイスのネクストホップサービスのインターフェイス名を指定し、静的インターフェイスに接続します。
[edit services service-set http-redirect-sset] user@host# set next-hop-service inside-service-interface ms-11/1/0.1 user@host# set next-hop-service outside-service-interface ms-11/1/0.2
結果
設定モードから、 コマンドを入力して設定を show services
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show services captive-portal-content-delivery { rule redirect { match-direction input; term REDIRECT { then { redirect http://redirection-portal/redirection/; } } } profile http-redirect { cpcd-rules redirect; } } service-set http-redirect-sset { captive-portal-content-delivery-profile http-redirect; next-hop-service { inside-service-interface ms-11/1/0.1; outside-service-interface ms-11/1/0.2; } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
CPCD のパッケージとインストールの設定
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
MS-MPC/MS-MICを搭載したMXシリーズ5Gユニバーサルルーティングプラットフォーム上のサービスインターフェイスでサービスパッケージをサポートするようにJunos OSを設定します。
[edit chassis] user@host# edit fpc 11 pic 1 adaptive-services service-package
PIC 上で実行するように CPCD サービス パッケージを構成します。ステートメントが最初に
extension-provider
設定されると、PICが再起動します。[edit chassis fpc 11 pic 1 adaptive-services service-package] user@host# set extension-provider package jservices-cpcd
PICシステムロギングを有効にして、PIC上でシステムログメッセージを記録または表示しますが、デーモン、外部、カーネル、またはパケット転送エンジンのプロセスは含まれません。
[edit chassis fpc 11 pic 1 adaptive-services service-package extension-provider] user@host# set extension-provider syslog daemon none user@host# set extension-provider syslog external none user@host# set extension-provider syslog kernel none user@host# set extension-provider syslog pfe none
結果
設定モードから、 コマンドを入力して設定を show chassis
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show chassis fpc 11 { pic 1 { adaptive-services { service-package { extension-provider { package jservices-cpcd; syslog { daemon none; external none; kernel none; pfe none; } } } } } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
静的インターフェイス、HTTPリダイレクトフィルター、インターフェイスサービスオプションの設定
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
トラフィックがリダイレクトされる前に到着する論理インターフェイスを備えたギガビット インターフェイスを設定します。
[edit interfaces] user@host# edit ge-0/0/1 unit 900
論理インターフェイスに説明とVLAN IDを割り当てます。
[edit interfaces ge-0/0/1 unit 900] user@host# set description VLAN-REDIRECT user@host# set vlan-id 900
インターフェイスにIPv4ファミリーを設定します。
[edit interfaces ge-0/0/1 unit 900] user@host# edit family inet
インターフェイスでパケットが受信およびリダイレクトされたタイミングを評価する入力フィルターを設定します。
[edit interfaces ge-0/0/1 unit 900 family inet] user@host# set filter input FF_HTTP_REDIR_IN
入力フィルターのアドレスを設定します。
[edit interfaces ge-0/0/1 unit 900 family inet] user@host# set address 203.0.113.250/30
マルチサービス インターフェイスに適用するサービス オプションを設定します。
[edit interfaces] user@host# edit ms-11/1/0 services-options
メモ:サービス オプションに設定された値は、例えば、のみ表示されます。要件に従って、適切な値を設定およびプロビジョニングする必要があります。
TCP(伝送制御プロトコル)セッション確立のオープンおよびクローズタイムアウト期間を秒単位で指定します。
[edit interfaces ms-11/1/0 services-options] user@host# set open-timeout 4 user@host# set close-timeout 2
確立されたTCPおよび非TCPセッションの非アクティブタイムアウト期間を秒単位で指定します。
[edit interfaces ms-11/1/0 services-options] user@host# set inactivity-tcp-timeout 5 set inactivity-non-tcp-timeout 5
マルチサービスインターフェイスのセッションライフタイムをグローバルに指定します。
[edit interfaces ms-11/1/0 services-options] user@host# set session-timeout 5
TCPセッションのタイムアウトが許可される前に送信されるキープアライブメッセージの最大数を指定します。
[edit interfaces ms-11/1/0 services-options] user@host# set tcp-tickles 0
マルチサービス インターフェイスで論理インターフェイスを設定します。
[edit interfaces ms-11/1/0] user@host# edit unit 1
サービスドメインを設定して、ネットワーク内で論理インターフェイスが使用されることを指定します。
[edit interfaces ms-11/1/0 unit 1] user@host# set service-domain inside
論理インターフェイスにIPv4アドレスファミリーを設定します。
[edit interfaces ms-11/1/0 unit 1] user@host# set family inet
マルチサービス インターフェイスで 2 つ目の論理インターフェイスを設定します。
[edit interfaces ms-11/1/0] user@host# edit unit 2
ネットワークの外部で論理インターフェイスが使用されることを指定するサービスドメインを設定します。
[edit interfaces ms-11/1/0 unit 2] user@host# set service-domain outside
論理インターフェイスから CPCD パケットをリダイレクトする出力フィルターを設定します。
[edit interfaces ms-11/1/0 unit 2] user@host# set filter output FF_CPCD_REDIRECT_OUTPUT
論理インターフェイスにIPv4アドレスファミリーを設定します。
[edit interfaces ms-11/1/0 unit 2] user@host# set family inet
結果
設定モードから、 コマンドを入力して設定を show interfaces
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show interfaces ge-0/0/1 { unit 900 { description VLAN-REDIRECT; vlan-id 900; } family inet { filter { input FF_HTTP_REDIR_IN; } address 203.0.113.250/30; } } ms-11/1/0 { services-options { open-timeout 4; close-timeout 2; inactivity-tcp-timeout 5; inactivity-non-tcp-timeout 5; session-timeout 5; tcp-tickles 0; } unit 1 { family inet; service-domain inside; } unit 2 { family inet { filter { output FF_CPCD_REDIRECT_OUTPUT; } } service-domain outside; } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
追加のルーティングインスタンスの設定とネクストホップスタティックインターフェイスの割り当て
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
ルーティングインスタンスを設定します。
[edit routing-instances] user@host# edit CPCD_REDIRECT
仮想ルータールーティングインスタンスを設定します。
[edit routing-instances CPCD_REDIRECT] user@host# set instance-type virtual-router
ルーティングインスタンスに対して、以前に定義された2つのマルチサービスインターフェイスを設定します。
[edit routing-instances CPCD_REDIRECT] user@host# set interface ms-11/1/0.1 user@host# set interface ms-11/1/0.2
スタティック ルーティング オプションを設定します。
[edit routing-instances CPCD_REDIRECT] user@host# edit routing-options static
ネクストホップスタティックインターフェイスをルートとルーティングインスタンスに割り当てます。
[edit routing-instances CPCD_REDIRECT routing-options static] user@host# set route 0.0.0.0/0 next-hop ms-11/1/0.1 user@host# set route 203.0.113.0/24 next-hop ms-11/1/0.2
結果
設定モードから、 コマンドを入力して設定を show routing-instances
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show routing-instances CPCD_REDIRECT { instance-type virtual-router; interface ms-11/1/0.1; interface ms-11/1/0.2; routing-options { static { route 0.0.0.0/0 next-hop ms-11/1/0.1; route 203.0.113.0/24 next-hop ms-11/1/0.2; } } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
HTTP トラフィックを誘導するためのインターフェイス固有フィルターの設定
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
階層の下に、サービスフィルターのファミリーを作成します
[edit firewall]
。[edit firewall] user@host# edit family inet
CPCD の出力トラフィックをリダイレクトするインターフェイス固有のフィルターを作成します。
[edit firewall family inet] user@host# edit filter FF_CPCD_REDIRECT_OUTPUT
これがインターフェイス固有のフィルターであることを指定します。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT] user@host# set interface-specific
壁のある庭園のインターフェイス固有フィルターのフィルター条件を作成します。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT] user@host# edit term One
デフォルトトラフィックをカウントするアクションとデフォルトのルーティングインスタンスの両方を指定します。
[edit firewall family inet filter FF_CPCD_REDIRECT_OUTPUT interface-specific term One] user@host# set then count back-to-default set then routing-instance default
HTTP 入力トラフィックをリダイレクトするフィルターを作成します。
[edit firewall family inet] user@host# edit filter FF_HTTP_REDIR_IN
これがインターフェイス固有のフィルターであることを指定します。
[edit firewall family inet filter FF_HTTP_REDIR_IN] user@host# set interface-specific
壁のある庭園のインターフェイス固有フィルターのフィルター条件を作成します。
[edit firewall family inet filter FF_HTTP_REDIR_IN] user@host# edit term ACCEPTED_PREFIXES
ウォールド ガーデンのフィルターの一致条件として、受け入れ可能なプレフィックスのリストを指定します。
[edit firewall family inet filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES] user@host# set from prefix-list User-PRIVATE-Blocks-01
一致するすべての HTTP トラフィックに対して実行するアクションを指定します。
[edit firewall family inet filter FF_HTTP_REDIR_IN term ACCEPTED_PREFIXES] user@host# set then next term
ウォールド ガーデンのフィルターの 2 つ目のフィルター条件を作成します。
[edit firewall family inet filter FF_HTTP_REDIR_IN interface-specific] user@host# edit term HTTP
ウォールド ガーデンのフィルターの一致条件としてプロトコルと宛先ポートを指定します。
[edit firewall family inet filter FF_HTTP_REDIR_IN term HTTP] user@host# set from protocol tcp user@host# set from destination-port http
壁に囲まれた庭園の外に流れる HTTP トラフィックに一致させるアクションを指定します。
[edit firewall family inet filter filter FF_HTTP_REDIR_IN interface-specific term HTTP] user@host# set then count HTTP user@host# set then forwarding-class best-effort user@host# set then routing-instance CPCD_REDIRECT
結果
設定モードから、 コマンドを入力して設定を show firewall
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show firewall family inet { filter FF_CPCD_REDIRECT_OUTPUT { interface-specific; term One { then { count back-to-default; routing-instance default; } } } filter FF_HTTP_REDIR_IN { interface-specific; term ACCEPTED_PREFIXES { from { prefix-list { User-PRIVATE-Blocks-01; } } then next term; } term HTTP { from { protocol tcp; destination-port http; } then { count http; forwarding-class best-effort; routing-instance CPCD_REDIRECT; } } } }
デバイスの設定が完了したら、設定モードから を入力します commit
。
プライベートブロックプレフィックスリストを使用するポリシーオプションとステートメントの設定
手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
階層の下でプライベートブロックプレフィックスリストを使用するポリシーオプションとステートメントを
[edit policy-options]
作成します。[edit policy-options] user@host# set policy-statement User-PRIVATE-Blocks-01
プライベートブロックプレフィックスリストの送信元アドレスを設定します。
[edit policy-options policy-statement User-PRIVATE-Blocks-01] user@host# set 203.0.113.0/24
結果
設定モードから、 コマンドを入力して設定を show policy-options
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] root@host# show policy-options policy-statement User-PRIVATE-Blocks-01 { 203.0.113.0/24; }
デバイスの設定が完了したら、設定モードから を入力します commit
。
検証
HTTP リダイレクト サービスがサービス セット内で正しく構成されていることを確認するには、以下のタスクを実行します。
CPCD サービス用に構成されたサービス・セットの検証
目的
設定した CPCD サービス セットを表示します。
アクション
動作モードから、 コマンドを show services captive-portal-content-delivery service-set http-redirect-sset detail
入力します。
user@host> show services captive-portal-content-delivery service-set http-redirect-sset detail Service Set Id Profile Compiled Rules http-redirect-sset 1 http-redirect 1
意味
出力には、CPCD サービス用に構成されたサービス・セットがリストされます。
ウォールド ガーデンの設定された HTTP サービス ルールの詳細の検証
目的
壁のある庭園に対して構成された特定の HTTP サービス ルールの詳細を表示します。
アクション
動作モードから、 コマンドを show services captive-portal-content-delivery rule redirect term REDIRECT
入力します。
user@host> show services captive-portal-content-delivery rule redirect term REDIRECT Rule name: redirect Rule match direction: input Term name: term REDIRECT Term action: redirect Term action option: http://redirection-portal/redirection/
意味
出力には、ウォールド ガーデンに設定された特定の HTTP サービス ルールのルールと条件の詳細が一覧表示されます。