木曜日
サイト間VPN設定
VPCルータ > サイト間VPN設定
 
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シリーズ
・Vyatta / VyOS
2. 設定例
ここでは、VPCルータと弊社動作確認済みのアプライアンス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 | ||
*1 スタンダードプランの場合はグローバルインターフェースに割り当てられたIPアドレス、プレミアムプランの場合はグローバルインターフェースに設定した仮想IPアドレスとなります
*2 IPsec IDはグローバルIPアドレスと同じ値となります
*3 ヤマハ RTXシリーズの場合はプライベートインターフェイスに設定したIPアドレス(10.0.0.1など)を指定します
■ VPCルータの設定
設定したいVPCルータの設定画面より、「サイト間VPN」タブを選択します。設定されているサイト間VPN設定のリストが表示されるので、新たに追加する場合は「追加」ボタンをクリックします。

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

| VPN接続先アプライアンスのIPアドレスを入力 | |
| VPN接続先アプライアンスのIDを入力 | |
| Pre Shared Keyに設定したい文字列を入力 | |
| VPN接続先ネットワークのアドレスブロックを入力 | |
| VPCルータ配下ネットワークのアドレスブロックを入力 | 
※いずれも入力必須項目となります
「対向Prefix」、「ローカルPrefix」欄には複数のIPアドレスブロックを入力することが可能です(それぞれ最大4個まで)。
1個のIPアドレスブロックを入力後、エンターキーによりリストに追加されます。リストからの削除は各IPアドレス右側の「×」アイコンをクリックすることで削除されます。

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

※サイト間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 {
             }
         }
     }
 }
 | 
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
                     }
                 }
             }
         }
     }
 }
 | 
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
             }
         }
     }
 }
 | 
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 10.0.0.1 ipsec ike local id 1 10.0.0.1 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 | 
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 | 
3. 特殊タグについて
以下の特殊タグを付与することで、VPCルータの設定チューニングを行うことが可能です。
設定方法はサーバの特殊タグと同様です。詳しくは特殊タグのページを参照ください。
※通常は使用する必要はありません。初期状態ではうまく動作しない場合などにご利用ください。
@sitetosite-use-vti
サイト間VPN機能において、VTI(Virtual Tunnel Interface)を使用する設定を行います。特定機種との複数Prefixでの接続時、IKEの相互接続性が改善する場合があります。本タグを設定した後、一度VPCルータの「反映」ボタンを押してください。
※本タグを設定した場合、L2TP/IPsecでのリモートアクセスができなくなりますのでご注意ください。




