SAKURA Internet

さくらのクラウドの最新情報、技術情報

さくらのクラウドニュース

さくらのクラウドの最新情報や、開発に役立つ技術情報をお届けします。

サイト間VPN設定

[更新: 2016年11月11日]

VPCルータのサイト間VPN機能(site-to-site IPsec VPN機能)についての説明です。

1. サイト間VPN機能の概要

サイト間VPN機能は、さくらのクラウド上に作成したVPCルータと、他のネットワークに設置したサイト間VPN接続対応機器でVPN接続を行う機能です。

インターネットを介して接続される各ネットワーク間は、IPsec VPNにより暗号化された仮想的な専用IP回線で接続され、さくらのクラウド内に構築したネットワークを既存のネットワークの拡張部分としてシームレスに利用することが可能となります。これにより、柔軟で即時的なサーバ・ネットワーク環境構築が可能なIaaSを基盤として活用したバーチャルプライベートクラウド環境を容易に構築することができるようになります。

VPCルータの仕様

VPCルータのサイト間VPN機能の仕様は以下の通りです。対向側でこの仕様に対応した機器を使用することにより、サイト間VPN機能を使用することができます。

認証方式 Pre-Shared Key(事前共有鍵) (*1)
暗号アルゴリズム AES128
ハッシュアルゴリズム SHA1
PFS(Perfect Forward Secrecy) 有効(DHグループ2もしくは5)
ISAKMP SAの寿命 28800秒
IPsec SAの寿命 1800秒
交換モード(exchange mode) メインモード
IPsecフェーズ1 ID VPCルータのグローバルIPアドレス
IKEキープアライブ(DPD) 有効(インターバル15秒/タイムアウト30秒)
対向Prefix/ローカルPrefix 設定可能ネットマスク長 /8~/32

*1 使用可能な文字はアルファベット(大文字, 小文字)・数字・アンダースコア(_)の組み合わせとなります。文字数は1~40文字となります。

動作確認済みアプライアンス

弊社にてVPCルータとサイト間VPN接続が可能であることを確認済みのアプライアンスは以下のとおりです。

・Juniper NetScreen/SSGシリーズ
・ヤマハ RTXシリーズ(※1)
・Vyatta / VyOS
・Cisco ISRシリーズ(※2)

※1:弊社で動作確認ができている機種はRTX1200およびRTX1210となります。
※2:弊社で動作確認ができている機種はCisco891Fとなります。

2. 設定例

ここでは、VPCルータと弊社動作確認済みのアプライアンス3機種の設定例を挙げます。

設定例は基本機能のみを使用した場合の一般的な構成例です。詳細な設定方法については各アプライアンスの製造元にお問い合わせください(さくらのクラウドネットワーク外の機器に関しては弊社サポート外となります)。
また、各社の仕様変更の場合など、将来にわたりVPCルータとの接続を保証するものではありません。

ネットワーク構成例

ネットワークの構成は以下を想定します。

 

■ 構成図

vpc-sts00-3

 

■ ネットワーク情報

VPCルータ側
対向アプライアンス側
グローバルIPアドレス 203.0.113.180 (*1) 198.51.100.124 (/27)
IPsec ID 203.0.113.180 (*2) 198.51.100.124 (*3)
デフォルトゲートウェイ
198.51.100.97
プライベートIPアドレス 172.16.0.0/16 10.0.0.0/24
Pre Shared Secret
test12345

*1 スタンダードプランの場合はグローバルインターフェースに割り当てられたIPアドレス、プレミアムプランの場合はグローバルインターフェースに設定した仮想IPアドレスとなります
*2 IPsec IDはグローバルIPアドレスと同じ値となります
*3 ヤマハ RTXシリーズの場合はプライベートインターフェイスに設定したIPアドレス(10.0.0.1など)を指定します

VPCルータの設定

設定したいVPCルータの設定画面より、「サイト間VPN」タブを選択します。設定されているサイト間VPN設定のリストが表示されるので、新たに追加する場合は「追加」ボタンをクリックします。

