FNSC Tech Blog

F60/F200/F2200 を用いてニフティクラウド – 拠点 (固定グローバル IP) 間を IPsec VPN 接続する方法 (IPsec VTI IKEv2)

5 回に渡って、拠点 VPN ルータとして F60/F200/F2200 を使った、ニフティクラウド – 拠点間の各種 IPsec VPN 接続方法について紹介していきます。IPsec VPN 接続の種類は下記の 5 種類です。

  1. 拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec (IKEv1) によるニフティクラウド – 拠点間 VPN 接続
  2. 拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec (IKEv2) によるニフティクラウド – 拠点間 VPN 接続
  3. 拠点 VPN ルータに動的グローバル IP が割当てられている場合の IPsec (IKEv2) によるニフティクラウド – 拠点間 VPN 接続
  4. 拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec VTI (IKEv1) によるニフティクラウド – 拠点間 VPN 接続
  5. 拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec VTI (IKEv2) によるニフティクラウド – 拠点間 VPN 接続

このエントリでは 5. 拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec VTI (IKEv2) によるニフティクラウド – 拠点間 VPN 接続について紹介します。

IPsec VPN 接続環境

このエントリでは以下のような環境を用いて、拠点 LAN (192.168.1.0/24, 10.0.1.0/24) とプライベート LAN (172.16.1.0/24) を IPsec VPN 接続します。拠点側は PPPoE (固定グローバル IP) でインターネット接続することを想定しています。

ニフティクラウドの設定

ニフティクラウドのコントロールパネルより、ニフティクラウドの設定を行います。

プライベート LAN の作成

まずはプライベート LAN を作成します。プライベート LAN を作成することによりニフティクラウド上にプライベートなネットワークセグメントを構築することができます。

コントロールパネルより、”プライベート LAN 作成” をクリックします。

“プライベート LAN 作成” というウィンドウが表示されるので各値を入力します。入力を終えたら “確認へ” をクリックします。

  • プライベート LAN 名: 任意の名前を入力します。今回の環境では “east31lan01” と入力しました。
  • ゾーン: お好みのゾーンを選択します。
  • CIDR: プライベート LAN の CIDR を設定します。今回の環境では、172.16.1.0/24 を入力します。
  • 料金プラン: お好みの料金プランを選択します。

設定した内容に問題が無ければ “作成する” をクリックします。

VPN ゲートウェイの作成

次に VPN ゲートウェイを作成します。

コントロールパネルより、”VPN ゲートウェイ作成” をクリックします。

“VPN ゲートウェイ作成” というウィンドウが表示されるので各値を入力します。入力を終えたら “ファイアウォール設定へ” をクリックします。

  • VPN ゲートウェイ名: 任意の名前を入力します。
  • ゾーン: プライベート LAN で選択したゾーンを選択します。
  • タイプ: タイプによって接続する拠点数を選択することができます。今回の環境では 1 拠点だけの接続のため、vpngw.small というタイプを選択します。
  • 料金プラン: お好みの料金プランを選択します。
  • プライベート側ネットワーク: 先程作成したプライベート LAN を選択します。今回の環境では “east31lan01” を選択します。
  • IP アドレス: 今回の環境では入力していません。

必要に応じてファイアウォールの設定を行い、”確認へ” をクリックします。今回の環境ではファイアウォールの設定を行っていません。

設定した内容に問題が無ければ “作成する” をクリックします。

カスタマーゲートウェイの作成

次にカスタマーゲートウェイを作成します。カスタマーゲートウェイは拠点側 VPN ルータを表しています。

コントロールパネルより、”カスタマーゲートウェイ作成” をクリックします。

“VPN ゲートウェイ作成” というウィンドウが表示されるので各値を入力します。入力を終えたら “作成する” をクリックします。

  • カスタマーゲートウェイ名: 任意の名前を入力します。
  • 対向機器 IP アドレス: 拠点側 VPN ルータ (F60/F200/F2200) の IP アドレスを入力します。今回の環境では “203.0.113.1” を入力します。
  • 接続方式: VTI/IPsec を選択します。
  • 対向機器 LAN 側 IP アドレス帯: 拠点 LAN の CIDR を入力します。今回の環境では “192.168.1.0/24” を入力します。
  • 対向機器 LAN 側 IP アドレス: F60/F200/F2200 が拠点側 VPN ルータである場合、入力は不要です。

VPN コネクションの作成

次に VPN コネクションを作成します。VPNコネクションは拠点と VPN ゲートウェイの接続設定です。

コントロールパネルより、VPN ゲートウェイをクリックし、”VPN コネクション作成” をクリックします。

