はじめに
過去2回のブログでNSX間のIPsecとNSXとCiscoルータ間のIPsecを張るための具体的な設定を紹介しました。今回はIPsecの対向をAWSで想定した場合の設定例を紹介していきます。NSXやCiscoルータでは、IKEv2のポリシーベースIPsecとルートベースIPsecの2種類のIPsec方式をサポートしていますが、AWSではルートベースIPsecのみサポートするため、その構成で解説していきます。
AWS – NSX間のルートベースIPsec
構築するネットワーク構成は以下となります。
AWS Site
ユーザセグメント:172.16.40.0/24
IPsec用エンドポイントIP:13.113.232.97
IPsec用トンネルインターフェースIP:169.254.79.65/30
NSX Site
ユーザセグメント:172.16.10.0/24
IPsec用エンドポイントIP:10.34.34.34
IPsec用トンネルインターフェースIP:169.254.79.66/30
NAT外部ルータ:223.135.xx.xx
NSX ver.3.2.3.1
設定手順
①AWSの設定
1.インターネットゲートウェイ、カスタマーゲートウェイ、仮想プライベートゲートウェイの作成
2.VPNの設定
3.セキュリティグループの確認、外部IPとトンネルIPの確認
②T0ゲートウェイにエンドポイント間のルートを学習
③NSX IPsecの設定
1.VPNサービスの設定
2.NSX IPsec Session (ルートベース)の作成
3.NSX ローカルエンドポイントの作成
④T0ゲートウェイにトンネル経由のルートを追加
①AWSの設定
1.インターネットゲートウェイ、カスタマーゲートウェイ、仮想プライベートゲートウェイの作成
AWSコンソールのVPCの設定から、各ゲートウェイの設定を行っていく
デフォルトASNを選ぶと作成後にBGP用のAS番号が確認できる
(オプション) BGPでルートを広報する場合は”BGP ASN” にNSX 環境のASN を設定
“IPアドレス” にはNSXサイトのエンドポイントIP(NAT経由ならNAT後のIP)を設定
2.VPNの設定
“仮想プライベートゲートウェイ”と”カスタマーゲートウェイ” は作成したものを選択
“ルーティングオプション” はスタティックルートの場合は「静的」を選択し、対向サイトのルートを設定 BGPの場合は「動的」を選択
“トンネル1の内部IPv4 CIDR” は空欄の場合は自動でアサインされる
3.セキュリティグループの確認、外部IPとトンネルIPの確認
通信対象に適用されているセキュリティグループで許可されていることを確認
この例ではICMPとSSHを許可している
Site-to-Site VPN 接続 > VPN接続を選択 > トンネルの詳細
外部IPアドレス: NSXサイトから見たリモートIP
内部IPv4 CIDR: トンネルインターフェースセグメント
/30の若番がAWS側、老番が対向となる
上記の場合、.65 がAWS側のIP、.66がNSX側のIPとなる
②T0ゲートウェイにエンドポイント間のルートを学習
この後設定するIPsecエンドポイントIPは対向サイトへ広報している必要があります。アンダーレイをダイナミックルーティングで構築している場合は、このIPを再配送している必要があります。T1およびT0ゲートウェイで再配送の設定を確認します。
ネットワーク > Tier-1 ゲートウェイ >ルートアドバタイズ
ネットワーク > Tier-0 ゲートウェイ >ルート再配分
(スタティックルートを用いて構築している場合は対向IPsecエンドポイントIPへのスタティックルートを追加します。)
③NSX IPsecの設定
1.VPNサービスの設定
ネットワーク > VPN > VPNサービス > IPsec
2.NSX IPsec Session (ルートベース)の作成
ネットワーク > VPN > IPsecセッション > IPsecセッションの追加
AWSで割り当てられたIPをVPNの設定に入力する
3.NSX ローカルエンドポイントの作成
ローカルエンドポイントを新規作成
(ローカルIDは空欄のままだとIPアドレスがそのまま入る)
VPN 経由の通信はこのトンネルインターフェースを経由し、対向のトンネルIPをネクストホップとなる転送を行うが、その転送のためのルートはスタティックルートで定義するかBGPにより広報して貰う必要がある。以下はスタティックルートおよびBGPの設定例となる。
*NSXではトンネルインターフェースでのOSPFはサポートしていない
④ゲートウェイにトンネル経由のルートを追加
スタティックルートの場合
ネットワーク > Tier-0 ゲートウェイ or Tier-1 ゲートウェイ >ルーティング > スタティックルート
上記ではT0ゲートウェイでVPNルートのスタティックルートの設定例である。対向サイトのネットワークサブネットに対し、ネクストホップは対向のトンネルインターフェースIPを入力する
BGPの場合
ネットワーク > Tier-0ゲートウェイ >BGP > BGPネイバー
BGPネイバーIPは対向のトンネルIPで、送信元アドレスは自身のトンネルIPをいれる
以上で設定は完了となる。
トンネル状態の確認
Site-to-Site VPN 接続 > VPN接続を選択 > トンネルの詳細
[Tips: AWS IPsecトンネルの冗長化]
AWS では対向サイトと同時に2本のIPsecトンネルを張ることが可能。この冗長によりVPNの可用性を高めることが可能となる。この場合、ルートの広報はBGPを利用する。(スタティックルートはサポートしない)以下でその設定方法を示す。
Site-to-Site VPN 接続 > VPN接続を選択 > トンネルの詳細
2本めのトンネルのIPを確認する
ネットワーク > VPN > IPsecセッション
NSX側ではTunnel2 に対応するIPsecセッション及びBGPネイバーを追加する(スタティックは不可)(ネイバーはAWSのトンネル内部IP)
以上でトンネル冗長の設定は完了となる