MS-MPCベースまたはMX-SPC3ベースの静的HTTPリダイレクトサービスの設定
Junos OSリリース19.3R2以降、MXシリーズルーターで次世代サービスを有効にしている場合、MX-SPC3サービスカードベースのキャプティブポータルでも静的なHTTPリダイレクトサービスのプロビジョニングがサポートされます。
ウォールドガーデンとは、キャプティブポータルを介した再認証を必要とせずにウォールドガーデン内のサイトへの加入者アクセスを提供するサーバーのグループです。通常、キャプティブポータルページは、加入者セッションにログインした後に加入者に表示される最初のページです。
加入者がウォールドガーデンの外のサイトにアクセスしようとすると、HTTPリダイレクトサービスはIPv4およびIPv6のHTTPリクエストを処理してそのトラフィックを管理します。ウォールドガーデン宛てではない加入者HTTPリクエストトラフィックはリダイレクトサーバーに送信され、リダイレクトサーバーはリダイレクトURLで応答し、無許可の外部サイトではなくキャプティブポータルにトラフィックを送信します。キャプティブポータルは、リダイレクトされた加入者に認証と承認サービスを提供してから、ウォールドガーデンの外にある保護されたサーバーへのアクセスを許可します。
リダイレクトサーバーはローカルまたはリモートにすることができます。
ローカルリダイレクトサーバー—ルーター上に常駐し、加入者のトラフィックをウォールドガーデン内のキャプティブポータルにリダイレクトします。
リモートリダイレクトサーバー—ルーターの背後にあるウォールドガーデン内のポリシーサーバーなどのデバイス上に存在します。加入者のHTTPトラフィックの宛先アドレスは、リモートリダイレクトサーバーのアドレスに書き換えられます。リモートサーバーは、そのウォールドガーデン内のキャプティブポータルに加入者トラフィックをリダイレクトします。
ウォールドガーデンをファイアウォールサービスフィルターとして設定します。サービスフィルターは、静的インターフェイスにアタッチされています。CPCDサービスは、サービスセットによってサービスインターフェイス(MS-MPCのms-またはMX-SPC3サービスカードのvms-)に適用されます。次に、サービス セットが静的インターフェイスに接続されます。
ウォールドガーデンをファイアウォールサービスフィルターとして設定する
ウォールドガーデンをファイアウォールサービスフィルターとして設定すると、ウォールドガーデン内のサーバー宛てのトラフィックが識別され、スキップされます。このトラフィックはラインカードに流れないため、処理要件が軽減されます。
その他のHTTPトラフィックは、ウォールドガーデンの外のアドレスに向けられます。このトラフィックはフィルター条件に一致しないため、処理のためにラインカードに流れます。
ウォールドガーデンにキャプティブポータルまたはサーバーのリストとして単一のサーバーが含まれるように、サービスフィルターを設定できます。
ウォールドガーデンを単一のサーバーをキャプティブポータルとして構成します。
サービスフィルターを作成します。
[edit] user@host# edit firewall family address-family service-filter filter-name
キャプティブポータルへのトラフィックの処理を識別してスキップするためのフィルター条件を定義します。
キャプティブポータルの宛先アドレスと宛先ポートを指定することで、キャプティブポータル宛てのトラフィックに一致するフィルター条件を指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name from destination-address ip-address user@host# set term name from destination-port port-number
一致するトラフィックがラインカード上の処理をスキップすることを指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name then skip
前の条件に一致しないすべてのトラフィックからHTTPトラフィックを識別し、CPCDサービスルールによる処理のために送信するフィルター条件を定義します。
スキップされたHTTPトラフィックと一致する1つ以上のHTTPポート番号を指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name from destination-port http-port-number
一致するトラフィックがCPCDサービスによって処理されることを指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name then service
フィルター条件を定義して、残りの非HTTPトラフィックに対するそれ以上のアクションをスキップします。
[edit firewall family inet service-filter filter-name] user@host# set term name then skip
例えば、以下の設定では、192.0.2.0上のキャプティブポータルを使用して、IPv4 HTTPトラフィックのフィルターwalled-v4を作成します。アドレスに一致するトラフィックはスキップされます。一致しないトラフィックは条件httpに送られ、HTTPトラフィックはスキップされたすべてのトラフィックから選択され、CPCDサービスに従って処理されるように送信されます。最後に、条件スキップにより、残りのHTTP以外のトラフィックはすべてスキップされます。
[edit] user@host# edit firewall family inet service-filter walled-v4 [edit firewall family inet service-filter walled-v4] user@host# set term portal from destination-address 192.0.2.0 user@host# set term portal from destination-port 80 user@host# set term portal then skip user@host# set term http from destination-port 80 user@host# set term http then service user@host# set term skip then skip
ウォールドガーデンをサーバーのリストまたはサブネットとして設定します。
サービスフィルターを作成します。
[edit] user@host# edit firewall family address-family service-filter filter-name
フィルター条件を定義します。
サーバーの宛先プレフィックスリストを指定することで、ウォールドガーデン内の任意のサーバー宛てのトラフィックに一致するフィルター条件を指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name from destination-prefix-list list-name user@host# set term name from destination-port port-number
一致するトラフィックがラインカード上の処理をスキップすることを指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name then skip
前の条件に一致しないすべてのトラフィックからHTTPトラフィックを識別し、CPCDサービスルールによる処理のために送信するフィルター条件を定義します。
スキップされたHTTPトラフィックと一致する1つ以上のHTTPポート番号を指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name from destination-port http-port-number
一致するトラフィックがCPCDサービスによって処理されることを指定します。
[edit firewall family inet service-filter filter-name] user@host# set term name then service
フィルター条件を定義して、残りの非HTTPトラフィックに対するそれ以上のアクションをスキップします。
[edit firewall family inet service-filter filter-name] user@host# set term name then skip
(オプション)ウォールドガーデン内のサーバーを指定するプレフィックスリストを定義します。サブネットまたは複数の個別アドレスを指定できます。
[edit policy-options] user@host# set prefix-list list- name ip-address/mask user@host# set prefix-list list- name ip-address1 user@host# set prefix-list list- name ip-address2
例えば、以下の設定では、IPv6 HTTPトラフィックのフィルターwalled-v6-listを作成し、ウォールドガーデン内の2台のサーバーを指定するプレフィックスリストwg-listを付けます。フィルター条件portal6は、ウォールドガーデン宛てのIPv6トラフィックを特定します。一致しないトラフィックは条件http6に行き、HTTPトラフィックはスキップされたすべてのトラフィックから選択され、CPCDサービスに従って処理されるように送信されます。最後に、条件をスキップすると、残りのHTTP以外のトラフィックはすべてスキップされます。
[edit] user@host# edit firewall family inet6 service-filter walled-v6-list user@host# set term portal6 from destination-prefix-list wg-list user@host# set term portal6 then skip user@host# set term http6 from destination-port [80 8080] user@host# set term http6 then service user@host# set term skip6 then skip [edit policy-options] user@host# set prefix-list wg-list 2001:db8::10.10 user@host# set prefix-list wg-list 2001:db8::10.22
ローカルおよびリモートリダイレクトサーバーへのHTTPリダイレクトの設定
ウォールドガーデン外のサイトに対してHTTPリクエストが行われると、CPCDは認証と承認のためにトラフィックをキャプティブポータルにリダイレクトできます。
ウォールドガーデンの外を宛先とするトラフィックに対して実行するアクションを指定するCPCDサービスルールを設定します。このトラフィックは、ウォールドガーデンサービスフィルターによって識別され、サービスに渡されました。設定するアクションは、ローカルまたはリモートのHTTPリダイレクトサーバーのどちらを使用しているかによって異なります。
ルーターでローカルHTTPリダイレクトサーバーを使用している場合は、リダイレクトアクションを指定します。
ルーターの背後にあるウォールドガーデンにあるリモートHTTPリダイレクトサーバーを使用している場合は、単にリダイレクトURLを指定することはできません。この場合、サービスルールはトラフィックのIP宛先アドレスを書き換える必要があります。新しい宛先アドレスは、リモートHTTPリダイレクトサーバーのアドレスです。次に、リモートサーバーは、トラフィックをキャプティブポータルに送信するためのリダイレクトURLを提供します。
CPCDサービスは、サービスセットによってサービスインターフェイスに関連付けられています。サービスセットとウォールドガーデンサービスフィルターの両方が、静的に設定されたインターフェイスに適用されます。
例えば、以下のローカルサーバーの設定では、CPCDサービスルールredir-svcはトラフィックをキャプティブポータル、 http://www.portal.example.comにリダイレクトします。加入者が入力した元のURLがリダイレクトURLに追加されます。
user@host# edit services captive-portal-content-delivery user@host# edit rule redir-svc user@host# set match-direction input user@host# set term redir1 then redirect http://www.portal.example.com/url=%dest-url%
以下のリモートサーバーの設定では、元の宛先アドレスをリモートサーバーのアドレス192.0.2.230に書き換えるCPCDサービスルールrewr-svcを作成します。
user@host# edit services captive-portal-content-delivery user@host# edit rule rewr-svc user@host# set match-direction input user@host# set term rewr1 then rewrite destination-address 192.0.2.230
サービスプロファイルとサービスセットを設定して、サービスプロファイルをサービスインターフェイスに関連付ける
サービスセットは、MS-MPC/MS-MIC、またはMX-SPC3サービスカード(MXシリーズルーターで次世代サービスを有効にしている場合)によって実行される1つ以上のサービスを定義します。HTTPリダイレクトサービスでは、CPCDルールを含むCPCDサービスプロファイルを定義します。サービスセットは、CPCDサービスプロファイルを特定のサービスインターフェイスに適用します。
例えば、以下の設定は、CPCDルールredir-svcを参照するCPCDサービスプロファイルredir-profを作成します。サービスセットss2は、CPCDサービスプロファイルredir-profをサービスインターフェイスms-5/0/0に関連付けます。
[edit services captive-portal-content-delivery] user@host# edit profile redir-prof user@host# set cpcd-rules redir-svc [edit services] user@host# edit service-set sset2 user@host# set captive-portal-content-delivery-profile redir-prof user@host# set interface-service-service-interface ms-5/0/0
論理インターフェイスへのCPCDサービスセットとサービスフィルターのアタッチ
HTTPリダイレクトサービスを使用するには、CPCDサービスセットを論理インターフェイスにアタッチする必要があります。ウォールドガーデンがサービスフィルターとして設定されている場合は、サービスセットと同じインターフェイスにアタッチする必要があります。そのインターフェイスに到着するトラフィック、またはそのインターフェイスを出るトラフィックは、サービス フィルターによってフィルタリングされます。サービス対象として特定されたトラフィックは、MS-MPC、またはMXシリーズルーターで次世代サービスを有効にしており、CPCDプロファイルがサービスインターフェイスで適用されている場合は、MXシリーズサービスカードに送信されます。
例えば、以下の設定では、IPv4アドレスファミリー用にサービスセットsset2とサービスフィルターwalled-v4をge-2/0/1.0にアタッチしています。論理インターフェイスにアドレスを割り当てます。サービスセットとフィルターは、インターフェイスの入力と出力の両方に適用されます。
user@host# edit interfaces ge-2/0/1 unit 0 family inet user@host# set address 203.0.113.5 user@host# set service input service-set sset2 service-filter walled-v4 user@host# set service output service-set sset2 service-filter walled-v4
CPCDサービス用サービスパッケージのインストール
MS-MPC/MS-MIC、またはMX-SPC3サービスカード(MXシリーズルーターで次世代サービスを有効にしている場合)でCPCDサービスを使用するには、MS-MICまたはMX-SPC3でサービスインターフェイスを設定します。サービスインターフェイスを持つ各MS-MICまたはMX-SPC3サービスカードに必要なサービスパッケージをインストールする必要があります。
例えば、以下の設定では、MPCのシャーシスロット1にあるMS-MPCとスロット0にあるMS-MICにCPCDサービスパッケージを読み込みます。システムログメッセージは、すべての重大度レベルのデーモンとローカル外部アプリケーションに対して生成されます。
user@host# edit chassis fpc 1 pic 0 adaptive-services service-package [edit chassis fpc 1 pic 0 adaptive-services service-package] user@host# set extension-provider package jservices-cpcd [edit chassis fpc 1 pic 0 adaptive-services service-package] user@host# set extension-provider syslog daemon any user@host# set extension-provider syslog external any
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。