“VPN コネクション作成” というウィンドウが表示されるので各値を入力します。入力を終えたら “トンネル設定へ” をクリックします。

  • VPN ゲートウェイ: 選択した VPN ゲートウェイの名前が表示されています
  • カスタマーゲートウェイ: 先程作成したカスタマーゲートウェイを選択します。今回の環境では “east31cstmrgw01” を選択します。
  • 接続方式: VTI/IPsec を選択します。
  • IKE バージョン: IKEv2 を選択します。
  • 暗号化アルゴリズム: 今回の環境では AES128 を選択します。
  • 認証アルゴリズム: 今回の環境では SHA1 を選択します。
  • 事前共有鍵: 任意の文字列を入力します。

IPsec ではトンネル設定は不要なので、”確認へ” をクリックします。

設定した内容に問題が無ければ “作成する” をクリックします。

ルートテーブルの作成

VPN ゲートウェイに対してルートテーブルを作成します。”10.0.1.0/24″ と “172.16.0.0/24″ のネットワーク間で疎通できるように経路を追加します。

コントロールパネルより、”ルートテーブル作成” をクリックします。

“ルートテーブル作成” というウィンドウが表示されるので、各値を入力します。入力を終えたら “作成する” をクリックします。

  • デスティネーション: 宛先である “10.0.1.0/24” を入力します。
  • ターゲット: “IP アドレス” を指定し、”192.168.1.1″ を入力します。

ルートテーブルの設定

VPN ゲートウェイに対して先程作成したルートテーブルを設定します。

コントロールパネルより、VPN ゲートウェイをクリックし、”ルートテーブル設定変更” をクリックします。

“VPN ゲートウェイ ルートテーブル設定変更” というウィンドウが表示されるので、”変更するルートテーブル ID” に先程作成したルートテーブル (今回の環境では “rtb-0id41231″) を設定し、”変更する” をクリックします。

下図のように拠点 LAN 宛のルートテーブルが設定されていることを確認します。

拠点側 VPN ルータ (F60/F200/F2200) の設定

