AWSサイト間VPNの構築(4.CMLの構築)

AWSサイト間VPNの構築(4.CMLの構築)

【前回】AWSサイト間VPNの構築(3.AWSのVPN構築)
【次回】AWSサイト間VPNの構築(5.暗号化・ハッシュアルゴリズム変更)

目次

ネットワーク構成

下記のネットワーク構成で、CML上のLAN(172.16.0.0/24)とAWSのサブネット(10.0.0.0/24)が直接通信できるようにします。
※Server(172.16.0.1)からEC2(10.0.0.58)にPingによる疎通確認ができるようにしていきます。

CMLとAWSのネットワーク構成

CMLの構築

AWSのサイト間VPN接続の検証のためにCMLを構築します。

CMLの基本設定

Server、IOSv(VPN-Router)、ExternalConnectorを配置します。
RouterのGi0/0をExternalConnectorに、Gi0/1をServerに接続します。

CMLのノードの配置

Serverは、「EDIT CONFIG」で下記の設定を行い起動します。

hostname Server
ifconfig eth0 172.16.0.1 netmask 255.255.255.0 up
route add -net 0.0.0.0/0 dev eth0
Serverの設定

ExternalConnectorは、「EDIT CONFIG」で「BRIDGE」を選択します。
※CMLの外部ネットワーク接続の詳細はこちらで説明しています。

External Connectorの設定

Routerのインターフェースを設定します。

int Gi0/0
ip address 192.168.1.100 255.255.255.0
no shut

int Gi0/1
ip address 172.16.0.254 255.255.255.0
no shut

RouterのインターフェースにIPアドレスが設定され、リンクアップしたことを確認します。

show ip int brief
Routerのインターフェース設定確認

Routerのデフォルトルートを設定します。

ip route 0.0.0.0 0.0.0.0 192.168.1.1

※デフォルトルートのネクストホップは、自身のローカル環境のルータのIPアドレスを設定します。下記のコマンドで確認できます。

[Windowsのコマンドプロンプト]
route print -4
-----------------------------------------------------------------------
0.0.0.0           0.0.0.0        192.168.1.1
-----------------------------------------------------------------------

[Macのターミナル]
netstat -rn -f inet | grep default
-----------------------------------------------------------------------
default            192.168.1.1       
-----------------------------------------------------------------------

Routerのデフォルトルートが設定されたことを確認します。

show ip route
Routerのルーティング設定確認

隣接機器にPingを実施し、疎通可能であることを確認します。

ping 192.168.1.1
ping 172.16.0.1
隣接機器へのPing確認

インターネット内とAWSのトンネルインターフェースの外部IPアドレスにPingを実施し、疎通可能であることを確認します。

ping 8.8.8.8 ※Googleが提供している「Google Public DNS」のIPアドレス
ping X.X.X.X ※AWSのトンネルインターフェースの外部IPアドレス
インターネットとAWSへのPing確認

CMLのVPN設定

AWSの「サイト間のVPN接続」から設定のサンプルをダウンロードできます。
「設定のダウンロード」をクリックします。

VPN設定のダウンロード画面へ遷移

ベンダーは「Cisco Systems, Inc.」、プラットフォームは「Cisco ASR 1000」を選択し、ダウンロードをクリックします。

VPN設定のダウンロード

ダウンロードした設定サンプルから、今回は必要最低限の下記を設定します。AWSのVPN接続は、デフォルトでトンネルインターフェースが2つ作成されますが、片方のみ接続します。

*の部分はダウンロードしたテンプレート通りです。

crypto isakmp policy 200
  encryption aes 128
  authentication pre-share
  group 2
  lifetime 28800
  hash sha
exit

crypto keyring keyring-vpn-*******************
  local-address 192.168.1.100 ※ここはCML上のルーターのGi0/0のアドレスを指定
  pre-shared-key address ***.***.***.*** key *******************************
exit

crypto isakmp profile isakmp-vpn-*******************
  keyring keyring-vpn-*******************
  match identity address ***.***.***.*** 255.255.255.255
  local-address XXX.XXX.XXX.XXX ※ここは自身のグローバルアドレスを指定
exit

crypto ipsec transform-set ipsec-prop-vpn-******************* esp-aes 128 esp-sha-hmac 
  mode tunnel
exit

crypto ipsec profile ipsec-vpn-*******************
  set pfs group2
  set security-association lifetime seconds 3600
  set transform-set ipsec-prop-vpn-*******************
exit

interface Tunnel1
  ip address 169.254.27.178 255.255.255.252
  ip virtual-reassembly
  tunnel source 192.168.1.100 ※ここはCML上のルーターのGi0/0のアドレスを指定
  tunnel destination ***.***.***.*** 
  tunnel mode ipsec ipv4
  tunnel protection ipsec profile ipsec-vpn-*******************
  ip tcp adjust-mss 1379 
  no shutdown
exit

ip route 10.0.0.0 255.255.255.0 Tunnel1

Tunnel1が作成され、リンクアップしていることを確認します。

show ip int brief
Routerのインターフェース設定確認

AWSのEC2を配置したサブネット(10.0.0.0/24)向けのルーティングが追加されていることを確認します。

show ip route
Routerのルーティング設定確認

AWSのVPN接続のトンネルインターフェースにPingを実施し、疎通可能であることを確認します。
トンネルインターフェースのセグメント「169.254.27.176/30」は下記のようにアドレスがアサインされます。

169.254.27.176 ネットワークアドレス
169.254.27.177 AWS側のトンネルインターフェース
169.254.27.178 カスタマー側のトンネルインターフェース
169.254.27.179 ブロードキャストアドレス

ping 169.254.27.177
AWSのトンネルインターフェースへのPing確認

AWSのVPN接続の「トンネル詳細」を確認すると、Tunnel1のステータスが「アップ」になり、VPN接続が確立されています。

AWSのトンネルインターフェースのステータス確認

疎通確認

ServerからEC2に向けてPingを実施し、疎通可能であることを確認します。

ping 10.0.0.58
ServerからEC2へのPing確認

CML上のVPN-RouterのGi0/0側でキャプチャすると、暗号化されて送信されていることが分かります。

パケットキャプチャの確認

ルーターのステータス確認

フェーズ1(ISAKMP)のステータスを確認するには下記のコマンドを実行します。
stateが”QM IDLE”となっていれば、フェーズ1は成功しています。

show crypto isakmp sa

フェーズ2(IPSec)のステータスを確認するには下記のコマンドを実行します。
“pkts encrypt: “と”pkts decrypt: “の数値がカウントされていれば、暗号化通信が行われていることを示しています。

show crypto ipsec sa

ISAKMPのポート番号

通常、ISAKMPは、UDPの500番ポートが利用されますが、途中にNAT機器を挟んだ場合は、NATトラバーサル用の4500番ポートに変更されます。ルーターのWAN側インターフェースでアクセスリストによる制御を行う場合は、UDPの500番ポートと4500番ポートを許可するようにしましょう。

アクセスリスト上は、UDP/500は”isakmp”、UDP/4500は”non500-isakmp”として表示されます。(以下は例として送信元を”ANY”としていますが、実際には対向のグローバルIPアドレスを指定します。)

これで、AWSサイト間VPN接続のためのCML構築は完了です!

【前回】AWSサイト間VPNの構築(3.AWSのVPN構築)
【次回】AWSサイト間VPNの構築(5.暗号化・ハッシュアルゴリズム変更)

  • URLをコピーしました!
  • URLをコピーしました!
目次