PPP パケットのレイヤー 2 トンネリング
レイヤー 2 トンネリング プロトコルの概要
L2TP は、RFC 2661、 レイヤー 2 トンネリング プロトコル (L2TP) で定義されています。
L2TP は、エンド ユーザーとアプリケーションの両方に対して可能な限り透過的な方法で、介在するネットワーク上での PPP パケットのトンネリングを容易にします。グループおよび個々のユーザーのアクセスにアクセスプロファイルを採用し、認証を使用して各トンネルの両端間で安全な接続を確立します。マルチリンクPPP機能もサポートされています。
L2TP サービスは、以下のルーターでのみサポートされています。
AS PIC搭載のM7iルーター
ASおよびマルチサービス100 PICを備えたM10iルーター
AS、マルチサービス100、マルチサービス400PICを搭載したM120ルーター
MXシリーズ ルーターでは、L2TP アクセス コンセントレータ(LAC)および L2TP ネットワーク サーバー(LNS)機能は MPC でのみサポートされています。これらは、サービスPICまたはMS-DPCではサポートされていません。L2TP の MPC サポートの詳細については、MXシリーズ インターフェイス モジュール リファレンスをご覧ください
詳細については、「 L2TP サービス設定の概要」を参照してください。
参照
L2TPサービス構成の概要
L2TPサービスを設定するためのステートメントは、以下の階層レベルにあります。
[edit services l2tp tunnel-group group-name]
L2TP トンネルグループ ステートメントは、L2TPインスタンスまたはL2TPサーバーを識別します。関連するステートメントは、着信トンネルとセッションが受け入れられるローカルゲートウェイアドレス、このトンネルグループ内のセッションのデータを処理する適応サービス(AS)物理 インターフェイスカード (PIC)、L2TPおよびPPPアクセスプロファイルへの参照、およびウィンドウサイズとタイマー値を設定するためのその他の属性を指定します。
[editインターフェイスsp-fpc/pic/port ユニット logical-unit-number ダイヤルオプション]
dial-optionsステートメントには、l2tp-interface-idステートメントとshared/dedicatedフラグの設定が含まれています。インターフェイス識別子は、ユーザーセッションを論理インターフェイスに関連付けます。セッションは、共有または専用の論理インターフェイスのいずれかを使用できます。ルーティングプロトコルを実行するには、セッションが専用の論理インターフェイスを使用する必要があります。
[クライアントnamel2TPprofile-nameアクセスプロファイルを編集]
トンネルプロファイルは 、階層レベルで [edit access] 定義されます。トンネルクライアントは、これらのプロファイルの認証、マルチリンクネゴシエーションとフラグメント化、およびその他のL2TP属性で定義されます。
[クライアントnamepppprofile-nameアクセスプロファイルを編集]
ユーザープロファイルは、階層レベルで [edit access] 定義されます。これらのプロファイルでは、ユーザークライアントは認証やその他のPPP属性で定義されます。これらのクライアントプロファイルは、ローカル認証が指定されている場合に使用されます。
[edit access radius-server address]
階層レベルで 認証順序 radiusを [edit access profile profile-name] 設定する場合、階層レベルでRADIUSサービスを [edit access radius-server] 設定する必要があります。
[edit access] 階層レベルでのプロパティ設定の詳細については、ルーティングデバイス用 Junos OS 運用管理ライブラリをご覧ください。加入者アクセス用の MXシリーズルーターでの L2TP LAC および LNS 設定については、Junos 加入者アクセス設定ガイドの 加入者アクセス用の L2TP の概要を参照してください。
L2TP 最小構成
L2TP サービスを設定するには、少なくとも次のタスクを実行する必要があります。
以下の属性を持つトンネル グループを
[edit services l2tp]
階層レベルで定義します。l2tp-access-profile
—L2TP トンネルのプロファイル名。ppp-access-profile
- L2TP ユーザのプロファイル名。local-gateway
—L2TP トンネルのアドレス。service-interface
—L2TPサービスのPICインターフェイスとして。必要に応じて、デバッグ目的で
traceoptions
を設定できます。
次の例は、トレース オプションを使用したトンネル グループの最小設定を示しています。
[edit services l2tp] tunnel-group finance-lns-server { l2tp-access-profile westcoast_bldg_1_tunnel; ppp-access-profile westcoast_bldg_1; local-gateway { address 10.21.255.129; } service-interface sp-1/3/0; } traceoptions { flag all; filter { protocol udp; protocol l2tp; protocol ppp; protocol radius; } }
[edit interfaces]
階層レベルでは、次のようになります。L2TP トンネル パケットがルーターに入る物理インターフェイスを特定します(例:
ge-0/3/0
)。IPサービス用に定義された
unit 0 family inet
でAS PICインターフェイスを設定し、family inet
とdial-options
ステートメントで別の論理インターフェイスを設定します。
次の例は、L2TPの最小インターフェイス設定を示しています。
[edit interfaces] ge-0/3/0 { unit 0 { family inet { address 10.58.255.129/28; } } } sp-1/3/0 { unit 0 { family inet; } unit 20 { dial-options { l2tp-interface-id test; shared; } family inet; } }
[edit access]
階層レベルでは、次のようになります。トンネル プロファイルを設定します。各クライアントは、AS PICインターフェイスユニットで設定されたものと同じ
interface-id
値を持つ一意のL2TPアクセスコンセントレータ(LAC)名を指定します。shared-secret
、LACとL2TPネットワークサーバー(LNS)間の認証です。ユーザー プロファイルを構成します。RADIUSを認証方法として使用する場合は、定義する必要があります。
ルーターとRADIUSサーバー間で共有されるIPアドレス、ポート、認証データを使用して、RADIUSサーバーを定義します。
手記:L2TP ネットワーク サーバー (LNS) が RADIUS 認証で構成されている場合、既定の動作では、RADIUS によって割り当てられた優先 IP アドレスを受け入れます。以前は、デフォルトの動作は、IPCP 設定要求パケットの IP-Address オプションに入力されたゼロ以外のピア IP アドレスを受け入れてインストールすることでした。
オプションで、例えばキープアライブメッセージをオフにする
keepalive 0
など、共通の属性に対してグループプロファイルを定義することができます。
次の例は、L2TP の最小プロファイル設定を示しています。
[edit access] group-profile westcoast_users { ppp { keepalive 0; } } profile westcoast_bldg_1_tunnel { client production { l2tp { interface-id test; shared-secret "$ABC123"; # SECRET-DATA } user-group-profile westcoast_users; } } profile westcoast_bldg_1 { authentication-order radius; } radius-server { 192.168.65.63 { port 1812; secret "$ABC123"; # SECRET-DATA } }
参照
L2TP トンネル グループの設定
ルーターで L2TP サービスを確立するには、L2TP トンネル グループを識別し、トンネルの作成に使用するアクセス プロファイル、インターフェイス アドレス、およびその他のプロパティを定義するいくつかの値を指定する必要があります。トンネル グループを識別するには、[edit services l2tp]
階層レベルで tunnel-group
ステートメントを含めます。
トンネル グループを削除するか、非アクティブとしてマークすると、そのトンネル グループ内のすべての L2TP セッションが終了します。 local-gateway address
または service-interface
ステートメントの値を変更すると、これらの設定を使用するすべての L2TP セッションが終了します。 [edit services l2tp tunnel-group group-name]
階層レベルで他のステートメントを変更または削除した場合、確立する新しいトンネルは更新された値を使用しますが、既存のトンネルおよびセッションは影響を受けません。
次のセクションでは、L2TP トンネル グループの設定方法について説明します。
- L2TP トンネル グループのアクセス プロファイルの設定
- ローカルゲートウェイアドレスとPICの設定
- L2TP トンネルのウィンドウ サイズを設定する
- L2TP トンネルのタイマーの設定
- L2TPトンネルの属性-値ペアの非表示
- L2TP トンネル アクティビティのシステム ロギングの設定
L2TP トンネル グループのアクセス プロファイルの設定
L2TP接続とセッション要求を検証するには、[edit access]
階層レベルでprofile
ステートメントを設定してアクセスプロファイルを設定します。次の 2 種類のプロファイルを構成する必要があります。
指定されたローカルゲートウェイアドレスへのすべてのL2TP接続要求を検証するL2TPトンネルアクセスプロファイル
ローカルゲートウェイアドレスに確立されたL2TPトンネルを介してすべてのPPPセッション要求を検証するPPPアクセスプロファイル
プロファイルの設定の詳細については、 ルーティングデバイス用 Junos OS 運用管理ライブラリをご覧ください。プロファイルの例は、 例: L2TPサービスの設定に含まれています。
プロファイルをトンネル グループに関連付けるには、[edit services l2tp tunnel-group group-name]
階層レベルで l2tp-access-profile
および ppp-access-profile
ステートメントを含めます。
l2tp-access-profile profile-name; ppp-access-profile profile-name;
ローカルゲートウェイアドレスとPICの設定
L2TPグループを設定する際、L2TPトンネル接続と要求を処理するAS PICのローカルアドレスも定義する必要があります。
ローカルゲートウェイのIPアドレスを設定するには、
[edit services l2tp tunnel-group group-name local-gateway]
階層レベルでaddress
ステートメントを含めます。address address;
AS PICを設定するには、
[edit services l2tp tunnel-group group-name]
階層レベルにservice-interface
ステートメントを含めます。service-interface sp-fpc/pic/port;
オプションで、論理ユニット番号とサービス インターフェイスを指定できます。指定された場合、ユニットは、このプロファイルを使用してネゴシエートされた PPP セッションを表す論理インターフェイスとして使用されます。
ローカルゲートウェイアドレスまたはサービスインターフェイス設定を変更すると、それらの設定を使用しているすべてのL2TPセッションが終了します。
L2TPセッションが出力インターフェイスでIQ2 PICを使用するよう設定されている限り、動的CoS(サービス クラス)機能は、L2TP LNSセッションまたはATM VCとのL2TPセッションでサポートされます。詳細については、 サービス クラス ユーザー ガイド(ルーターとEX9200スイッチ)を参照してください。
L2TP トンネルのウィンドウ サイズを設定する
L2TP トンネルの両端でパケット処理の最大ウィンドウ サイズを設定できます。
受信ウィンドウ サイズは、サーバーが処理する同時パケットの数を制限します。デフォルトでは、最大 16 パケットです。ウィンドウ サイズを変更するには、
[edit services l2tp tunnel-group group-name]
階層レベルでreceive-window
ステートメントを含めます。receive-window packets;
最大送信ウィンドウ サイズは、相手側の受信ウィンドウ サイズを制限します。この情報は、受信ウィンドウ サイズの属性と値のペアで送信されます。デフォルトでは、最大 32 パケットです。ウィンドウ サイズを変更するには、
[edit services l2tp tunnel-group group-name]
階層レベルでmaximum-send-window
ステートメントを含めます。maximum-send-window packets;
L2TP トンネルのタイマーの設定
L2TP トンネル処理を規制する以下のタイマー値を設定できます。
Hello 間隔—指定された時間間隔内にサーバーがメッセージを受信しない場合、ルーター ソフトウェアはトンネルのリモート ピアに Hello メッセージを送信します。デフォルトでは、間隔の長さは 60 秒です。値 0 を設定すると、Hello メッセージは送信されません。別の値を設定するには、
[edit services l2tp tunnel-group group-name]
階層レベルでhello-interval
ステートメントを含めます。hello-interval seconds;
再送信間隔:デフォルトでは、再送信間隔の長さは 30 秒です。別の値を設定するには、
[edit services l2tp tunnel-group group-name]
階層レベルでretransmit-interval
ステートメントを含めます。retransmit-interval seconds;
トンネルタイムアウト:サーバーは、指定された時間内にトンネルを介してデータを送信できない場合、リモートピアとの接続が失われたと見なし、トンネルを削除します。デフォルトでは、間隔の長さは 120 秒です。別の値を設定するには、
[edit services l2tp tunnel-group group-name]
階層レベルでtunnel-timeout
ステートメントを含めます。tunnel-timeout seconds;
L2TPトンネルの属性-値ペアの非表示
L2TPトンネルが確立され、接続が認証されると、情報は属性と値のペアによってエンコードされます。デフォルトでは、この情報は非表示にされていません。共有シークレットが判明した後に属性と値のペアを非表示にするには、[edit services l2tp tunnel-group group-name]
階層レベルにhide-avps
ステートメントを含めます。
hide-avps;
L2TP トンネル アクティビティのシステム ロギングの設定
L2TPサービスに対してシステムログメッセージを生成する方法を制御するプロパティを指定できます。
インターフェイス全体のデフォルトシステムロギング値を設定するには、[edit services l2tp tunnel-group group-name]
階層レベルでsyslog
ステートメントを含めます。
syslog { host hostname { services severity-level; facility-override facility-name; log-prefix prefix-value; } }
host
ステートメントに、システムログのターゲットサーバーを指定するホスト名またはIPアドレスを設定します。ホスト名local
は、システムログメッセージをルーティングエンジンに送信します。外部システムログサーバーの場合、ホスト名は、(セッション確立のトリガーとなった)最初のデータパケットが配信されたのと同じルーティング インスタンスから到達可能である必要があります。システム・ロギング・ホスト名は1つだけ指定できます。
表 1 は、 [edit services l2tp tunnel-group group-name syslog host hostname]
階層レベルの設定ステートメントで指定できる重大度レベルを示しています。 emergency
から info
までのレベルは、重大度が最も高い(機能への影響が最も大きい)ものから最も低いものへと順に並んでいます。
重大度レベル |
形容 |
---|---|
|
すべての重大度レベルを含む |
|
ルーターの機能を停止させてしまう、システム パニックなどの状態 |
|
システム データベースの破損などの、直ちに修正が必要な状態 |
|
ハードドライブのエラーなどの重大な状態 |
|
通常、緊急、アラート、クリティカルなレベルのエラーほど深刻な結果をもたらさないエラー状態 |
|
監視が必要な状態 |
|
エラーではないが、特別な対応が必要と思われる状態 |
|
興味のあるイベントまたは非エラー状態 |
通常の動作中は、システム ロギングの重大度レベルを error
に設定することをお勧めします。PICリソースの使用状況を監視するには、レベルを warning
に設定します。侵入検出システム・エラーが検出されたときに侵入攻撃に関する情報を収集するには、特定のサービス・セットのレベルを notice
に設定します。設定またはログ ネットワークアドレス変換(NAT)イベントをデバッグするには、レベルを info
に設定します。
システム ログ メッセージの詳細については、 システム ログ エクスプローラを参照してください。
指定されたシステムログホストへのすべてのログ記録に1つの特定のファシリティコードを使用するには、[edit services l2tp tunnel-group group-name syslog host hostname]
階層レベルにfacility-override
ステートメントを含めます。
facility-override facility-name;
サポートされている施設には、 authorization
、 daemon
、 ftp
、 kernel
、 user
、および local0
から local7
が含まれます。
このシステムログホストへのすべてのログにテキストプレフィックスを指定するには、[edit services l2tp tunnel-group group-name syslog host hostname]
階層レベルでlog-prefix
ステートメントを含めます。
log-prefix prefix-text;
L2TPサービスを提供する論理インターフェイスの識別子の設定
M7i、M10i、M120、MXシリーズルーターの適応型サービスインターフェイスでのみ、L2TPサービスを設定できます。論理インターフェイスを専用または共有に設定する必要があります。論理インターフェイスが専用の場合、一度に1つのセッションしか表すことができません。共有論理インターフェイスは、複数のセッションを持つことができます。
論理インターフェイスを設定するには、[edit interfaces interface-name unit logical-unit-number dial-options]
階層レベルでl2tp-interface-id
ステートメントを含めます。
l2tp-interface-id name; (dedicated | shared);
論理インターフェイスに設定された l2tp-interface-id
名は、 [edit access profile name]
階層レベルで複製する必要があります。
ユーザー固有の識別子については、
[edit access profile name ppp]
階層レベルでl2tp-interface-id
ステートメントを含めます。グループ識別子については、
[edit access profile name l2tp]
階層レベルでl2tp-interface-id
ステートメントを含めます。
同じインターフェイス識別子を持つ複数の論理インターフェイスを設定して、複数のユーザーのプールとして使用することができます。アクセスプロファイルの設定の詳細については、 ルーティングデバイス用 Junos OS 運用管理ライブラリをご覧ください。
論理インターフェイスに設定された dial-options
ステートメント設定を削除すると、そのインターフェイス上で実行されているすべてのL2TPセッションが終了します。
例:共有論理インターフェースでのマルチリンクPPPの設定
マルチリンクPPPは、共有または専用論理インターフェイスのいずれかでサポートされています。次の例を使用して、単一の共有インターフェイス上で多数のマルチリンクバンドルを設定できます。
interfaces { sp-1/3/0 { traceoptions { flag all; } unit 0 { family inet; } unit 20 { dial-options { l2tp-interface-id test; shared; } family inet; } } } access { profile t { client test { l2tp { interface-id test; multilink; shared-secret "$ABC123"; # SECRET-DATA } } } profile u { authentication-order radius; } radius-server { 192.168.65.63 { port 1812; secret "$ABC123"; # SECRET-DATA } } } services { l2tp { tunnel-group 1 { l2tp-access-profile t; ppp-access-profile u; local-gateway { address 10.70.1.1; } service-interface sp-1/3/0; } traceoptions { flag all; debug-level packet-dump; filter { protocol l2tp; protocol ppp; protocol radius; } } } }
L2TPサービス向けのAS PIC冗長性
L2TPサービスは、AS PICの冗長性をサポートします。冗長性を設定するには、プライマリAS PICがアクティブで、セカンダリAS PICがスタンバイ状態にある冗長サービスPIC(rsp
)インターフェイスを指定します。プライマリAS PICに障害が発生すると、セカンダリPICがアクティブになり、すべてのサービス処理がそちらに転送されます。プライマリAS PICが復元された場合、スタンバイ状態のままになり、セカンダリAS PICをプリエンプトしません。サービスは手動でプライマリPICに復元する必要があります。現在アクティブなPICを確認するには、 show interfaces redundancy
コマンドを発行します。
L2TPでは、サポートされている唯一のサービスオプションは ウォームスタンバイで、1つのバックアップPICが複数の現用PICをサポートします。障害検知後、バックアップPICで設定を完全に復元する必要があるため、復旧時間は保証されません。トンネルとセッションはスイッチオーバー時に破棄され、LACおよびPPPクライアントによってそれぞれ再起動される必要があります。ただし、プロトコル状態を再確立する必要がありますが、設定は保持され、新しいアクティブPICで利用できます。
ウォームスタンバイをサポートする他のAS PICサービスと同様に、 request interfaces (revert | switchover)
コマンドを発行して、プライマリとセカンダリのL2TPインターフェイスを手動で切り替えることができます。
詳細については、 ASまたはマルチサービスPIC冗長性の設定を参照してください。設定例については、「 例: L2TPサービスの設定」を参照してください。動作モードコマンドの詳細については、 CLIエクスプローラーを参照してください。
例: L2TP サービスの設定
複数のグループプロファイルとユーザープロファイル、および同時トンネルセッション用の論理インターフェイスのプールでL2TPを設定します。
[edit access] address-pool customer_a { address 10.1.1.1/32; } address-pool customer_b { address-range low 10.2.2.1 high 10.2.3.2; } group-profile sunnyvale_users { ppp { framed-pool customer_a; idle-timeout 15; primary-dns 192.168.65.1; secondary-dns 192.168.65.2; primary-wins 192.168.65.3; secondary-wins 192.168.65.4; interface-id west; } } group-profile eastcoast_users { ppp { framed-pool customer_b; idle-timeout 20; primary-dns 192.168.65.5; secondary-dns 192.168.65.6; primary-wins 192.168.65.7; secondary-wins 192.168.65.8; interface-id east; } } group-profile sunnyvale_tunnel { l2tp { maximum-sessions-per-tunnel 100; interface-id west_shared; } } group-profile east_tunnel { l2tp { maximum-sessions-per-tunnel 125; interface-id east_shared; } } profile sunnyvale_bldg_1 { client white { chap-secret "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 192.168.65.1; framed-ip-address 10.12.12.12/32; interface-id east; } group-profile sunnyvale_users; } client blue { chap-secret "$ABC123"; # SECRET-DATA group-profile sunnyvale_users; } authentication-order password; } profile sunnyvale_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; # SECRET-DATA maximum-sessions-per-tunnel 75; interface-id west_shared; ppp-authentication chap; } group-profile sunnyvale_tunnel; } client production { l2tp { shared-secret "$ABC123"; ppp-authentication chap; } group-profile sunnyvale_tunnel; } } [edit services] l2tp { tunnel-group finance-lns-server { l2tp-access-profile sunnyvale_bldg_1_tunnel; ppp-access-profile sunnyvale_bldg_1; local-gateway { address 10.1.117.3; } service-interface sp-1/3/0; receive-window 1500; maximum-send-window 1200; retransmit-interval 5; hello-interval 15; tunnel-timeout 55; } traceoptions { flag all; } } [edit interfaces sp-1/3/0] unit0 { family inet; } unit 10 { dial-options { l2tp-interface-id foo-user; dedicated; } family inet; } unit 11 { dial-options { l2tp-interface-id east; dedicated; } family inet; } unit 12 { dial-options { l2tp-interface-id east; dedicated; } family inet; } unit 21 { dial-options { l2tp-interface-id west; dedicated; } family inet; } unit 30 { dial-options { l2tp-interface-id west_shared; shared; } family inet; } unit 40 { dial-options { l2tp-interface-id east_shared; shared; } family inet; }
L2TPの冗長性を設定します。
interfaces { rsp0 { redundancy-options { primary sp-0/0/0; secondary sp-1/3/0; } unit 0 { family inet; } unit 11 { dial-options { l2tp-interface-id east_shared; shared; } family inet; } } }
L2TP操作のトレース
トレース操作は、すべてのAS PIC操作を追跡し、 /var/log ディレクトリのログファイルに記録します。デフォルトでは、このファイルの名前は /var/log/l2tpd です。
このトピックでは、M Series ルーターでの L2TP LNS 動作のトレースについて説明します。MXシリーズルーターでのL2TP LAC操作をトレースするには、 トラブルシューティングのためのL2TPイベントのトレースを参照してください。
L2TP操作をトレースするには、[edit services l2tp]
階層レベルにtraceoptions
ステートメントを含めます。
traceoptions { debug-level level; file <filename> <files number> <match regular-expression > <size maximum-file-size> <world-readable | no-world-readable>; filter { protocol name; user-name username; } flag flag; interfaces interface-name { debug-level severity; flag flag; } level (all | error | info | notice | verbose | warning); no-remote-trace; }
次の L2TP トレース フラグを指定できます。
all
—すべてをトレースします。configuration
- 設定イベントをトレースします。protocol
- ルーティング プロトコルのイベントをトレースします。routing-socket
- ルーティング ソケット イベントをトレースします。rpd
- ルーティング プロトコル プロセス イベントをトレースします。
PPP、L2TP、RADIUS、およびユーザ データグラム プロトコル(UDP)トレースのトレース レベルを指定できます。トレース レベルを設定するには、[edit services l2tp traceoptions]
階層レベルで debug-level
ステートメントを記述し、次のいずれかの値を指定します。
detail
—詳細なデバッグ情報error
- エラーのみpacket-dump
—パケット デコード情報
プロトコルでフィルタリングできます。フィルターを設定するには、[edit services l2tp traceoptions]
階層レベルでfilter protocol
ステートメントを含め、以下のプロトコル値を1つ以上指定します。
ppp
l2tp
radius
udp
プロトコル名によるフィルタリングを実装するには、 flag protocol
または flag all
も設定する必要があります。
また、特定の適応型サービスインターフェイス上のL2TPのtraceoptionsを設定することもできます。インターフェイスごとのトレースを設定するには、[edit services l2tp traceoptions]
階層レベルでinterfaces
ステートメントを含めます。
interfaces interface-name { debug-level level; flag flag; }
traceoptionsを実装すると、CPUリソースが消費され、パケット処理のパフォーマンスに影響を与えます。
インターフェイスに debug-level
および flag
ステートメントを指定できますが、オプションは一般的なL2TPトレースオプションと若干異なります。デバッグレベルを detail
、 error
、または extensive
に指定すると、完全なPICデバッグ情報が提供されます。次のフラグを使用できます。
all
—すべてをトレースします。ipc
—PICとルーティングエンジン間のL2TPプロセス間通信(IPC)メッセージをトレースします。packet-dump
- デバッグレベルに基づいて各パケットの内容をダンプします。protocol
- L2TP、PPP、マルチリンク処理をトレースします。system
—PICでのパケット処理をトレースします。