【前回】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のネットワーク構成](https://infrastructure-engineer.com/wp-content/uploads/2021/08/001-3-1024x266.png)
CMLの構築
AWSのサイト間VPN接続の検証のためにCMLを構築します。
CMLの基本設定
Server、IOSv(VPN-Router)、ExternalConnectorを配置します。
RouterのGi0/0をExternalConnectorに、Gi0/1をServerに接続します。
![CMLのノードの配置](https://infrastructure-engineer.com/wp-content/uploads/2021/08/300-0-1-1024x647.jpg)
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の設定](https://infrastructure-engineer.com/wp-content/uploads/2021/08/300-1-1024x647.jpg)
ExternalConnectorは、「EDIT CONFIG」で「BRIDGE」を選択します。
※CMLの外部ネットワーク接続の詳細はこちらで説明しています。
![External Connectorの設定](https://infrastructure-engineer.com/wp-content/uploads/2021/08/300-2-1024x647.jpg)
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のインターフェース設定確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/303-1-1024x645.jpg)
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のルーティング設定確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/304-1-1024x646.jpg)
隣接機器にPingを実施し、疎通可能であることを確認します。
ping 192.168.1.1
ping 172.16.0.1
![隣接機器へのPing確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/305-1024x645.jpg)
インターネット内とAWSのトンネルインターフェースの外部IPアドレスにPingを実施し、疎通可能であることを確認します。
ping 8.8.8.8 ※Googleが提供している「Google Public DNS」のIPアドレス
ping X.X.X.X ※AWSのトンネルインターフェースの外部IPアドレス
![インターネットとAWSへのPing確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/306-1-1024x646.jpg)
CMLのVPN設定
AWSの「サイト間のVPN接続」から設定のサンプルをダウンロードできます。
「設定のダウンロード」をクリックします。
![VPN設定のダウンロード画面へ遷移](https://infrastructure-engineer.com/wp-content/uploads/2021/08/301-1024x378.jpg)
ベンダーは「Cisco Systems, Inc.」、プラットフォームは「Cisco ASR 1000」を選択し、ダウンロードをクリックします。
![VPN設定のダウンロード](https://infrastructure-engineer.com/wp-content/uploads/2021/08/302-1024x461.jpg)
ダウンロードした設定サンプルから、今回は必要最低限の下記を設定します。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のインターフェース設定確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/307-1-1024x645.jpg)
AWSのEC2を配置したサブネット(10.0.0.0/24)向けのルーティングが追加されていることを確認します。
show ip route
![Routerのルーティング設定確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/308-1-1024x646.jpg)
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確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/309-1024x646.jpg)
AWSのVPN接続の「トンネル詳細」を確認すると、Tunnel1のステータスが「アップ」になり、VPN接続が確立されています。
![AWSのトンネルインターフェースのステータス確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/310-1024x359.jpg)
疎通確認
ServerからEC2に向けてPingを実施し、疎通可能であることを確認します。
ping 10.0.0.58
![ServerからEC2へのPing確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/311-1024x646.jpg)
CML上のVPN-RouterのGi0/0側でキャプチャすると、暗号化されて送信されていることが分かります。
![パケットキャプチャの確認](https://infrastructure-engineer.com/wp-content/uploads/2021/08/312-1024x647.jpg)
ルーターのステータス確認
フェーズ1(ISAKMP)のステータスを確認するには下記のコマンドを実行します。
stateが”QM IDLE”となっていれば、フェーズ1は成功しています。
show crypto isakmp sa
![](https://infrastructure-engineer.com/wp-content/uploads/2021/08/316-1024x647.jpg)
フェーズ2(IPSec)のステータスを確認するには下記のコマンドを実行します。
“pkts encrypt: “と”pkts decrypt: “の数値がカウントされていれば、暗号化通信が行われていることを示しています。
show crypto ipsec sa
![](https://infrastructure-engineer.com/wp-content/uploads/2021/08/317-1024x647.jpg)
ISAKMPのポート番号
通常、ISAKMPは、UDPの500番ポートが利用されますが、途中にNAT機器を挟んだ場合は、NATトラバーサル用の4500番ポートに変更されます。ルーターのWAN側インターフェースでアクセスリストによる制御を行う場合は、UDPの500番ポートと4500番ポートを許可するようにしましょう。
![](https://infrastructure-engineer.com/wp-content/uploads/2021/08/313-1024x542.jpg)
![](https://infrastructure-engineer.com/wp-content/uploads/2021/08/314-1024x542.jpg)
アクセスリスト上は、UDP/500は”isakmp”、UDP/4500は”non500-isakmp”として表示されます。(以下は例として送信元を”ANY”としていますが、実際には対向のグローバルIPアドレスを指定します。)
![](https://infrastructure-engineer.com/wp-content/uploads/2021/08/315-1024x646.jpg)
これで、AWSサイト間VPN接続のためのCML構築は完了です!
【前回】AWSサイト間VPNの構築(3.AWSのVPN構築)
【次回】AWSサイト間VPNの構築(5.暗号化・ハッシュアルゴリズム変更)