vpc-sts01a

サイト間VPN設定画面が表示されるので、各設定項目に情報を入力します。

vpc-sts02-2

対向IPアドレス
VPN接続先アプライアンスのIPアドレスを入力
対向ID
VPN接続先アプライアンスのIDを入力
Pre Shared Secret
Pre Shared Keyに設定したい文字列を入力
対向Prefix
VPN接続先ネットワークのアドレスブロックを入力
ローカルPrefix
VPCルータ配下ネットワークのアドレスブロックを入力

※いずれも入力必須項目となります

「対向Prefix」、「ローカルPrefix」欄には複数のIPアドレスブロックを入力することが可能です(それぞれ最大4個まで)。
1個のIPアドレスブロックを入力後、エンターキーによりリストに追加されます。リストからの削除は各IPアドレス右側の「×」アイコンをクリックすることで削除されます。

vpc-sts03

設定が完了するとリストに追加されます。作成済みのエントリはリスト右側の鉛筆アイコンで編集、削除アイコンで消去が行えます。

vpc-sts04-2a

※サイト間VPN設定の追加・変更・削除を行った場合、「反映」ボタンをクリックしVPCルータ側への設定反映が必要となります(VPCルータが起動状態の場合でも、電源をシャットダウンすることなく「反映」ボタンのクリックで設定が反映されます)。

アプライアンス側の設定

 

■ Vyatta/VyOS

1. IPアドレスとデフォルトゲートウェイを設定します(グローバルインターフェース名はeth0、プライベートインターフェース名はeth1の場合を想定しています)。

interfaces {
     ethernet eth0 {
         address 198.51.100.124/27
     }
     ethernet eth1 {
         address 10.0.0.1/24
     }
 }
 protocols {
     static {
         route 0.0.0.0/0 {
             next-hop 198.51.100.97 {
             }
         }
     }
 }

setコマンドは、以下の通りです。

set interfaces ethernet eth0 address 198.51.100.124/27
set interfaces ethernet eth1 address 10.0.0.1/24
set protocols static route 0.0.0.0/0 next-hop 198.51.100.97

2. サイト間VPNを設定します。

vpn {
     ipsec {
         esp-group ESP {
             compression disable
             lifetime 1800
             mode tunnel
             pfs enable
             proposal 1 {
                 encryption aes128
                 hash sha1
             }
         }
         ike-group IKE {
             dead-peer-detection {
                 action restart
                 interval 15
                 timeout 30
             }
             lifetime 28800
             proposal 1 {
                 encryption aes128
                 hash sha1
             }
         }
         ipsec-interfaces {
             interface eth0
         }
         site-to-site {
             peer 203.0.113.180 {
                 authentication {
                     id 198.51.100.124
                     mode pre-shared-secret
                     pre-shared-secret test12345
                     remote-id 203.0.113.180
                 }
                 connection-type initiate
                 default-esp-group ESP
                 ike-group IKE
                 local-address 198.51.100.124
                 tunnel 1 {
                     local {
                         prefix 10.0.0.0/24
                     }
                     remote {
                         prefix 172.16.0.0/16
                     }
                 }
             }
         }
     }
 }

setコマンドは、以下の通りです。

