この疑問に回答します。
- L2TPv3とは
- L2TPv2(L2TP/IPsec)と L2TPv3(L2TPv3/IPsec)の違い
- ネットワーク構成
- Config設定
私が実際に利用している環境です。お役立て下さい。
L2TPv3とは、拠点間をVPNで同一セグメントに構築する技術
L2TPv3 (Layer 2 Tunneling Protocol version 3) はOSI参照モデルのデータリンク層(L2)で実現するトンネリングプロトコルです。L2フレームをIPパケットにカプセル化し、OSI参照モデルのネットワーク層(L3)でルーティングさせることができます。
この特徴を利用し、「複数の拠点間を同一セグメントでネットワークを構築すること」ができます。L2TPv3自体は暗号化の仕組みを持っていないのでIPsecと組合せて利用する事になります。
L2TPv2(L2TP/IPsec)と L2TPv3(L2TPv3/IPsec)の違い
L2TPv2(version 2)とL2TPv3(version 3)の違いは、L2TPv3はL2フレームのトンネリングに対応してる点です。そのため用途で使い分けが行われています。
一般的に、パソコンやスマホからVPN接続を利用する方式がL2TPv2
で、ルーターからVPN接続を利用する方式がL2TPv3
で利用します。
- L2TPv2は、利用者がVPN接続の実行を認識しています
- L2TPv3は、利用者がVPN接続の実行を認識していません
L2TPv2(L2TP/IPsec)
L2TP/IPsecを利用したVPN接続は、パソコンやスマホの本体で直接VPN接続を実行します。接続先のネットワークに自由にアクセスができますが、同様にVPN接続してきたパソコンやスマホにはアクセスすることが出来ません。
L2TPv3(L2TPv3/IPsec)
L2TPv3/IPsecを利用したVPN接続は、パソコンやスマホの本体でVPN接続を行わず、ネットワーク経路に設置されたルーターなどのネットワーク機器で間接的にVPN接続を実行します。そのためパソコンやスマホは制限なく自由にアクセスすることができます。
YAMAHA RTXシリーズ を利用したネットワーク構成
インターネットへの接続はフレッツ網を利用したPPPoE接続と専用線を利用したダイレクト接続の2拠点です。この拠点間をブリッジ接続し同一セグメントを構築します。どちらの拠点も固定グローバルIPです。
今回導入したYAMAHA機器
拠点毎にセグメントを割り当てが出来ればトンネリングを利用しなくても済みますが、どうしても仕方なく設定を行う必要が出て来ました。
ルーター
1拠点を繋ぐ場合はRTX810で済みますが、複数のトンネルが可能な汎用性のあるRTX1210を選定しました。RTX1200でも利用可能です。
スイッチ
ポート数の多いYAMAHAのスイッチは高かったのでBUFFALOを選定しました。タグVLANが使えれば何でも構いません。
今回の構成では、ただのスイッチングハブとして利用しています。
Config設定
ルーター(YAMAHA RTX1210)
YAMAHA RTX1210 #1と#2の間でL2TPv3/IPsecを用いたVPNを構築します。
両ルーターのLAN1を同一セグメントとしてPC間での通信が可能です。
些細な設定を行うために現地まで行くのが手間なのでメンテナンス用のTELNETかSSHを有効にした方が融通が利きます。だだし、設定を間違えると現地に行く事になりますのでご注意ください。
PPPoE接続の場合
RTX1210 #1 (PPPoE接続)のConfig
# デフォルトデートウェイの設定 ip route default gateway pp 1 # DNSサーバの指定 dns server pp 1 # フィルタリング設定 ip filter source-route on ip filter directed-broadcast on # ブリッジ設定 bridge member bridge1 lan1 tunnel1 ip bridge1 address 192.168.0.1/24 # プロバイダ接続 # 接続方式で設定する pp select 1 pp always-on on pppoe use lan2 pp auth accept pap chap pp auth myname "ID" "PASS" ppp lcp mru on 1454 ppp ipcp msext on ip pp address 100.0.0.1/32 ip pp mtu 1454 ip pp secure filter in 1040 1041 1042 1043 1050 2000 ip pp secure filter out 3000 dynamic 105 106 ip pp nat descriptor 1 pp enable 1 # L2TPv3設定 tunnel select 1 tunnel encapsulation l2tpv3 tunnel endpoint address 192.168.0.1 200.0.0.1 ipsec tunnel 101 ipsec sa policy 101 1 esp aes-cbc sha-hmac ipsec ike keepalive log 1 on ipsec ike keepalive use 1 on # 自分のローカルIP ipsec ike local address 1 192.168.0.1 # パスワード 任意の文字列 ipsec ike pre-shared-key 1 text yamaha # 相手のグローバルIP ipsec ike remote address 1 200.0.0.1 l2tp always-on on # ホスト名 任意の文字列 l2tp hostname HOST1 # IPSecパスワード l2tp tunnel auth on yamaha l2tp tunnel disconnect time off l2tp keepalive use on 60 3 l2tp keepalive log on l2tp syslog on # 自分のローカルIP l2tp local router-id 192.168.0.1 # 相手のローカルIP l2tp remote router-id 192.168.0.2 l2tp remote end-id yamaha ip tunnel tcp mss limit auto tunnel enable 1 # フィルター設定 ip filter 1040 pass * * udp * 500 ip filter 1041 pass * * udp * 1701 ip filter 1042 pass * * udp * 4500 ip filter 1043 pass * * esp # メンテナンスを行う接続元IP ip filter 1050 pass 200.200.200.1 * tcp * telnet ip filter 2000 reject * * ip filter 3000 pass * * ip filter dynamic 105 * * tcp ip filter dynamic 106 * * udp # NAT設定 nat descriptor type 1 masquerade nat descriptor address outer 1 100.0.0.1 nat descriptor address inner 1 auto # 利用するパケットは内部にNATし疎通させる nat descriptor masquerade static 1 1 192.168.0.1 udp 500 nat descriptor masquerade static 1 2 192.168.0.1 esp nat descriptor masquerade static 1 3 192.168.0.1 udp 4500 nat descriptor masquerade static 1 4 192.168.0.1 tcp telnet # IPsec設定 ipsec auto refresh on ipsec transport 1 101 udp 1701 # L2TPv3有効化 l2tp service on l2tpv3
ダイレクト接続の場合
RTX1210 #2(ダイレクト接続)のConfig
# デフォルトデートウェイの設定 ip route default gateway デフォルトゲートウェイIP # DNSサーバの指定 dns server 外部DNS1 外部DNS2 # フィルタリング設定 ip filter source-route on ip filter directed-broadcast on # ブリッジ設定 bridge member bridge1 lan1 tunnel1 ip bridge1 address 192.168.0.2/24 # 専用線の接続設定 ip lan2 address 200.0.0.1/32 ip lan2 secure filter in 1040 1041 1042 1043 1050 1051 2000 ip lan2 secure filter out 3000 dynamic 105 106 ip lan2 nat descriptor 1 # L2TPv3設定 tunnel select 1 tunnel encapsulation l2tpv3 tunnel endpoint address 192.168.0.2 100.0.0.1 ipsec tunnel 101 ipsec sa policy 101 1 esp aes-cbc sha-hmac ipsec ike keepalive log 1 on ipsec ike keepalive use 1 on # 自分のローカルIP ipsec ike local address 1 192.168.0.2 # パスワード 任意の文字列 ipsec ike pre-shared-key 1 text yamaha ipsec ike remote address 1 100.0.0.1 l2tp always-on on # ホスト名 任意の文字列 l2tp hostname HOST2 # IPSecパスワード l2tp tunnel auth on yamaha l2tp tunnel disconnect time off l2tp keepalive use on 60 3 l2tp keepalive log on l2tp syslog on # 自分のローカルIP l2tp local router-id 192.168.0.2 # 相手のローカルIP l2tp remote router-id 192.168.0.1 l2tp remote end-id yamaha ip tunnel tcp mss limit auto tunnel enable 1 # フィルター設定 ip filter 1040 pass * * udp * 500 ip filter 1041 pass * * udp * 1701 ip filter 1042 pass * * udp * 4500 ip filter 1043 pass * * esp # メンテナンスを行う接続元IP ip filter 1050 pass 200.200.200.1 * tcp * telnet ip filter 2000 reject * * ip filter 3000 pass * * ip filter dynamic 105 * * tcp ip filter dynamic 106 * * udp # NAT設定 nat descriptor type 1 masquerade nat descriptor address outer 1 200.0.0.1 nat descriptor address inner 1 auto nat descriptor masquerade static 1 1 192.168.0.2 udp 500 nat descriptor masquerade static 1 2 192.168.0.2 esp nat descriptor masquerade static 1 3 192.168.0.2 udp 4500 nat descriptor masquerade static 1 4 192.168.0.2 tcp telnet # IPsec設定 ipsec auto refresh on ipsec transport 1 101 udp 1701 # L2TPv3有効化 l2tp service on l2tpv3
状態の確認
コマンドでL2TPとIPsecの状態を確認できます
# show status l2tp ------------------- L2TP INFORMATION ------------------- L2TP情報テーブル L2TPトンネル数: 1, L2TPセッション数: 1 TUNNEL[1]: トンネルの状態: established バージョン: L2TPv3 自機側トンネルID: 46276 相手側トンネルID: 21054 自機側IPアドレス: 192.168.0.1 相手側IPアドレス: 200.0.0.1 自機側送信元ポート: 1701 相手側送信元ポート: 1701 ベンダ名: YAMAHA Corporation ホスト名: HOST2 Next Transmit sequence(Ns): 44528 Next Receive sequence(Nr) : 44539 トンネル内のセッション数: 1 session セッション情報: セッションの状態: established 自機側セッションID: 62448 相手側セッションID: 343 Circuit Status 自機側:UP 相手側:UP 通信時間: 76日11時間14分26秒 受信: 1085787895 パケット [7323935773365 オクテット] 送信: 2182175689 パケット [223421512544 オクテット]
# show ipsec sa Total: isakmp:1 send:1 recv:1 sa sgw isakmp connection dir life[s] remote-id ---------------------------------------------------------------------------- 4 1 - isakmp - 8541 200.0.0.1 5 1 4 tra[0001]esp send 8653 200.0.0.1 6 1 4 tra[0001]esp recv 8653 200.0.0.1
相手先の情報が表示されると正常にVPN接続が実行されています。
まとめ
L2TPv2(version 2)とL2TPv3(version 3)の違いは、L2フレームのトンネリング対応の可否です。
L2TPv3はL2フレームのトンネリング対応しているので、複数の拠点間を同一セグメントとして通信することができます。
L2TPv2はL2フレームのトンネリング対応しておらず、複数の拠点間を同一セグメントとして通信することができません。
この通信可否の違いから用途による使い分けが行われています。
- L2TPv2 パソコンやスマホから利用する方式
- L2TPv3 ルーターから利用する方式
以上、「YAMAHA RTXシリーズを利用した社内ネットワークの作り方(L2TPv3)」という記事でした。