自宅と Azureを VPN接続してみた (Ciscoルータ編)
はじめに
コンサルティング部の川原です。
以前 自宅とAWSのサイト間VPN環境を構築しました。
次は オンプレ環境(自宅) のCiscoルータと Azureのサイト間VPN接続環境 を構築してみます。
概要
構成図
使っていないPPPoE接続 1セッションをAzureとのVPN接続に利用します。
- オンプレ側ルータ: Cisco C841M
- サブネット: オンプレ(自宅)側: 192.168.10.0/24
- サブネット: Azure側: 10.0.0.0/24
- 動的ルーティング(BGP): 使用しない
手順
- Azure: 各種リソース作成
- オンプレ(自宅): CiscoルータのVPN設定
- VPN接続確認
Azure: 各種リソース作成
- 仮想ネットワーク、サブネット作成
- 仮想ネットワークゲートウェイ作成
- VPN接続作成
の順番で作成していきます。 作成手順詳細は以前の AWS–Azure間VPN記事を参照ください。
1. 仮想ネットワーク、サブネット作成
仮想ネットワーク (10.0.0.0/16), サブネット (10.0.0.0/24), ゲートウェイサブネット (10.0.254.0/24) を準備します。
以前に作成していたリソースを使います。
2. 仮想ネットワークゲートウェイ作成
ゲートウェイサブネット内に仮想ネットワークゲートウェイを準備します。 新規作成する場合はデプロイ完了まで少し時間がかかります。
既に作成していたリソースを使います。
3. ローカルネットワークゲートウェイ作成
自宅側ゲートウェイ情報を作成します。BGP使用のチェックは外します。
- IPアドレス: 自宅側グローバルIPを記入
- アドレス空間: 自宅側サブネット (192.168.10.0/24) を記入
4. VPN接続作成
VPN接続リソースを作成します。
オンプレ(自宅): CiscoルータのVPN設定
まずは Ciscoルータに流し込むConfigを取得します。
作成したVPN接続リソースから 構成のダウンロード
を選択します。
▼構成テンプレートをダウンロードします。
▼構成テンプレートは以下のようなテキストファイルです。
各項目のConfigを確認しながらCiscoルータへ入れていきます。
- ACL rules: オンプレ⇔Azure間通信、および IKE・IPsec 通信を許可するConfig。 トラフィック制限を適用している場合は、これらのルールを入れる。
- IKE configuration: IKE フェーズ1 のConfig
- IPsec configuration: IKE フェーズ2 のConfig
- Tunnel interface configuration: トンネルインターフェイスのConfig。 トンネルインターフェイス番号が既存のものと被っている場合は適宜変更する。
- Static routes: VPN対向側 (今回は Azure VNet: 10.0.0.0/16) に向かう静的ルーティングのConfig。
VPN接続確認
VPN接続確認のため、自宅・Azure側それぞれにマシンを配置します。
Azure側の仮想マシンにはパブリックIPは付与せず、
自宅側(192.168.10.0/24) からの RDP通信
を許可 するネットワークセキュリティグループを適用させます。
- 自宅側: ノートPC (192.168.10.30)
- Azure側: WindowsServer2016 仮想マシン (10.0.0.4)
Azureポータル上で確認
作成した VPN接続リソースを見てみます。状態が 接続済み となっていればOKです。
Ciscoルータ コンソール上で確認
IPsec通信を構成する 2つのフェーズ (IKEフェーズ1, IKEフェーズ2) が成功しているか確認します。
- IKEフェーズ1
Ciscoルータ コンソールで
show crypto ikev2 sa
を実行します。RO#show crypto ikev2 sa IPv4 Crypto IKEv2 SA Tunnel-id Local Remote fvrf/ivrf Status 1 X.X.X.X/500 Y.Y.Y.Y/500 none/none READY <-- Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK Life/Active Time: 3600/746 sec
対象のトンネルの Statusが READY となっていれば OKです。
-
IKEフェーズ2
次は
show crypto ipsec sa
を実行します。RO#show crypt ipsec sa interface: Tunnel11 ︙ current_peer X.X.X.X port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 149, #pkts encrypt: 149, #pkts digest: 149 <-- #pkts decaps: 107, #pkts decrypt: 107, #pkts verify: 107 <-- ︙ inbound esp sas: ︙ Status: ACTIVE(ACTIVE) <-- outbound esp sas: ︙ Status: ACTIVE(ACTIVE) <--
2つの Tunnelのステータスを確認します。
#pkts encaps: X, #pkts encrypt: X, #pkts digest: X
の X がカウントされていること#pkts decaps: Y, #pkts decrypt: Y, #pkts verify: Y
の Y がカウントされていることinbound/outbound esp sas:
のステータスが ACTIVE になっていること
RDPで確認
自宅ノートPCからAzure側仮想マシンにRDPしてみます。
ポータル上の 接続 → RDPファイルのダウンロード
からプライベートIP (10.0.0.4) に対して
RDPを行うファイルをダウンロードします。
▼接続してみます。
無事 仮想マシンに対してプライベートIPでRDPできました。
おわりに
以上、Azureと自宅のサイト間VPNでした。 これで AWS, Azure, 自宅の3拠点間VPNができますね!
- 自宅 ⇔ Azure: この記事
- 自宅 ⇔ AWS: 自宅とAWSをVPN接続してみた (Ciscoルータ編)
- Azure ⇔ AWS: Azure ⇔ AWS間のサイト間VPNを試してみる