set vpn ipsec esp-group ESP compression disable
set vpn ipsec esp-group ESP lifetime 1800
set vpn ipsec esp-group ESP mode tunnel
set vpn ipsec esp-group ESP pfs enable
set vpn ipsec esp-group ESP proposal 1 encryption aes128
set vpn ipsec esp-group ESP proposal 1 hash sha1
set vpn ipsec ike-group IKE dead-peer-detection action restart
set vpn ipsec ike-group IKE dead-peer-detection interval 15
set vpn ipsec ike-group IKE dead-peer-detection timeout 30
set vpn ipsec ike-group IKE lifetime 28800
set vpn ipsec ike-group IKE proposal 1 encryption aes128
set vpn ipsec ike-group IKE proposal 1 hash sha1
set vpn ipsec ipsec-interfaces interface eth0
set vpn ipsec site-to-site peer 203.0.113.180 authentication id 198.51.100.124
set vpn ipsec site-to-site peer 203.0.113.180 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer 203.0.113.180 authentication pre-shared-secret test12345
set vpn ipsec site-to-site peer 203.0.113.180 authentication remote-id 203.0.113.180
set vpn ipsec site-to-site peer 203.0.113.180 connection-type initiate
set vpn ipsec site-to-site peer 203.0.113.180 default-esp-group ESP
set vpn ipsec site-to-site peer 203.0.113.180 ike-group IKE
set vpn ipsec site-to-site peer 203.0.113.180 local-address 198.51.100.124
set vpn ipsec site-to-site peer 203.0.113.180 tunnel 1 local prefix 10.0.0.0/24
set vpn ipsec site-to-site peer 203.0.113.180 tunnel 1 remote prefix 172.16.0.0/16

3. VPN宛て通信をNAT処理から除外する設定(NATを使用している場合)を行います。

nat {
     source {
         rule 10 {
             destination {
                 address 172.16.0.0/16
             }
             exclude
             outbound-interface eth0
         }
         rule 999 {
             outbound-interface eth0
             translation {
                 address masquerade
             }
         }
     }
}

setコマンドは、以下の通りです。

set nat source rule 10 destination address 172.16.0.0/16
set nat source rule 10 exclude
set nat source rule 10 outbound-interface eth0
set nat source rule 999 outbound-interface eth0
set nat source rule 999 translation address masquerade

4. VPN接続ができることを確認します。

vyatta@vc66:~$ show vpn ipsec sa
Peer ID / IP                            Local ID / IP
------------                            -------------
203.0.113.180                           198.51.100.124

    Tunnel  State  Bytes Out/In   Encrypt  Hash  NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----  -----  ------  ------  -----
    1       up     126.4K/126.4K  aes128   sha1  no     1044    1800    all

 

■ YAMAHA RTXシリーズ

1. IPアドレスとデフォルトゲートウェイを設定します(プライベートインターフェース名はlan1、グローバルインターフェース名はlan2を想定しています)。

ip lan1 address 10.0.0.1/24
ip lan2 address 198.51.100.124/27
ip route default gateway 198.51.100.97

2. サイト間VPNを設定します。

tunnel select 1
 ipsec tunnel 101
  ipsec sa policy 101 1 esp aes-cbc sha-hmac
  ipsec ike always-on 1 on
  ipsec ike encryption 1 aes-cbc
  ipsec ike group 1 modp1024
  ipsec ike hash 1 sha
  ipsec ike keepalive use 1 on dpd 15 2
  ipsec ike local address 1 198.51.100.124
  ipsec ike local id 1 198.51.100.124
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text test12345
  ipsec ike remote address 1 203.0.113.180
  ipsec ike remote id 1 203.0.113.180
  ipsec auto refresh 1 on
 ip tunnel mtu 1280
 ip tunnel tcp mss limit auto
 tunnel enable 1

ip route 172.16.0.0/16 gateway tunnel 1

nat descriptor masquerade static 1000 1 198.51.100.124 udp 500
nat descriptor masquerade static 1000 2 198.51.100.124 esp

※注意事項
ipsec ike local addressおよびipsec ike local idで指定するIPアドレスは、nat descriptor masquerade staticにて
UDP500番ポートおよびESP通信を許可する設定のIPアドレスと一致している必要があります。

以下のようにプライベートIPアドレスが設定されている場合

nat descriptor masquerade static 1000 1 10.0.0.1 udp 500
nat descriptor masquerade static 1000 2 10.0.0.1 esp

ipsec ike local addressおよびipsec ike local idで指定するIPアドレスを10.0.0.1に変更し

  ipsec ike local address 1 10.0.0.1
  ipsec ike local id 1 10.0.0.1

