今回の検証内容
AWSのVGW(仮想プライベートゲートウェイ)とCradlepoint社のルータIBR900をVPN接続します。
NetCloudを使う場合、基本的には172.86.160.0/20のオーバレイネットワークで通信するのでVPNは不要と考えています。
ただし、「NetCloudを使いたい環境」と「NetCloudを使いたくない環境」が混在した時は、AWSとVPNしたくなるかもしれません。
今回は下記の構成で検証しました。
結果を先に書くと、クライアント端末(Macbook pro)とEC2は、下記を併用できるようになります。
- NetCloud(172.86.160.0/20)を使った通信
- VPN(プライベートアドレス)を使った通信
構築手順
下記に構築手順を記載します。
前提条件
- AWSで基本的な構成(VPC,Subnet,ec2等)は作成済み
- IBR900のNetCloud OSのバージョンは、6.4.0(2017-08-03)
AWS側の設定
まず、AWS側でVPN設定をします。
カスタマーゲートウェイの作成
[AWSマネージメントコンソール] VPC > カスタマーゲートウェイ > カスタマーゲートウェイの作成
上記画像のような設定を入れてください。
今回はStaticルーティングで検証しました。
BGPを使った動的ルーティングに関しては別の記事で紹介する予定です。
仮想プライベートゲートウェイの作成
[AWSマネージメントコンソール] VPC > 仮想プライベートゲートウェイ > 仮想プライベートゲートウェイの作成
上記画像のように適当な名前を入れるだけですね。
仮想プライベートゲートウェイをVPCにアタッチ
上記で作成したVGWをVPCにアタッチします。
[AWSマネージメントコンソール] VPC > カスタマーゲートウェイ > 仮想プライベートゲートウェイのアタッチ
VPN接続の作成
[AWSマネージメントコンソール] VPC > VPN接続 > VPN接続の作成
上記画像のような設定を入れてください。
ルート伝播
EC2マシンがあるサブネットで使用しているルートテーブルを編集して、VGWからルート伝播されるようにしてください。
これによってVGWで設定したStaticルート情報がこのサブネットにも伝播し、今回の例でいうと、192.168.0.0/24宛の通信がVGWに向きます。
[AWSマネージメントコンソール] > VPC > ルートテーブル
VPN接続の設定をダウンロード
作成したVPN接続を選択し、設定のダウンロードをクリックしてください。
ベンダーの項目にCheckpointとかCiscoとか出てきますが、Cradlepointは無いので、Genericを選びます。
テキスト形式の設定ファイルがダウンロードできます。
[AWSマネージメントコンソール] VPC > VPN接続
このファイルを参照しつつ、Cradlepointルータを設定します。
長々と英語で書いてあるのですが、必要なパラメータを抜粋します。
IPSec Tunnel #1 ================================================================================ #1: Internet Key Exchange Configuration – IKE version : IKEv1 – Authentication Method : Pre-Shared Key – Pre-Shared Key : xxxxxxxxxxxxxxxxxxxxxxxxxx – Authentication Algorithm : sha1 – Encryption Algorithm : aes-128-cbc – Lifetime : 28800 seconds – Phase 1 Negotiation Mode : main – Diffie-Hellman : Group 2 #2: IPSec Configuration – Protocol : esp – Authentication Algorithm : hmac-sha1-96 – Encryption Algorithm : aes-128-cbc – Lifetime : 3600 seconds – Mode : tunnel – Perfect Forward Secrecy : Diffie-Hellman Group 2 #3: Tunnel Interface Configuration Outside IP Addresses: – Customer Gateway : xx.xx.xx.xx – Virtual Private Gateway : yy.yy.yy.yy
なお、「IPSec Tunnel #2」もあり、冗長化のために2本目のVPNを張ることができそうですが、今回は試していません。
IBR900側の設定
ルータにGUIログインし、設定します。
VPN設定
IPアドレスや暗号設定などは、上記でダウンロードした設定ファイルに従い、設定します。
[IBR900 GUI] NETWORKING -> Tunnels -> IPsec VPN
上記まで設定できると次のような画面になります。
Firewall Zoneの追加
Firewall Zoneを追加します。
[IBR900 GUI] SECURITY > Zone Firewall > Zone Definition
Firewall
下記のように設定します。
これでVPN経由の双方向通信を全て許可することになります。
[IBR900 GUI] SECURITY > Zone Firewall > Zone Forwarding
なお、NCM経由でルーターにログインしている場合、設定変更を反映させるためには「Commit Changes」が必要です。
参考ページ
NCOS: Virtual Tunnel Interface (VTI) IPSec VPN
まとめ
最初にも書きましたが、下記のように期待通りの動きをしてくれました。
結果を先に書くと、クライアント端末(Macbook pro)とEC2は、下記を併用できるようになります。
- NetCloud(172.86.160.0/20)を使った通信
- VPN(プライベートアドレス)を使った通信
やや余談ですが、今回ルータを設定するのにルータのIPアドレスに直接ログインせず、NCM(NetCloudManager)経由で設定しました。
NCMにさえログインできれば、管理下の機器にログインできるので楽でした。
顧客環境への導入作業を考えると、ルータをNCMへ登録さえすれば、VPN設定などはリモートでできるので弊社のような構築・運用をする会社としてもいい機能だと思いました。
渡辺 信秀(記事一覧)
2017年入社 / 地味な内容を丁寧に書きたい