拠点側 VPN ルータ (F60/F200/F2200) の設定を行います。

  1. 設定モードに移行します。
    工場出荷状態からの設定を想定しているため、clear working.cfg コマンドを実行し、初期設定を削除しています。

    Router#clear working.cfg
    WARNING: Another users has already edited working.cfg.
             Please check working.cfg.
    clear ok?[y/N]:yes
    
    Router#configure terminal
    Router(config)#
  2. PPPoE インタフェースの設定を行います。
    “user@ispA” は実際の PPPoE ユーザー名に、”isppasswdA” は実際の PPPoE パスワードにそれぞれ置き換えてください。

    Router(config)#interface pppoe 1
    Router(config-if pppoe 1)#ip address 203.0.113.1
    Router(config-if pppoe 1)#pppoe server PPPOE_SVR
    Router(config-if pppoe 1)#pppoe account user@ispA isppasswdA
    Router(config-if pppoe 1)#pppoe type lan
    Router(config-if pppoe 1)#exit
  3. NAPT とフィルタ関連の設定を行います。
    access-list 1 により変換前の IP アドレス範囲を指定し、”ip nat inside source” により PPPoE インターフェースの IP アドレスで NAPT 変換するように設定しています。
    access-list 150, 160 により、ニフティクラウド側 VPN ゲートウェイとの ESP パケットのみを送受信するようフィルタを設定しています。
    access-list 190, 199 により、学習フィルタを設定しています。

    Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
    Router(config)#access-list 1 permit 10.0.1.0 0.0.0.255
    Router(config)#access-list 150 permit esp host 203.0.113.1 host 198.51.100.1
    Router(config)#access-list 160 permit esp host 198.51.100.1 host 203.0.113.1
    Router(config)#access-list 190 dynamic permit ip any any
    Router(config)#access-list 199 deny ip any any
    Router(config)#interface pppoe 1
    Router(config-if pppoe 1)#ip nat inside source list 1 interface
    Router(config-if pppoe 1)#ip access-group 150 out
    Router(config-if pppoe 1)#ip access-group 160 in
    Router(config-if pppoe 1)#ip access-group 190 out
    Router(config-if pppoe 1)#ip access-group 199 in
    Router(config-if pppoe 1)#exit
  4. LAN インターフェース関連の設定を行います。
    各 VLAN インタフェースに IP アドレス “10.0.1.254”、”192.168.1.254″ を設定しています。
    DHCP サーバの設定を下記のように行っています。
    – DNS サーバの IP アドレスとして VLAN インターフェースの IP アドレスを広告 (Proxy DNS 機能を利用)
    – デフォルトルータとして VLAN インターフェースの IP アドレスを広告
    – 配布する IP アドレスのレンジを VLAN インタフェース毎に 192.168.1.1 〜 192.168.1.100、10.0.1.1 〜 10.0.1.100 に設定 (配布される IP アドレスの有効期限を 8 時間に設定)

    Router(config)#! LAN インターフェース設定
    Router(config)#line lan
    Router(config-line lan)#vlan 1 bridge-group 11
    Router(config-line lan)#vlan 1 port-vlan 11
    Router(config-line lan)#vlan 2 bridge-group 12
    Router(config-line lan)#vlan 2 port-vlan 12
    Router(config-line lan)#exit
    Router(config)#!
    Router(config)#interface vlanif 1
    Router(config-if vlanif 1)#ip address 192.168.1.254 255.255.255.0
    Router(config-if vlanif 1)#bridge-group lan 11
    Router(config-if vlanif 1)#vlan-id 11
    Router(config-if vlanif 1)#exit
    Router(config)#interface vlanif 2
    Router(config-if vlanif 2)#ip address 10.0.1.254 255.255.255.0
    Router(config-if vlanif 2)#bridge-group lan 12
    Router(config-if vlanif 2)#vlan-id 12
    Router(config-if vlanif 2)#exit
    Router(config)#!
    Router(config)#! DHCP サーバ設定
    Router(config)#service dhcp-server
    Router(config)#ip dhcp pool vlanif 1
    Router(config-dhcp-pool)#dns-server 0.0.0.0
    Router(config-dhcp-pool)#default-router 0.0.0.0
    Router(config-dhcp-pool)#allocate-address 192.168.1.1 100
    Router(config-dhcp-pool)#lease 0 8
    Router(config-dhcp-pool)#exit
    Router(config)#!
    Router(config)#ip dhcp pool vlanif 2
    Router(config-dhcp-pool)#dns-server 0.0.0.0
    Router(config-dhcp-pool)#default-router 0.0.0.0
    Router(config-dhcp-pool)#allocate-address 10.0.1.1 100
    Router(config-dhcp-pool)#lease 0 8
    Router(config-dhcp-pool)#exit
  5. IPsec 機能を有効にし、VPN 通信動作中のログを残す設定を行います。
    Router(config)#vpn enable
    Router(config)#vpnlog enable
  6. IKE ポリシーに関する設定を行います。
    IKE ポリシーの各パラメータは以下のように設定しています。
    – 暗号化アルゴリズム: AES128
    – 認証アルゴリズム: SHA-1
    – 認証方式: Pre-Shared Key
    – 事前共有鍵の形式: プレインテキスト
    – Pre-Shared Key: “SECRET” (ニフティクラウドの VPN コネクションの作成で決定した共有鍵に置き換えてください)
    – Diffie-Hellman (DH): Group 2
    – IKE の SA ライフタイム: 28,800 秒

    Router(config)#crypto ikev2 policy 1
    Router(config-ikev2)#encryption aes
    Router(config-ikev2)#authentication pre-share
    Router(config-ikev2)#group 2
    Router(config-ikev2)#hash sha
    Router(config-ikev2)#keepalive always-send
    Router(config-ikev2)#key ascii SECRET
    Router(config-ikev2)#lifetime 28800
    Router(config-ikev2)#match identity address 198.51.100.1
    Router(config-ikev2)#self-identity address 203.0.113.1
    Router(config-ikev2)#set peer 198.51.100.1
    Router(config-ikev2)#exit
  7. DPD のパラメータを設定します。
    DPD メッセージ送信間隔を 15 秒、リトライ回数を 3 回に設定しています。

    Router(config)#crypto security-association
    Router(config-crypto-sa)#ikealive freq 15
    Router(config-crypto-sa)#retry max 5
    Router(config-crypto-sa)#retry timer 15
    Router(config-crypto-sa)#exit
  8. ESP のポリシーとして、暗号化アルゴリズム、認証アルゴリズムの設定を行います。
    暗号化アルゴリズムを AES128、認証アルゴリズムを SHA-1 として設定しています。

    Router(config)#ipsec transform-set P2-POLICY ikev2 esp-aes esp-sha-hmac
  9. IPsec のセレクタ情報を設定します。
    Router(config)#ipsec access-list 1 ipsec ip any any
    Router(config)#ipsec access-list 64 bypass ip any any
  10. crypto map に関する設定を行います。
    “match address” により 9. で設定した “ipsec access-list” の番号を設定し、VPN ピアに通知するセレクタ情報を指定しています。
    “set security-association lifetime” により ESP の SA ライフタイムを 3,600 秒に設定しています。
    “set transform-set” により 8. で設定した “ipsec transform-set” との紐付けを行います。
    “set ikev2-policy” により 6. で設定した IKE ポリシーを指定します。

    Router(config)#crypto map CENTER 1
    Router(config-crypto-map)#match address 1
    Router(config-crypto-map)#set security-association lifetime seconds 3600
    Router(config-crypto-map)#set transform-set P2-POLICY
    Router(config-crypto-map)#set ikev2-policy 1
    Router(config-crypto-map)#exit
  11. IPsec インターフェースと crypto map の紐付けを行います。access-list 100 により拠点側 LAN からニフティクラウド側 プライベート LAN へのパケットのみを送信するようフィルタを設定しています。MTU と MSS の設定を行います。
    Router(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
    Router(config)#access-list 100 permit ip 10.0.1.0 0.0.0.255 172.16.1.0 0.0.0.255
    Router(config)#access-list 100 deny ip any any
    Router(config)#interface ipsecif 1
    Router(config-if ipsecif 1)#crypto map CENTER
    Router(config-if ipsecif 1)#ip access-group 100 out
    Router(config-if ipsecif 1)#ip mtu 1500
    Router(config-if ipsecif 1)#exit
    Router(config)#mss lanvlanif 1 1300
    Router(config)#mss vlanif 2 1300
    Router(config)#mss ipsecif 1 1300
  12. デフォルト経路とプライベート LAN CIDR 宛の経路設定を行います。
    Router(config)#ip route 0.0.0.0 0.0.0.0 pppoe 1
    Router(config)#ip route 172.16.1.0 255.255.255.0 connected ipsecif 1
  13. 設定を終了、保存、boot コンフィグに設定し、装置を再起動します。
    Router(config)#end
    Router#save SIDE-A.cfg
    % saving working-config
    % finished saving
    
    Router#boot configuration SIDE-A.cfg
    Router#reset
    Going to reset with SIDE-A.frm and SIDE-A.cfg.
    Boot-back not scheduled for next boot.
    Next rebooting firmware SIDE-A.frm is fine.
    Are you OK to cold start?(y/n)y

以上で拠点側 VPN ルータ (F60/F200/F2200) の設定は終わりです。

拠点側 VPN ルータでの IPsec VPN 接続確認方法

ニフティクラウドのプライベート LAN に作成したサーバーへ PING による疎通確認を行います。

Router#ping 172.16.1.1 source-interface vlanif 1
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/10 ms
Router#

PING による疎通確認がうまくいかない場合、IKE の SA が正常に確立されているかを “show crypto ikev2 ike-sa” コマンドにより確認します。Current値において、IKE のSAが確立してからの経過時間が表示されていれば正常に確立できています。IKE の SA が正常に確立できていない場合は IKE の設定が正しいかどうかを確認してください。

Router#show crypto ikev2 ike-sa

[1]  198.51.100.1
           <---> 203.0.113.1
    <I> aes128-cbc sha1
    Authentication method for Local : Pre-shared key
    Authentication method for Remote : Pre-shared key
    Diffie-Hellman group : 2 (1024 bits)
    Initiator Cookie : b22b10cb eb71a914
    Responder Cookie : 04102d41 cf5e9579
    DPD : on
    ICMP Keepalive : off
    Lifetime : 28800sec
    Current  : 123sec

Total number of ISAKMP SA 1

Router#

PING がうまくいかず、IKE の SA が正常に確立されている場合、ESP の SA が正常に確立しているかを “show crypto ikev2 child-sa” コマンドにより確認します。Current値において、ESP のSAが確立してからの経過時間が表示されていれば正常に確立できています。ESP の SA が正常に確立できていない場合は ESP の設定が正しいかどうかを確認してください。

Router#show crypto ikev2 child-sa 

  CHILD_SA <R>
    Selector :
      0.0.0.0/0 ALL ALL
         <--->  0.0.0.0/0 ALL ALL
    Interface : ipsecif 1
    Peer IP  : 198.51.100.1/500
    Local IP : 203.0.113.1/500
    Encryption algorithm : AES-CBC(128bit)
    Authentication algorithm : HMAC-SHA1
    Lifetime : 3600sec
    PFS : off
    OUT
      O-SPI : c860bc96
      Current : 121sec, 12kbytes
      out packet      : 86          error packet      : 0         
    IN
      I-SPI : fcd0290d
      Current : 121sec, 12kbytes
      in packet       : 84          auth packet       : 84        
      decrypto packet : 84          discard packet    : 0         
      replay packet   : 0           auth error packet : 0         

Total number of IPSEC SA 1

Router#

まとめ

このエントリでは拠点 VPN ルータに固定グローバル IP が割当てられている場合の IPsec VTI (IKEv2) によるニフティクラウド – 拠点間 VPN 接続について紹介しました。5 回に渡って、ニフティクラウドとの各種 IPsec VPN 接続方法を紹介してきました。ニフティクラウド以外のクラウドへの VPN 接続例についても今後紹介していきたいと思いますので、ご期待ください。