NEC ルータ等からの EtherIP を用いた VPN 接続方法

    はじめに

    EtherIP というプロトコルに対応しているルータは、IPSec で暗号化したトンネルを SoftEther VPN Server との間で構築することにより、VPN Server に接続することが出来ます。

     

     なお、 SoftEther.org で検証したルータは以下の通りです。
    • NEC UNIVERGE IX2015
    • NEC UNIVERGE IX2105
     なお、これ以外の EtherIP over IPSec に対応したルータであれば接続が可能です。

    事前設定

    ルータの設定を行う前に、まず SoftEther VPN の IPSec 機能の設定を行う必要があります。
    01.png
    VPN Server Manager のサーバ管理ウィンドウより、「IPsec / L2TP 設定」をクリックし、「IPSec / L2TP / EtherIP 設定」ウインドウを開きます。
    02.png
    IPSec 事前共通鍵を設定してない場合には任意の文字列を指定し、「EtherIP over IPSsec サーバ機能を有効にする」にチェックを入れ、「EtherIP 機能の詳細設定」ボタンをクリックします。
    03.png
    「EtherIP サーバ機能の詳細設定」ウィンドウでは、EtherIP クライアント (ルータ等) が VPN Server に対して IPSec 接続を行おうとする際に提示される ISAKMP (IKE) Phase1 の ID 文字列と、接続先の仮想 HUB と仮想 HUB のユーザの設定の関連づけを事前に登録することが出来ます。
    もしこのような事前の関連づけがなければ、複数台の EtherIP クライアントを 1 台の VPN Server に IPSec 経由で接続しようとした場合に、どの EtherIP ルーターがどの仮想 HUB に接続するべきか、接続する際に使用するユーザオブジェクトはどれを使用するかと言ったような項目が VPN Server 側で把握できないことになります。
    そのため、EtherIP プロトコルによって VPN Server に IPSec で接続する際には IPSec の鍵交換プロトコル (ISAKMP / IKEv1) の Phase 1 の ID 交換の際にルータから提示される ID を元に、どこの仮想 HUB にどのユーザとしてブリッジ接続を行うのかを定義しておかなければなりません。
     
    たとえば、ここでは「IX」という ID が提示されたルータからの EtherIP 接続を、仮想 HUB 「DEFAULT」におけるユーザ「ix」として接続させる設定を行った状態であると仮定して、以下の説明を行います。
    (ユーザ「ix」は仮想 HUB 「DEFAULT」にあらかじめ登録しておく必要があります)
     
    なお、ISAKMP (IKEv1) の Phase 1 ID として「*」 (アスタリスク) を指定することも可能です。この場合には、他の定義に一致しないすべての VPN ルータからの接続を許可します。このため設定が容易になりますが、IPSec の事前共通鍵を知っているすべてのユーザからの接続を許可することになりますので、注意が必要です。

    IX シリーズでの設定例

    以下のサンプルコンフィグでは、IX2015 に対して次のような設定をします。
    環境に合わせて、適時読み替えてください。
    • Ethernet ポートの用途
    FastEthernet0/0.0 : WAN
    FastEthernet1/0.0 : ブリッジ
    BVI1 : VPN 内で ping 監視等の為に使用する仮想インターフェース
    (IX2105 では、FastEthernet を GigaEthernet0.0 などに読み替えてください)
    • 接続するために必要な IP アドレス
    FastEthernet0/0.0 から DHCP により自動取得
    (FastEthernet0/0.0 の先に NAT 兼 DHCP が稼働しているブロードバンドルータがあり、そのルータを経由してインターネットに接続されていると仮定します。)
    • 接続先 IP
    1.2.3.4
    • ISAKMP (IKEv1) SA で使用する暗号化設定
    AES / SHA / DH Group 2 (1024bit)
    • IPSec SA で使用する暗号化設定
    AES / SHA
     
    IX2015 での設定例
      上記の条件における IX2015 での設定例を以下に示します。
    ip ufs-cache enable
    ip access-list access-list permit ip src any dest any
    !
    !
    !
    ike proposal ike-prop encryption aes hash sha group 1024-bit lifetime 3600
    !
    ike policy ike-policy peer 1.2.3.4 key vpntest mode aggressive ike-prop
    ike keepalive ike-policy 10 2
    ike local-id ike-policy keyid IX
    ike nat-traversal policy ike-policy keepalive 10
    !
    ipsec autokey-proposal ipsec-prop esp-aes esp-sha lifetime time 3600
    !
    ipsec autokey-map ipsec-map access-list peer 1.2.3.4 ipsec-prop
    !
    !
    !
    bridge irb enable
    !
    watch-group keepalive 10
      event 10 ip unreach-host 192.168.0.1 BVI1 source BVI1
    !
    !
    network-monitor keepalive enable
    !
    interface FastEthernet0/0.0
      ip address dhcp receive-default
      no shutdown
    !
    interface FastEthernet1/0.0
      no ip address
      bridge-group 1
      no shutdown
    !
    interface Tunnel0.0
      tunnel mode ether-ip ipsec
      no ip address
      ipsec policy tunnel ipsec-map out
      bridge-group 1
      no shutdown
    !
    interface BVI1
      bridge-group 1
      ip address 192.168.0.123/24
      no shutdown
    
    上記のように設定すると、SoftEther VPN Server (IP アドレス: 1.2.3.4) との間で IPSec トンネルを自動的に構築し (このとき、IX と言う Phase 1 ID が使用されます)、そのトンネル内で EtherIP パケットを通信することにより VPN 接続が実現されます。
    この設定を投入した後に、FastEthernet0/0 を WAN (インターネット) 側に、FastEthernet1/0 にブリッジ側のクライアント (PC 等) を接続することにより、FastEthernet1/0 に接続したすべてのクライアントは、Ethernet セグメント (L2) として SoftEther VPN Server の仮想 HUB のセグメントと直結したことになり、任意の通信が可能になります。
    重要な点の解説
    • 「ike local-id ike-policy keyid IX」
    ISAKMP (IKEv1) を構築する際のローカル (クライアント) 側 ID として「IX」を指定しています。これにより、接続時に接続先の VPN Server の IPSec 設定における「EtherIP 詳細設定」に登録された ID 情報の検索が行われ、接続先の仮想 HUB と接続ユーザが決定されます。
    • 「bridge-group 1」
    bridge-group を定義することにより、Tunnel0.0 という仮想インターフェース (EtherIP over IPSec で VPN Server と常時接続されます) と FastEther1/0、BVI1 の間が Ethernet ブリッジ接続されます。
    • 「watch-group keepalive 10」など
    IX2015 では、クライアント (ルータ) 側から何らかの通信パケットが発生しない限り、VPN Server に対する IPSec トンネルの接続処理を行いません。また、一定期間全く通信がない場合にも IPSec トンネルが自動的に切れてしまい、その後の再接続が行われません。これでは管理上支障が生じますので、BVI1 という仮想インターフェースを定義し、この仮想インターフェースも bridge-group に所属させた後、IP アドレスとして 192.168.0.123/24 を設定してこの IP アドレスから 5 秒間に 1 個、検査用の ICMP パケットを 192.168.0.1 に対して送信するように試みる設定を投入しています (watch-group)。ICMP パケットの送信先は 192.168.0.1 としていますが、これは LAN 内に存在するホスト (センター側に存在する何らかのホスト) であれば何でも構いませんし、存在しない IP であっても、その IP アドレスに対する ARP 解決クエリが送信され IPSec トンネルが活性化されますので、問題ありません。
    その他ポイント
    • IPv6 での通信
    もし、IPv6 での EtherIP 接続を行いたい場合には、次のような設定が良いでしょう。
    ip ufs-cache enable
    !
    ipv6 ufs-cache enable
    ipv6 access-list sec-list permit ip src any dest any
    !
    ike proposal ike-prop encryption aes hash sha group 1024-bit lifetime 3600
    !
    ike policy ike-policy peer 2001::1 key vpntest mode aggressive ike-prop
    ike keepalive ike-policy 10 2
    ike local-id ike-policy keyid IX
    ike nat-traversal policy ike-policy keepalive 10
    !
    ipsec autokey-proposal ipsec-prop esp-aes esp-sha lifetime time 3600
    !
    ipsec autokey-map ipsec-map sec-list peer 2001::1 ipsec-prop
    !
    !
    !
    bridge irb enable
    !
    !
    watch-group keepalive 10
      event 10 ip unreach-host 192.168.0.1 Tunnel0.0 source Tunnel0.0
    !
    network-monitor keepalive enable
    !
    ipv6 dhcp client-profile DHCPV6_CLIENT
     information-request
     option-request dns-servers
    exit
    !
    interface FastEthernet0/0.0
      no ip address
      ipv6 address autoconfig receive-default
      ipv6 dhcp client DHCPV6_CLIENT  
      no shutdown
    !
    interface FastEthernet1/0.0
      no ip address
      bridge-group 1
      no shutdown
    !
    interface Tunnel0.0
      tunnel mode ether-ip ipsec
      no ip address
      ipsec policy tunnel ipsec-map out
      bridge-group 1
      no shutdown
    !
    interface BVI1
      bridge-group 1
      ip address 192.168.0.123/24
      no shutdown
    
    基本的に対向アドレスを IPv6 アドレスにしている以外には、access-list が v6 になっている程度ですが、以下の項目を追加しました。
    • 「ipv6 dhcp client-profile DHCPV6_CLIENT」
    フレッツの IPv6 網から DNS サーバの情報を取得するための DHCPv6 クライアントの設定を行います。
    設定を入れた状態で、 FQDN を指定した接続を行わなくても問題はありません。
    • ドメイン名 (FQDN) に基づいた通信について
    IX2025 や IX2105 などにおいて、FQDN を指定した通信が可能です。
    その際には、peer を peer-fqdn-ipv4 や peer-fqdn-ipv6 に置き換え、FQDN を指定してください。
    この際に、Proxy-DNS 機能を有効にしていない場合、上記の DHCPv6 クライアントを有効にしないと
    正常に名前を解決することができず VPN セッションが構築されません。