クラウドのコントロールパネルより、VPCルータのサイト間VPN設定の対向IDを10.0.0.1に変更してください。
ws000390

3. VPN接続ができることを確認します。

# show ipsec sa gateway 1

1   U     1 10.0.0.1       203.0.113.180    i:2 s:1 r:1

sa   sgw connection   dir  life[s] remote-id
--------------------------------------------------------------------------
6    1   isakmp       -    28571   203.0.113.180
8    1   isakmp       -    28743   203.0.113.180
10   1   tun[001]esp  send 1744    203.0.113.180
11   1   tun[001]esp  recv 1744    203.0.113.180

 

■ Juniper SRXシリーズ/Firefly

1. IPアドレスとデフォルトゲートウェイを設定します(グローバルインターフェース名はge-0/0/0、プライベートインターフェース名はge-0/0/1を想定しています)。

interfaces {
    ge-0/0/0 {
        unit 0 {
            family inet {
                address 198.51.100.124/27;
            }
        }
    }
    ge-0/0/1 {
        unit 0 {
            family inet {
                address 10.0.0.1/24;
            }
        }
    }
}
routing-options {
    static {
        route 0.0.0.0/0 next-hop 198.51.100.97;
    }
}

2. サイト間VPNを設定します。

security {
    ike {
        proposal ike-proposal {
            authentication-method pre-shared-keys;
            authentication-algorithm sha1;
            encryption-algorithm aes-128-cbc;
        }
        policy ike-policy {
            mode main;
            proposals ike-proposal;
            pre-shared-key ascii-text test12345
        }
        gateway ike-gateway {
            ike-policy ike-policy;
            address 203.0.113.180;
            external-interface ge-0/0/0.0;
        }
    }
    ipsec {
        proposal ipsec-proposal {
            protocol esp;
            authentication-algorithm hmac-sha1-96;
            encryption-algorithm aes-128-cbc;
        }
        policy ipsec-policy {
            perfect-forward-secrecy {
                keys group2;
            }
            proposals ipsec-proposal;
        }
        vpn ipsec-vpn {
            bind-interface st0.0;
            ike {
                gateway ike-gateway;
                proxy-identity {
                    local 10.0.0.0/24;
                    remote 172.16.0.0/16;
                }
                ipsec-policy ipsec-policy;
            }
        }
    }
}
interfaces {
    st0 {
        unit 0 {
            family inet;
        }
    }
}
routing-options {
    static {
        route 172.16.0.0/16 next-hop st0.0;
    }
}

3. セキュリティゾーンとポリシーを設定します。

security {
    zones {
        security-zone trust {
            tcp-rst;
            host-inbound-traffic {
                system-services {
                    all;
                }
            }
            interfaces {
                ge-0/0/1.0;
            }
        }
        security-zone untrust {
            screen untrust-screen;
            host-inbound-traffic {
                system-services {
                    ping;
                    ike;
                }
            }
            interfaces {
                ge-0/0/0.0;
            }
        }
        security-zone vpn {
            interfaces {
                st0.0;
            }
        }
    }
    policies {
        from-zone trust to-zone vpn {
            policy trust-vpn {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                }
            }
        }
        from-zone vpn to-zone trust {
            policy vpn-trust {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                }
            }
        }
    }
}

4. VPN接続ができることを確認します。

root@firefly> show security ike security-associations
Index   State  Initiator cookie  Responder cookie  Mode           Remote Address
1323201 UP     37c7189f604XXXXX  b2319ba9f19XXXXX  Main           203.0.113.180

root@firefly> show security ipsec security-associations
  Total active tunnels: 1
  ID    Algorithm       SPI      Life:sec/kb  Mon lsys Port  Gateway
  131073 ESP:aes-cbc-128/sha1 ce9d6928 199/ unlim - root 500 203.0.113.180
  131073 ESP:aes-cbc-128/sha1 c7cd96a1 1176/ unlim - root 500 203.0.113.180

 

