レイヤー 2 トンネリング プロトコル(L2TP)
レイヤー 2 トンネリング プロトコル(L2TP)は、レイヤー 3 ネットワークを介してレイヤー 2 トラフィックをトンネリングするためのプロトコルです。L2TP を使用して、ネットワーク内で PPP(Point-to-Point Protocol)トンネリングを有効にできます。
L2TP には、L2TP アクセス コンセントレータ(LAC)と L2TP ネットワーク サーバー(LNS)が必要です。LNS は、L2TP トンネルの 1 つのエンドポイントです。アクセス デバイス上に設定された LAC は、リモート クライアントからパケットを受信し、リモート ネットワーク上の LNS に転送します。LAC と LNS はピアです。
加入者アクセス用に L2TP を設定する方法については、「 加入者アクセス用 L2TP の概要」を参照してください。
最小 L2TP 設定
L2TP の最小構成を定義するには、階層レベルで少なくとも以下のステートメントを [edit access]
含めます。
[edit access] address-pool pool-name { address address-or-prefix; address-range low <lower-limit> high <upper-limit>; } profile profile-name { authentication-order [ authentication-methods ]; client client-name { chap-secret chap-secret; l2tp { interface-id interface-id; maximum-sessions-per-tunnel number; ppp-authentication (chap | pap); shared-secret shared-secret; } pap-password pap-password; ppp { framed-ip-address ip-address; framed-pool framed-pool; interface-id interface-id; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } } } radius-server server-address { accounting-port port-number; port port-number; retry attempts; secret password; }
LNS が RADIUS 認証で設定されている場合、デフォルトの動作は、優先する RADIUS 割り当て IP アドレスを受け入れることです。以前は、インターネット プロトコル制御プロトコル(IPCP)設定要求パケットで受信した 0 以外のピア IP アドレスを受け入れてインストールするという既定の動作でした。
L2TP プロファイル
L2TP のプロファイルを設定します。
複数のタイプのプロファイルが構成されている場合、オペレーティング システムは 1 つの設定のみを実装します。オペレーティング システムは、他のすべてのプロファイル設定を上書きして、 [edit access profile profile-name]
次のように優先順位を設定します。
[edit access profile profile-name]
[edit access group-profile profile-name]
[edit access profile profile-name user-group-profile profile-name]
プロファイルへのアクセス
L2TP 接続とセッション要求を検証するには、プロファイル ステートメントを階層レベルで設定してアクセス プロファイルを [edit access]
設定します。複数のプロファイルを設定できます。また、各プロファイルに対して複数のクライアントを設定することもできます。
L2TP クライアントの設定
クライアントを設定するには、階層レベルで client
ステートメントを [edit access profile profile-name]
含めます。
[edit access profile profile-name] client client-name;
client-name
はピア ID です。
L2TP では、オプションでワイルドカード(*
)を使用してデフォルト トンネル クライアントを定義し、同じシークレット属性と L2TP 属性を持つ複数のLACを認証できます。特定の名前を持つ LAC が設定で定義されていない場合、ワイルドカード トンネル クライアントがそれを認証します。
デフォルト のクライアント設定は *
、M シリーズ ルーターにのみ適用されます。MX シリーズ ルーターでは、代わりに使用 default
します。MX シリーズ ルーターの詳細については、「 L2TP LNS インライン サービス インターフェイス 」を参照してください。
クライアント固有のプロファイル
クライアント固有プロファイルの L2TP プロパティを定義するには、階層レベルで以下のステートメントのうち 1 つ以上を [edit access profile profile-name client client-name l2tp]
含めます。
プロファイルを設定する場合、L2TP または PPP パラメータのいずれかを同時に設定することはできますが、両方を同時に設定することはできません。
[edit access profile profile-name client client-name l2tp] interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; multilink { drop-timeout milliseconds; fragment-threshold bytes; } ppp-authentication (chap | pap); shared-secret shared-secret;
interface-id
(ステートメント内 interface-id
)は、階層レベルで設定されたL2TPセッションを表すインターフェイスの [edit interfaces interface-name unit local-unit-number dial-options]
識別子です。
number
(ステートメント内 maximum-sessions-per-tunnel
)は、L2TP トンネルの最大セッション数です。
shared-secret
(ステートメント内 shared-secret
)は、ピアを認証するための共有秘密です。
PPP 認証は(ステートメント内で ppp-authentication
)指定できます。デフォルトでは、PPP 認証は CHAP を使用します。パスワード認証プロトコル(PAP)を使用するように設定できます。
LNS を設定して、(ステートメント内で lcp-negotiation
)LCP を PPP クライアントと再ネゴシエーションできます。デフォルトでは、PPP クライアントは LCP を LAC とネゴシエートします。これを行うと、LNS は最後に送信された LCP 設定要求と最後に受信した LCP 設定要求 AVPを LAC から破棄します。たとえば、PPPクライアントとLAC間でネゴシエートされたLCP。
JUNos OS を設定すると、LNS は LAC からのプロキシ認証 AVP を無視し、CHAP チャレンジを使用して PPP クライアントを再認証できます(ステートメント内 local-chap
)。デフォルトでは、PPP クライアントは LNS によって再認証されません。これを行うと、LNS は PPP クライアントを直接認証します。
LAC から LNS に入ってくる PPP セッションでマルチリンク PPP がネゴシエートされている場合は、L2TP 用の PPP MP を設定できます。これを行うと、(ステートメント内の)エンドポイント識別子に基づいてマルチリンク バンドルを multilink
結合します。
-
milliseconds
(ステートメント内drop-timeout
)は、再構築キュー上の最初のフラグメントに関連付けられたタイムアウトのミリ秒数を指定します。すべてのフラグメントが収集される前にタイムアウトが期限切れになると、再アセンブリ キューの先頭にあるフラグメントが削除されます。ドロップ タイムアウトが指定されていない場合、Junos OS はフラグメントを保持します(マルチリンク再構築アルゴリズムによって、再アセンブリ キュー上のパケットに属する別のフラグメントが失われたと判断された場合、フラグメントはドロップされる可能性があります)。メモ:バンドルされたマルチリンクのドロップ タイムアウトとフラグメント化しきい値は、異なるトンネルに属している可能性があります。トンネルが異なる場合、ドロップ タイムアウトとフラグメント化しきい値が異なる場合があります。L2TP トンネルがある場合は、プロファイルの代わりにグループ プロファイルを設定することをお勧めします。
-
bytes
は、パケットの最大サイズ(ステートメント内)をバイト単位でfragment-threshold
指定します。パケットがフラグメント化しきい値を超えた場合、Junos OS はパケットを 2 つ以上のマルチリンク フラグメントにフラグメント化します。
例:デフォルト トンネル クライアントの定義
[edit access profile profile-name] client * { l2tp { interface-id interface1; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel 500; ppp-authentication chap; shared-secret "$ABC123"; } }
任意のトンネル クライアントでは、オプションでユーザー グループ プロファイルを使用して、トンネルを経由するすべてのユーザーのデフォルト PPP 属性を定義できます。ユーザー・グループ・プロファイルは PPP 属性を定義する必要があります。ユーザー・グループ・プロファイルが指定されている場合には,すべてのユーザー(PPPセッション)は,ユーザー・グループ・プロファイルで指定されたPPP属性を使用します。ローカルまたは RADIUS サーバーで指定された PPP 属性は、ユーザー・グループ・プロファイルで指定された PPP 属性よりも優先されます。
必要に応じて、ワイルドカード クライアントを使用してユーザー グループ プロファイルを定義できます。これを行うと、このトンネルに入るクライアントは、PPP 属性 (定義済みユーザー・グループ・プロファイル属性) をそのデフォルト PPP 属性として使用します。
アクセス プロファイルの設定
プロファイルを設定する場合、L2TP または PPP パラメータのみを設定できます。両方を同時に設定することはできません。
「」も参照
例:アクセス プロファイルの設定
次の例は、アクセス プロファイルの設定を示しています。
[edit access] profile westcoast_bldg_1 { client white { chap-secret "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 198.51.100.10; framed-ip-address 198.51.100.12/24; } group-profile westcoast_users; } client blue { chap-secret "$ABC123"; # SECRET-DATA group-profile sunnyvale_users; } authentication-order password; } profile westcoast_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; # SECRET-DATA maximum-sessions-per-tunnel 75; ppp-authentication chap; } group-profile westcoast_tunnel; } client production { l2tp { shared-secret "$ABC123”; # SECRET-DATA ppp-authentication chap; } group-profile westcoast_tunnel; } }
グループ プロファイル
必要に応じて、グループ プロファイルを設定できます。設定済みのグループ プロファイルを参照するすべてのクライアントは、すべてのグループ プロファイル属性を継承します。これにより、大規模な L2TP の適用が容易になります。
グループ プロファイルの L2TP を設定するには、階層レベルで次のステートメントを [edit access group-profile profile-name l2tp]
含めます。
[edit access group-profile profile-name l2p] interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number;
interface-id
は、階層レベルで設定されたL2TPセッションを表すインターフェイスの [edit interfaces interface-name unit local-unit-number dial-options]
識別子です。
LNS を設定して、リンク制御プロトコル(LCP)を PPP クライアントと再ネゴシエーションできます(ステートメント内renegotiation
)。デフォルトでは、PPP クライアントは L2TP アクセス コンセントレータ(LAC)を使用して LCP をネゴシエートします。これを行うと、LNS は最後に送信され、最後に受信した LCP 設定要求属性値ペア(AVP)を LAC から破棄します。たとえば、PPPクライアントとLAC間でネゴシエートされたLCP。
JUNos OS を設定すると、LNS は LAC からのプロキシ認証 AVP を無視し、 CHAP チャレンジを使用して PPP クライアントを再認証できます(ステートメント内 local-chap
)。これを行うと、LNS は PPP クライアントを直接認証します。デフォルトでは、PPP クライアントは LNS によって再認証されません。
number
は、L2TP トンネル当たりの最大セッション数です。
L2TP プロファイルからのグループ プロファイルの参照
L2TP トンネル プロファイルから設定済みのグループ プロファイルを参照できます。
階層レベルで構成されたグループ プロファイルを [edit access group-profile profile-name]
参照するには、階層レベルで group-profile
ステートメントを [edit access profile profile-name client client-name]
含めます。
[edit access profile profile-name client client-name] group-profile profile-name;
profile-name
は、PPP ユーザー・プロファイルから構成済みのグループ・プロファイルを参照します。
例:L2TP 用 PPP MP
[edit access] profile tunnel-profile { client remote-host { l2tp { multilink { drop-timeout 600; fragmentation-threshold 100; } } } }
L2TP 認証の設定
L2TP には認証方法が含まれていないため、柔軟性が高く、希望するセキュリティ機能で使用できます。L2TP プロファイルに PPP プロパティを設定する場合、通常はステートメントまたはpap-password
ステートメントをchap-secret
設定します。
L2TP プロファイルの CHAP シークレットの設定
CHAP では、RFC 1994 で定義されているとおり、 PPP リンクの両端でピアを認証できます。オーセンティケータは、ピアが一方向ハッシュを使用して暗号化しなければならないというランダムに生成された課題をピアに送信します。その後、ピアは暗号化された結果で応答する必要があります。ハッシュの鍵は、オーセンティケータにのみ知られ、認証された秘密です。応答を受信すると、オーセンティケータは、その計算結果をピアの応答と比較します。一致する場合、ピアは認証されます。
リンクの各終端は、その名前を CHAP チャレンジおよびピアに送信する応答パケットに含めて、自身をピアに識別します。この名前はデフォルトでローカル ホスト名に設定されるか、オプションを使用して local-name
明示的に設定できます。ホストは、特定のインターフェイスでCHAPチャレンジまたはCHAP応答パケットを受信すると、ピアIDを使用して使用するCHAP秘密鍵を調べます。
レイヤー 2 トンネリング プロトコル(L2TP)プロファイルに PPP プロパティを設定する場合、通常はステートメントまたはpap-password
ステートメントをchap-secret
設定します。
CHAP を設定するには、ステートメントを profile
含め、階層レベルでプロファイル名を [edit access]
指定します。
[edit access] profile profile-name { client client-name chap-secret data; }
次に、階層レベルで CHAP プロファイル名を [edit interfaces interface-name ppp-options chap]
参照します。
複数のプロファイルを設定できます。また、各プロファイルに対して複数のクライアントを設定することもできます。
profile
は、ピア識別子と CHAP 秘密鍵の間のマッピングです。CHAP チャレンジまたは応答に含まれるピアの ID は、プロファイルに対して使用する秘密鍵を照会します。
client
はピア ID です。
chap-secret secret
は、そのピアに関連付けられた秘密鍵です。
例:L2TP PPP CHAP の設定
[edit] access { profile westcoast_bldg1 { client cpe-1 chap-secret "$ABC123"; # SECRET-DATA client cpe-2 chap-secret "$ABC123"; # SECRET-DATA } }
L2TP プロファイルの PAP パスワードの設定
PAP(パスワード認証プロトコル)パスワードを設定するには、階層レベルでpap-password
ステートメントを[edit access profile profile-name client client-name]
含めます。
[edit access profile profile-name client client-name] pap-password pap-password;
pap-password
は PAP のパスワードです。
例:L2TP プロファイルの PAP を設定する
[edit access] profile sunnyvale_bldg_2 { client green { pap-password "$ABC123"; ppp { interface-id west; } group-profile sunnyvale_users; } client red { chap-secret "$ABC123"; group-profile sunnyvale_users; } authentication-order radius; } profile Sunnyvale_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; ppp-authentication pap; } } }
例:L2TP の設定
[edit] access { address-pool customer_a { address 10.1.1.1/32; } address-pool customer_b { address-range low 10.2.2.2 high 10.2.3.2; } group-profile westcoast_users { ppp { framed-pool customer_a; idle-timeout 15; primary-dns 10.192.65.1; secondary-dns 10.192.65.2; primary-wins 10.192.65.3; secondary-wins 10.192.65.4; interface-id west; } } group-profile eastcoast_users { ppp { framed-pool customer_b; idle-timeout 20; primary-dns 10.192.65.5; secondary-dns 10.192.65.6; primary-wins 10.192.65.7; secondary-wins 10.192.65.8; interface-id east; } } group-profile westcoast_tunnel { l2tp { maximum-sessions-per-tunnel 100; } } group-profile east_tunnel { l2tp { maximum-sessions-per-tunnel 125; } } profile westcoast_bldg_1 { client white { chap-secret "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 10.192.65.10; framed-ip-address 10.12.12.12/32; } group-profile westcoast_users; } client blue { chap-secret "$ABC123"; # SECRET-DATA group-profile sunnyvale_users; } authentication-order password; } profile west-coast_bldg_2 { client red { pap-password "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 10.192.65.11; framed-ip-address 10.12.12.12/32; } group-profile westcoast_users; } } profile westcoast_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; # SECRET-DATA maximum-sessions-per-tunnel 75; ppp-authentication chap;# The default for PPP authentication is CHAP. } group-profile westcoast_tunnel; } client production { l2tp { shared-secret "$ABC123 ABC123"; # SECRET-DATA ppp-authentication chap; } group-profile westcoast_tunnel; } } profile westcoast_bldg_2_tunnel { client black { l2tp { shared-secret "$ABC123 ABC123"; # SECRET-DATA ppp-authentication pap; } group-profile westcoast_tunnel; } } }
M7i および M10i ルーターの L2TP を設定する
M7i および M10i ルーターでは、適応型サービス物理インターフェイス カード(PIC)またはマルチサービス PIC 上で、レイヤー 2 トンネリング プロトコル(L2TP)トンネリング セキュリティ サービスを設定できます。
L2TP を設定するには、階層レベルで次のステートメントを [edit access]
含めます。
[edit access] address-pool pool-name { address address-or-prefix; address-range low <lower-limit> high <upper-limit>; } group-profile profile-name { l2tp { interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; ppp { cell-overhead; encapsulation-overhead bytes; framed-pool pool-id; idle-timeout seconds; interface-id interface-id; keepalive seconds; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } } profile profile-name { authentication-order [ authentication-methods ]; accounting-order radius; client client-name { chap-secret chap-secret; group-profile profile-name; l2tp { interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; ppp-authentication (chap | pap); shared-secret shared-secret; } pap-password pap-password; ppp { cell-overhead; encapsulation-overhead bytes; framed-ip-address ip-address; framed-pool framed-pool; idle-timeout seconds; interface-id interface-id; keepalive seconds; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } user-group-profile profile-name; } } radius-disconnect-port port-number { radius-disconnect { client-address { secret password; } } } radius-server server-address { accounting-port port-number; port port-number; retry attempts; routing-instance routing-instance-name; secret password; source-address source-address; timeout seconds; } }