1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ヤマハルーターでL2TPv3 over IPsec(NATあり)

Posted at

NATありL2TPv3 over IPsecをヤマハルーターで実現

前回の予告どおり、途中経路にNATがある環境下での、L2TPv3 over IPsecをヤマハルーターで実現した。参考サイトは同じ。

ネットワークトポロジー

image.png
Router 1は、NATルーターからDHCPによりWAN側IPアドレスを取得する。Router 2のWAN側は固定のグローバルIPアドレスを持つ。Router 2は、接続されるまで相手がわからない。

設定

今回は非対称のため、両ルーターの設定情報について、関連するところのみ記載することとした。

Router 1(DHCPによりWAN IPアドレス取得)

bridge member bridge1 lan1 tunnel1  # LAN側とトンネルとをブリッジ化
ip bridge1 address 192.168.2.10/24  # ブリッジにIPアドレスアサイン
ip lan2 address dhcp                # WAN側IPアドレスをDHCPで取得
ip lan2 nat descriptor 1            # 適用するNATディスクリプタ
tunnel select 1                     # トンネル設定
 tunnel encapsulation l2tpv3        # L2TPv3/IPsecトンネル
 tunnel endpoint address 192.168.2.10 60.xxx.yyy.zz2 # トンネル始点(ブリッジIPアドレス)と終点(対向ルーターのWAN IPアドレス)
 ipsec tunnel 101                   # IPsecトンネルポリシー
  ipsec sa policy 101 1 esp aes-cbc sha-hmac # ESP及びアルゴリズム
  ipsec ike keepalive log 1 on      # IKEキープアライブSyslog化
  ipsec ike keepalive use 1 on      # IKEキープアライブ有効化
  ipsec ike local address 1 192.168.2.10 # IKEローカルIPアドレス
  ipsec ike local name 1 l2tpv3 key-id # IPsecで使用するローカル名の指定(WAN(LAN2)側IPアドレス不定のため、IPアドレスの代わりに使用。対向ルーターのremote nameで同じ名称を用いる(らしい))
  ipsec ike nat-traversal 1 on      # IPsecでNATトラバーサル有効化
  ipsec ike pre-shared-key 1 text yamaha # IKE事前共有鍵
  ipsec ike remote address 1 60.xxx.yyy.zz2 # IPsecリモートIPアドレス
 l2tp always-on on                  # L2TPv3の常時接続
 l2tp hostname RT1                  # ホスト名
 l2tp tunnel auth on yamaha         # トンネル認証ONおよびパスワード
 l2tp tunnel disconnect time off    # トンネル切断タイマーOFF
 l2tp keepalive use on 60 3         # トンネルキープアライブON、インターバル(秒)、ダウン検出カウント
 l2tp keepalive log on              # トンネルキープアライブログON
 l2tp syslog on                     # L2TPトンネル制御をSyslog化
 l2tp local router-id 192.168.2.10  # ローカル(自分)ルーターID
 l2tp remote router-id 192.168.2.20 # リモート(対向)ルーターID
 l2tp remote end-id yamaha          # リモートエンドID(ルーターどうしで同一)
 ip tunnel tcp mss limit auto       # TCP MSS自動制御
 tunnel enable 1                    # トンネル有効化
nat descriptor type 1 masquerade    # NAT IPマスカレード 
nat descriptor address outer 1 primary # NAT外側IPアドレス(LAN2)
nat descriptor address inner 1 auto # NAT内側IPアドレス(自動)
nat descriptor masquerade static 1 1 192.168.2.10 udp 1701 # L2TPポート番号(1701)をブリッジIPアドレスへ転送
nat descriptor masquerade static 1 2 192.168.2.10 udp 500  # ISAKMPポート番号(500)を同様に転送
nat descriptor masquerade static 1 3 192.168.2.10 udp 4500 # IPsec NAT-Traversalポート番号(4500)を同様に転送
nat descriptor masquerade static 1 4 192.168.2.10 esp      # ESPパケットを同様に転送
ipsec auto refresh on               # IKE鍵交換有効化
ipsec transport 1 101 udp 1701      # IPsecトランスポートモードでL2TP(1701)利用
l2tp service on l2tpv3              # L2TPv3有効化

Router 1では、WAN側IPアドレスが不定となるため、IDとして、IPアドレスではなく、名称を使う。次のサイトの説明参照。

Router 2(WAN側、固定グローバルIPアドレス)

