SEIL シリーズからの L2TPv3 を用いた VPN 接続方法 - SoftEther VPN プロジェクト

SEIL シリーズからの L2TPv3 を用いた VPN 接続方法

    「SEIL」 (ザイル) シリーズのルータは、株式会社インターネットイニシアティブ (IIJ) が開発し販売している国産のルータ製品です。SEIL は Cisco ルータと同様に、L2TPv3 over IPSec に対応しています。
    L2TPv3 over IPSec を使用すれば、IPSec で暗号化した Ethernet トンネルを SoftEther VPN Server との間で構築することにより、VPN Server に接続することが出来ます。
    このページでは、SEIL ルータを VPN における各拠点側ルータとして、センタ側に設置した SofEther VPN Server に接続する方法について解説します。
    以下の関連サイト (IIJ 提供) も参考としてご覧ください
     

    SEIL シリーズのルーター

    SEIL シリーズのルータは L2TPv3 over IPsec に対応しています (一部対応していないバージョンもあります)。これらのルータは PacketiX VPN Server の仮想 HUB に VPN 接続できます。
     また、SEIL のソフトウェアルータ版である「SEIL/x86」も L2TPv3 over IPsec に対応しています。SEIL/x86 も同様に PacketiX VPN Server の仮想 HUB に VPN 接続できます。
    ただし、SEIL のソフトウェアは「RFC 3947 Negotiation of NAT-Traversal」および「RFC 3706 A Traffic-Based Method of Detecting Dead Internet Key Exchange (IKE) Peers」という標準規格に対応している新しいものと、対応していない古いものの 2 種類があるようです。これらの RFC 規格に対応しているバージョン・機種を使用されることを推奨します。
    なお、以下の例では L2TPv3 の通信を IPv4 上で実現していますが、SEIL は L2TPv3 を IPv6 上でも構築することが可能ですので、IPv6 ネイティブの環境 (IPv4 が疎通しない) であっても PacketiX VPN Server との間で VPN を構築することが可能です。たとえば、NTT 東日本・西日本の「フレッツ・光ネクスト」や「フレッツ・ドットネット」において ISP を経由しない網内の直接通信による VPN 構築が可能です。

    事前設定

    SEIL の設定を行う前に、まず、PacketiX VPN の IPsec 機能の設定を行う必要があります。
    0-07-ss1.2_2.png
    上記の画面における「EtherIP / L2TPv3 over IPsec サーバー機能有効」をチェックしてから、「サーバー機能の詳細設定」ボタンをクリックしてください。すると、以下のような画面が表示されます。
    03.png
     この画面では、L2TPv3 クライアント (ルータ等) が VPN Server に対して IPsec 接続を行おうとする際に提示される ISAKMP (IKE) Phase 1 の ID 文字列と、接続先の仮想 HUB や仮想 HUB 内のユーザーの設定との関連付けを事前に登録しておくことができます。
    02.png
    たとえば、ここでは上記の画面のように L2TPv3 対応ルータ からの VPN 接続を、仮想 HUB 「DEFAULT」におけるユーザー「l2tpv3」として接続させる設定を行った状態であると仮定して、以下の説明を行います。
    (ユーザー「l2tpv3」は仮想 HUB 「DEFAULT」に予め登録しておく必要があります。)
    ここで、本来は SEIL ルータが VPN Server に対して提示する ISAKMP (IKE) Phase 1 の ID 文字列 または IP アドレスを指定することになりますが、今回の接続実験では簡単のため「*」 (アスタリスク) という 1 文字の ID を指定しましょう。この特別なワイルドカード指定は、いかなる ID を提示した VPN ルータからの接続でも受入れるということを示します。
    なお、本番運用に移行する際には、VPN Server 側で定義する ID 文字列を SEIL ルータ側で設定した文字列と同一のものに変更しておくことがセキュリティ上好ましいと言えます。
     

    SEIL ルータにおける設定情報例 #1 (固定 IP アドレス割当の場合)

    1 台または複数台の SEIL ルータを各拠点に設置し、本社に設置した PacketiX VPN Server に対して VPN 接続を行う場合における設定方法を示します。
    なお、この設定例においては、SEIL ルータには固定の IP アドレス (グローバル IP アドレス、または NAT 背後のプライベート IP アドレスのいずれでも差し支えありません) を割当てていることを前提としています。Cisco ルータに可変の IP アドレスを割当てる場合や、PPPoE 等で ISP から IP アドレスを自動取得するような場合の設定例については後述します。
    以下の環境を想定した設定例です。お客様の環境に合わせて、適宜読み替えてください。
    • Ethernet ポートの用途
    lan1: WAN 側 (固定 IP: 2.3.4.5。NAT の内側でも可)
    lan0: ブリッジ側 (固定プライベート IP: 192.168.0.234)
    • 物理的な通信に必要な (インターネットに接続するための) グローバル IP アドレス
    lan1 ポートの Ethernet セグメントにおいて
    IP アドレス: 2.3.4.5 / 255.255.255.0
    デフォルトゲートウェイ: 2.3.4.254
    としてインターネットに接続していると仮定します。
    • 接続先である PacketiX VPN Server が動作している IP アドレス
    1.2.3.4
    • 接続先である PacketiX VPN Server のホスト名
    HOSTNAME_SERVER
    (下記の Config 例内の "HOSTNAME_SERVER" 部分には、接続先の VPN Server の OS に設定されているホスト名 (Windows の場合はコンピュータ名) を指定してください。ホスト名にドット "." が含まれる場合は、最初のドット "." 文字以前の部分のホスト名を指定してください。OS に設定されているホスト名は、大文字・小文字が区別されますので、HOSTNAME_SERVER 部分にはホスト名を正しく指定してください。)
    • ISAKMP SA で使用する暗号化設定
    AES-256 / SHA / DH Group 2 (1024 bit)
    • IPsec SA で使用する暗号化設定
    AES-256 / SHA
    • IPsec Pre-Shared Key (事前共有鍵) 文字列
    vpn
    上記のような場合の SEIL ルータにおけるコンフィグレーション例は以下のようになります。
    interface pppoe0 over none
    interface lan0 delete all
    interface lan0 media auto
    interface lan0 mdi auto
    interface lan0 mtu system-default
    interface lan0 address 192.168.0.234/24
    interface lan1 delete all
    interface lan1 media auto
    interface lan1 mdi auto
    interface lan1 mtu system-default
    interface lan1 queue normal
    interface lan1 address 2.3.4.5/24
    route add default 2.3.4.254
    dhcp disable
    rtadvd disable
    ike proposal delete all
    ipsec security-association delete all
    ike preshared-key add 1.2.3.4 vpn
    ike proposal add IKE_PROPOSAL1 encryption aes256 hash sha1 authentication preshared-key dh-group modp1024
    ipsec security-association proposal add IPSEC_SA_PROP1 pfs-group modp1024 authentication-algorithm hmac-sha1 encryption-algorithm aes256
    ipsec security-association add IPSEC_SA1 transport 2.3.4.5 1.2.3.4 ike IPSEC_SA_PROP1 esp enable ah disable
    ike peer add vpnserver address 1.2.3.4 exchange-mode main proposals IKE_PROPOSAL1 my-identifier address dpd enable nat-traversal enable
    ipsec security-policy add IPSEC_SECPOL1 security-association IPSEC_SA1 src 2.3.4.5 dst 1.2.3.4 protocol 115 enable
    ike auto-initiation enable
    ike dpd-interval 7
    ike dpd-maxfail 5
    ike nat-keepalive-interval 30
    l2tp hostname seil
    l2tp add vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    interface l2tp0 tunnel 2.3.4.5 1.2.3.4
    interface l2tp0 l2tp vpnserver remote-end-id HOSTNAME_SERVER
    l2tp modify vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    bridge group add BRIDGE1 stp off aging-time 300
    bridge interface lan0 group BRIDGE1 stp off
    bridge interface l2tp0 group BRIDGE1 stp off
    
    上記のように設定すると、SEIL ルータはPacketiX VPN Server (IP アドレス: 1.2.3.4) との間で IPsec トンネルを自動的に構築し、そのトンネル内で L2TPv3 パケットを送受信することにより VPN 通信が実現されます。
    lan1 ポートを WAN 側 (インターネット側)、lan0 を VPN のブリッジ側 (VPN を利用する端末が接続されているスイッチ等) に接続することにより、lan0 側のセグメントに接続したすべての PC は、Ethernet セグメント (L2) として PacketiX VPN Server の仮想 HUB のセグメントと直結したことになり、任意の通信が可能になります。
     
    SEIL ルータにおける設定情報例 #2 (DHCP 経由で IP を取得する場合)
    1 台または複数台の SEIL ルータを各拠点に設置し、本社に設置した PacketiX VPN Server に対して VPN 接続を行う場合における設定方法を示します。
    なお、この設定例においては、SEIL ルータにはインターネット接続のための動的な IP アドレス (グローバル IP アドレス、または NAT 背後のプライベート IP アドレスのいずれでも差し支えありません) が DHCP サーバーから割当られることを前提としています。
    以下の環境を想定した設定例です。お客様の環境に合わせて、適宜読み替えてください。
    • Ethernet ポートの用途
    lan1: WAN 側 (DHCP による IP アドレス自動取得。NAT の内側でも可)
    lan0: ブリッジ側 (固定プライベート IP: 192.168.0.234)
    • 物理的な通信に必要な (インターネットに接続するための) グローバル IP アドレス
    lan1 ポートの Ethernet セグメントにおいて DHCP サーバーから IP アドレス、サブネットマスクおよびデフォルトゲートウェイの情報を取得してインターネットに接続すると仮定します。
    • 接続先である PacketiX VPN Server が動作している IP アドレス
    1.2.3.4
    • 接続先である PacketiX VPN Server のホスト名
    HOSTNAME_SERVER
    (下記の Config 例内の "HOSTNAME_SERVER" 部分には、接続先の VPN Server の OS に設定されているホスト名 (Windows の場合はコンピュータ名) を指定してください。ホスト名にドット "." が含まれる場合は、最初のドット "." 文字以前の部分のホスト名を指定してください。OS に設定されているホスト名は、大文字・小文字が区別されますので、HOSTNAME_SERVER 部分にはホスト名を正しく指定してください。)
    • ISAKMP SA で使用する暗号化設定
    AES-256 / SHA / DH Group 2 (1024 bit)
    • IPsec SA で使用する暗号化設定
    AES-256 / SHA
    • IPsec Pre-Shared Key (事前共有鍵) 文字列
    vpn
    上記のような場合の SEIL ルータにおけるコンフィグレーション例は以下のようになります。
    interface pppoe0 over none
    interface lan0 delete all
    interface lan0 media auto
    interface lan0 mdi auto
    interface lan0 mtu system-default
    interface lan0 address 192.168.0.234/24
    interface lan1 delete all
    interface lan1 media auto
    interface lan1 mdi auto
    interface lan1 mtu system-default
    interface lan1 queue normal
    interface lan1 address dhcp
    interface lan1 add 192.168.255.1/24
    route add default dhcp
    dhcp disable
    rtadvd disable
    ike proposal delete all
    ipsec security-association delete all
    ike preshared-key add 1.2.3.4 vpn
    ike proposal add IKE_PROPOSAL1 encryption aes256 hash sha1 authentication preshared-key dh-group modp1024
    ipsec security-association proposal add IPSEC_SA_PROP1 pfs-group modp1024 authentication-algorithm hmac-sha1 encryption-algorithm aes256
    ipsec security-association add IPSEC_SA1 tunnel lan1 1.2.3.4 ike IPSEC_SA_PROP1 esp enable ah disable
    ike peer add vpnserver address 1.2.3.4 exchange-mode aggressive proposals IKE_PROPOSAL1 my-identifier address dpd enable nat-traversal enable
    ipsec security-policy add IPSEC_SECPOL1 security-association IPSEC_SA1 src 192.168.255.1 dst 1.2.3.4 protocol 115 enable
    ike auto-initiation enable
    ike dpd-interval 7
    ike dpd-maxfail 5
    ike nat-keepalive-interval 30
    l2tp hostname seil
    l2tp add vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    interface l2tp0 tunnel 192.168.255.1 1.2.3.4
    interface l2tp0 l2tp vpnserver remote-end-id HOSTNAME_SERVER
    l2tp modify vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    bridge group add BRIDGE1 stp off aging-time 300
    bridge interface lan0 group BRIDGE1 stp off
    bridge interface l2tp0 group BRIDGE1 stp off
    
    • 設定上の注意点

    上記の設定例において lan1 に「192.168.255.1」という IP アドレスを追加割当しています。この IP アドレスは SEIL 内部で IPsec 処理を行う際に使用される仮想的な IP アドレスであり、実際に使用されることはありませんが、SEIL ソフトウェアの制約上、WAN 側のポートを動的 IP アドレスとする場合においては、このような仮の IP アドレスを仮想的に割当てる必要があります。

     
    上記のように設定すると、SEIL ルータはPacketiX VPN Server (IP アドレス: 1.2.3.4) との間で IPsec トンネルを自動的に構築し、そのトンネル内で L2TPv3 パケットを送受信することにより VPN 通信が実現されます。
    lan1 ポートを WAN 側 (インターネット側)、lan0 を VPN のブリッジ側 (VPN を利用する端末が接続されているスイッチ等) に接続することにより、lan0 側のセグメントに接続したすべての PC は、Ethernet セグメント (L2) として PacketiX VPN Server の仮想 HUB のセグメントと直結したことになり、任意の通信が可能になります。
     
    SEIL ルータにおける設定情報例 #3 (PPPoE 経由で IP を取得する場合)

     

    1 台または複数台の SEIL ルータを各拠点に設置し、本社に設置した PacketiX VPN Server に対して VPN 接続を行う場合における設定方法を示します。
    なお、この設定例においては、SEIL ルータはインターネットにまず PPPoE を用いて ISP にダイヤルアップ接続し、次に ISP 経由で IP アドレスを取得する場合を想定しています。
    以下の環境を想定した設定例です。お客様の環境に合わせて、適宜読み替えてください。
    • Ethernet ポートの用途
    lan1: WAN 側 (PPPoE による IP アドレス自動取得。NAT の内側でも可)
    lan0: ブリッジ側 (固定プライベート IP: 192.168.0.234)
    • 物理的な通信に必要な (インターネットに接続するための) グローバル IP アドレス
    lan1 ポートの Ethernet セグメントが NTT のフレッツ・サービス等の ONU に接続されており、当該セグメントにおいて NTT ビルにある PPPoE サーバーを経由して ISP に接続し、ISP から IP アドレス、サブネットマスクおよびデフォルトゲートウェイの情報を取得してインターネットに接続すると仮定します。
    • SEIL ルータがインターネットに PPPoE 接続する際の認証情報
    パスワード: nekojamu
    • 接続先である PacketiX VPN Server が動作している IP アドレス
    1.2.3.4
    • 接続先である PacketiX VPN Server のホスト名
    HOSTNAME_SERVER
    (下記の Config 例内の "HOSTNAME_SERVER" 部分には、接続先の VPN Server の OS に設定されているホスト名 (Windows の場合はコンピュータ名) を指定してください。ホスト名にドット "." が含まれる場合は、最初のドット "." 文字以前の部分のホスト名を指定してください。OS に設定されているホスト名は、大文字・小文字が区別されますので、HOSTNAME_SERVER 部分にはホスト名を正しく指定してください。)
    • ISAKMP SA で使用する暗号化設定
    AES-256 / SHA / DH Group 2 (1024 bit)
    • IPsec SA で使用する暗号化設定
    AES-256 / SHA
    • IPsec Pre-Shared Key (事前共有鍵) 文字列
    vpn

    上記のような場合の SEIL ルータにおけるコンフィグレーション例は以下のようになります。

    interface lan0 delete all
    interface lan0 media auto
    interface lan0 mdi auto
    interface lan0 mtu system-default
    interface lan0 address 192.168.0.234/24
    interface lan1 delete all
    interface lan1 media auto
    interface lan1 mdi auto
    interface lan1 mtu system-default
    interface lan1 queue normal
    interface lan1 address dhcp
    interface lan1 add 192.168.255.1/24
    ppp add PPP1 keepalive 30 ipcp enable ipv6cp disable ipcp-address on ipcp-dns on authentication-method auto identifier abc12345@isp.ad.jp passphrase nekojamu tcp-mss auto
    interface pppoe0 over lan1
    interface pppoe0 ppp-configuration PPP1
    interface pppoe0 numbered
    route delete default
    route add default pppoe0
    dhcp disable
    rtadvd disable
    ike proposal delete all
    ipsec security-association delete all
    ike preshared-key add 1.2.3.4 vpn
    ike proposal add IKE_PROPOSAL1 encryption aes256 hash sha1 authentication preshared-key dh-group modp1024
    ipsec security-association proposal add IPSEC_SA_PROP1 pfs-group modp1024 authentication-algorithm hmac-sha1 encryption-algorithm aes256
    ipsec security-association add IPSEC_SA1 tunnel pppoe0 1.2.3.4 ike IPSEC_SA_PROP1 esp enable ah disable
    ike peer add vpnserver address 1.2.3.4 exchange-mode aggressive proposals IKE_PROPOSAL1 my-identifier address dpd enable nat-traversal enable
    ipsec security-policy add IPSEC_SECPOL1 security-association IPSEC_SA1 src 192.168.255.1 dst 1.2.3.4 protocol 115 enable
    ike auto-initiation enable
    ike dpd-interval 7
    ike dpd-maxfail 5
    ike nat-keepalive-interval 30
    l2tp hostname seil
    l2tp add vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    interface l2tp0 tunnel 192.168.255.1 1.2.3.4
    interface l2tp0 l2tp vpnserver remote-end-id HOSTNAME_SERVER
    l2tp modify vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    bridge group add BRIDGE1 stp off aging-time 300
    bridge interface lan0 group BRIDGE1 stp off
    bridge interface l2tp0 group BRIDGE1 stp off
    • 設定上の注意点

    上記の設定例において lan1 に「192.168.255.1」という IP アドレスを追加割当しています。この IP アドレスは SEIL 内部で IPsec 処理を行う際に使用される仮想的な IP アドレスであり、実際に使用されることはありませんが、SEIL ソフトウェアの制約上、WAN 側のポートを動的 IP アドレスとする場合においては、このような仮の IP アドレスを仮想的に割当てる必要があります。

     
    上記のように設定すると、SEIL ルータはPacketiX VPN Server (IP アドレス: 1.2.3.4) との間で IPsec トンネルを自動的に構築し、そのトンネル内で L2TPv3 パケットを送受信することにより VPN 通信が実現されます。
    lan1 ポートを WAN 側 (インターネット側)、lan0 を VPN のブリッジ側 (VPN を利用する端末が接続されているスイッチ等) に接続することにより、lan0 側のセグメントに接続したすべての PC は、Ethernet セグメント (L2) として PacketiX VPN Server の仮想 HUB のセグメントと直結したことになり、任意の通信が可能になります。
     
    SEIL ルータにおける設定情報例 #4 (IPv6 ネイティブ環境で通信する場合)
     
    SEIL は L2TPv3 を IPv6 上でも構築することが可能ですので、IPv6 ネイティブの環境 (IPv4 が疎通しない) であっても PacketiX VPN Server との間で VPN を構築することが可能です (ソフトイーサにおいて検証済み)。たとえば、NTT 東日本・西日本の「フレッツ・光ネクスト」や「フレッツ・ドットネット」において ISP を経由しない網内の直接通信による VPN 構築が可能です。
    ここでは、1 台または複数台の SEIL ルータを各拠点に設置し (各拠点は IPv6 ネイティブ接続が可能となっている)、本社に設置した PacketiX VPN Server (IPv6 アドレスが割当てられている) に対して VPN 接続を行う場合における設定方法を示します。
    以下の環境を想定した設定例です。お客様の環境に合わせて、適宜読み替えてください。
    • Ethernet ポートの用途
    lan1: WAN 側 (IPv6 RA による IP アドレス自動取得)
    lan0: ブリッジ側 (固定プライベート IP: 192.168.0.234)
    • 物理的な通信に必要な (インターネットに接続するための) グローバル IPv6 アドレス
    WAN 側セグメントから「2001:abcd::/64」という Prefix の IPv6 ネットワークが広告されていることを想定しています。これにより、lan1 のポートに「2001:abcd::20c:29ff:fe6b:7172」という IPv6 アドレスが割当てられていることを想定します。
    • 接続先である PacketiX VPN Server が動作している IP アドレス
    2001:1234::1
    • 接続先である PacketiX VPN Server のホスト名
    HOSTNAME_SERVER
    (下記の Config 例内の "HOSTNAME_SERVER" 部分には、接続先の VPN Server の OS に設定されているホスト名 (Windows の場合はコンピュータ名) を指定してください。ホスト名にドット "." が含まれる場合は、最初のドット "." 文字以前の部分のホスト名を指定してください。OS に設定されているホスト名は、大文字・小文字が区別されますので、HOSTNAME_SERVER 部分にはホスト名を正しく指定してください。)
    • ISAKMP SA で使用する暗号化設定
    AES-256 / SHA / DH Group 2 (1024 bit)
    • IPsec SA で使用する暗号化設定
    AES-256 / SHA
    • IPsec Pre-Shared Key (事前共有鍵) 文字列
    vpn
    上記のような場合の SEIL ルータにおけるコンフィグレーション例は以下のようになります。
    interface pppoe0 over none
    interface lan0 delete all
    interface lan0 media auto
    interface lan0 mdi auto
    interface lan0 mtu system-default
    interface lan0 address 192.168.0.234/24
    interface lan1 delete all
    interface lan1 media auto
    interface lan1 mdi auto
    interface lan1 mtu system-default
    interface lan1 queue normal
    interface lan1 add router-advertisement
    route6 add default router-advertisement interface lan1
    dhcp disable
    rtadvd disable
    ike proposal delete all
    ipsec security-association delete all
    ike preshared-key add 2001:1234::1 vpn
    ike proposal add IKE_PROPOSAL1 encryption aes256 hash sha1 authentication preshared-key dh-group modp1024
    ipsec security-association proposal add IPSEC_SA_PROP1 pfs-group modp1024 authentication-algorithm hmac-sha1 encryption-algorithm aes256
    ipsec security-association add IPSEC_SA1 transport 2001:abcd::20c:29ff:fe6b:7172 2001:1234::1 ike IPSEC_SA_PROP1 esp enable ah disable
    ike peer add vpnserver address 2001:1234::1 exchange-mode main proposals IKE_PROPOSAL1 my-identifier address dpd enable nat-traversal disable
    ipsec security-policy add IPSEC_SECPOL1 security-association IPSEC_SA1 src 2001:abcd::20c:29ff:fe6b:7172 dst 2001:1234::1 protocol 115 enable
    ike auto-initiation enable
    ike dpd-interval 7
    ike dpd-maxfail 5
    ike nat-keepalive-interval 30
    l2tp hostname seil
    l2tp add vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 5 router-id 0.0.0.0
    interface l2tp0 tunnel 2001:abcd::20c:29ff:fe6b:7172 2001:1234::1
    interface l2tp0 l2tp vpnserver remote-end-id HOSTNAME_SERVER
    l2tp modify vpnserver hostname HOSTNAME_SERVER cookie off hello-interval 1 retry 4 router-id 0.0.0.0
    bridge group add BRIDGE1 stp off aging-time 300
    bridge interface lan0 group BRIDGE1 stp off
    bridge interface l2tp0 group BRIDGE1 stp off
     
    上記のように設定すると、SEIL ルータはPacketiX VPN Server (IPv6 アドレス: 2001:1234::1) との間で IPsec トンネルを自動的に構築し、そのトンネル内で L2TPv3 パケットを送受信することにより VPN 通信が実現されます。
    lan1 ポートを WAN 側 (IPv6 インターネット側)、lan0 を VPN のブリッジ側 (VPN を利用する端末が接続されているスイッチ等) に接続することにより、lan0 側のセグメントに接続したすべての PC は、Ethernet セグメント (L2) として PacketiX VPN Server の仮想 HUB のセグメントと直結したことになり、任意の通信が可能になります。