■ Cisco ISRシリーズ

1. IPアドレスとデフォルトゲートウェイを設定します(グローバルインターフェース名はGigabitEthernet8、プライベートインターフェース名はVlan1を想定しています)。

interface GigabitEthernet8
 ip address 198.51.100.124 255.255.255.224
 ip nat outside
 duplex auto
 speed auto
 crypto map map-ipsec
exit

interface Vlan1
 ip address 10.0.0.1 255.255.255.0
 ip nat inside
exit

2. サイト間VPNを設定します。

crypto isakmp policy 1
 encr aes
 authentication pre-share
 group 5
 lifetime 28800
exit

crypto isakmp key test12345 address 203.0.113.180
crypto isakmp keepalive 30 periodic

crypto ipsec security-association lifetime seconds 1800

crypto ipsec transform-set ipsec esp-aes esp-sha-hmac 
 mode tunnel

crypto map map-ipsec 1 ipsec-isakmp 
 set peer 203.0.113.180
 set transform-set ipsec 
 match address 101
exit

access-list 101 permit ip 10.0.0.0 0.0.0.255 172.16.0.0 0.0.255.255

3. VPN接続ができることを確認します。

#ping 172.16.0.1 source 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds:
Packet sent with a source address of 10.0.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

3. 特殊タグについて

以下の特殊タグを付与することで、VPCルータの設定チューニングを行うことが可能です。
設定方法はサーバの特殊タグと同様です。詳しくは特殊タグのページを参照ください。

※通常は使用する必要はありません。初期状態ではうまく動作しない場合などにご利用ください。

@sitetosite-use-vti

サイト間VPN機能において、VTI(Virtual Tunnel Interface)を使用する設定を行います。特定機種との複数Prefixでの接続時、IKEの相互接続性が改善する場合があります。本タグを設定した後、一度VPCルータの「反映」ボタンを押してください。

※プライベートサブネットが複数存在する場合、本タグが必要になる場合がございます。
※また、本タグを設定した場合、L2TP/IPsecでのリモートアクセスができなくなります。

4. 閉域接続機能について

閉域接続機能とは、クラウド環境内のトラフィックを直接インターネットと通信させず、IPsecにより暗号化された経路を通してお客様手元のネットワーク内ルータを介して接続する機能です。

vpc-closed1a

この機能を利用することで、お客様手元側のルータで実施する通信の制御や監査を、クラウド上のリソースの通信に対しても容易に行うことができます。

設定方法

サイト間VPN設定画面内の「対向Prefix」欄で「0.0.0.0/0」を設定します。

vpc-closed2a

これにより、VPCルータを入出力するトラフィックが全て対向アプライアンス側に経由されます。

注意事項

■ 本機能を利用した場合、サイト間VPN以外のトラフィックが直接インターネットに送受信できなくなるため、以下の機能が使用できません。
 ・フォワードNAT
 ・スタティックNAT
 ・ポートフォワーディング(サイト間VPNの通信には適用されません)
 ・ファイアウォール(サイト間VPNの通信には適用されません)
 ・リモートアクセス(PPTP,L2TP/IPsec)
■ サイト間VPNのセッションが落ちた場合、フォールバックせず完全に通信断になります
■ サイト間VPNのいずれか1サイトのみに、対向Prefixとして0.0.0.0/0を設定できます(同一Prefixを複数サイトに記入した場合はエラーとなります)。

5. VPNのログ閲覧

VPCルータの詳細画面にて「ログ」タブをクリックし、「VPN」タブをクリックすると、ログが表示されます。
vpc-log11
※記録されているログのうち最新の100件が表示されます。
※最新100件よりも過去のログをコントロールパネルにて表示する機能の実装予定はございません。syslog転送機能をご利用ください。

お電話でのお問い合わせ

0120-380-397

カスタマーセンター 受付時間:平日10:00〜18:00

※さくらのクラウドについてのお問い合わせは、音声ガイダンスにて[6]番をご選択下さい。