ip route default gateway 60.xxx.jjj.kkk # デフォルトゲートウェイ
bridge member bridge1 lan1 tunnel1  # LAN側とトンネルとをブリッジ化
ip bridge1 address 192.168.2.20/24  # ブリッジにIPアドレスアサイン
ip lan2 address 60.xxx.jjj.mmm/2z   # WAN側IPアドレス(固定)
ip lan2 nat descriptor 1            # 適用するNATディスクリプタ
tunnel select 1                     # トンネル設定
 tunnel encapsulation l2tpv3        # L2TPv3/IPsecトンネル
 ipsec tunnel 101                   # IPsecトンネルポリシー
  ipsec sa policy 101 1 esp aes-cbc sha-hmac  # ESP及びアルゴリズム
  ipsec ike keepalive log 1 on      # IKEキープアライブSyslog化
  ipsec ike keepalive use 1 on      # IKEキープアライブ有効化
  ipsec ike local address 1 192.168.2.20 # IKEローカルIPアドレス
  ipsec ike nat-traversal 1 on      # IPsecでNATトラバーサル有効化
  ipsec ike pre-shared-key 1 text yamaha # IKE事前共有鍵
  ipsec ike remote address 1 any    # IPsec対向アドレス
  ipsec ike remote name 1 l2tpv3 key-id # IPsecで使用するリモート名の指定(対向ルーターのlocal nameで同じ名称を用いる(らしい))
 l2tp always-on on                  # L2TPv3の常時接続
 l2tp hostname RT2                  # ホスト名
 l2tp tunnel auth on yamaha         # トンネル認証ONおよびパスワード
 l2tp tunnel disconnect time off    # トンネル切断タイマーOFF
 l2tp keepalive use on 60 3         # トンネルキープアライブON、インターバル(秒)、ダウン検出カウント
 l2tp keepalive log on              # トンネルキープアライブログON
 l2tp syslog on                     # L2TPトンネル制御をSyslog化
 l2tp local router-id 192.168.2.20  # ローカル(自分)ルーターID
 l2tp remote router-id 192.168.2.10 # リモート(対向)ルーターID
 l2tp remote end-id yamaha          # リモートエンドID(ルーターどうしで同一)
 ip tunnel tcp mss limit auto       # TCP MSS自動制御
 tunnel enable 1                    # トンネル有効化
nat descriptor type 1 masquerade    # NAT IPマスカレード 
nat descriptor address outer 1 primary # NAT外側IPアドレス(LAN2)
nat descriptor address inner 1 auto # NAT内側IPアドレス(自動)
nat descriptor masquerade static 1 1 192.168.2.20 udp 1701 # L2TPポート番号(1701)をブリッジIPアドレスへ転送
nat descriptor masquerade static 1 2 192.168.2.20 udp 500  # ISAKMPポート番号(500)を同様に転送
nat descriptor masquerade static 1 3 192.168.2.20 udp 4500 # IPsec NAT-Traversalポート番号(4500)を同様に転送
nat descriptor masquerade static 1 4 192.168.2.20 esp      # ESPパケットを同様に転送
ipsec auto refresh on               # IKE鍵交換有効化
ipsec transport 1 101 udp 1701      # IPsecトランスポートモードでL2TP(1701)利用
l2tp service on l2tpv3              # L2TPv3有効化

ルーター間のネットワークキャプチャデータ

IKE&ESPwith4500のコピー2.png
Router 1とNAT Routerとの間のデータである。UDPポート番号4500のヘッダにESPデータが続いており、NATトラバーサルが機能していることがわかる。

クライアントPCでのネットワークキャプチャデータ

ARP&ICMPのコピー.png
IPアドレス172.16.0.1をPCで取得したデータである。pingを実施した結果であり、ARPのブロードキャストおよびそのリプライ後にICMPパケットが見える(末端が同一ネットワークセグメント)。

L2TPおよびIPsec状況

# show status l2tp  
------------------- L2TP INFORMATION -------------------
L2TP情報テーブル
  L2TPトンネル数: 1, L2TPセッション数: 1 
TUNNEL[1]:
  トンネルの状態: established
  バージョン: L2TPv3
  自機側トンネルID: 39738
  相手側トンネルID: 47634
  自機側IPアドレス: 192.168.2.10
  相手側IPアドレス: 60.xxx.yyy.zz2
  自機側送信元ポート: 1701
  相手側送信元ポート: 1701
  ベンダ名: YAMAHA Corporation
  ホスト名: RT2
  Next Transmit sequence(Ns): 39
  Next Receive sequence(Nr) : 37
  トンネル内のセッション数: 1 session
  セッション情報:
    セッションの状態: established
    自機側セッションID: 12771
    相手側セッションID: 17492
    Circuit Status 自機側:UP 相手側:UP
    通信時間: 35分50秒
    受信: 484 パケット [205813 オクテット]
    送信: 158 パケット [17058 オクテット]
# 
# show ipsec sa  
Total: isakmp:1 send:1 recv:1

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    26640   60.xxx.yyy.zz2
2     1    1     tra[0001]esp  send 26642   60.xxx.yyy.zz2
3     1    1     tra[0001]esp  recv 26642   60.xxx.yyy.zz2

終わりに

以前、「久しぶりにGNS3(その11:セキュアL2トンネリング/ブリッジ:NAT)」にて、Ciscoルーターで類似の内容を行ったが、NAT Traversalを明示的に指定でき、途中経路を意識せずに実現できるヤマハルーターの方が、扱いやすいと感じる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?