サーバがクラウド環境へ移行されるなか、オンプレ環境とクラウド環境間を安全に接続するのに、インターネット経由したVPN(IPSec)接続がよく使われます。今回は、Azure上にあるマシンとFortigateをIPSec接続する手順と動作を確認します。

また、MSSの設定は、この記事では扱いませんので、下記を参照ください。
>> 参考記事 : サイト間IPSec設定(PPPoE網間接続)と動作確認Azure側の設定
Azureに新規でリソースグループを作成し、必要な仮想ネットワーク、仮想マシン、仮想ネットワークゲートウェイなどを設定していきます。
リソースグループの作成
Azureポータルより、リソースグループ を新規作成します。(リソースグループ >> 作成)

- リソースグループ:任意の名前。今回は、fortigate_ipsec_testとします。
- リージョン:任意のリージョンを指定。今回は、西日本リージョンを選択。
仮想ネットワーク
Azureポータルより、仮想ネットワークを新規作成します。(仮想ネットワーク >> 作成)

- リソースグループ:すでに作成したfortigate_ipsec_testを選択。
- 名前:任意の名前。今回はIPSec-TESTとします。
- 地域:リソースグループと同じ西日本を選択。
仮想ネットワークの作成で、アドレス空間全体とその中で使用するサブネットを設定します。今回は、172.16.0.0/16 を全体のアドレス空間とし、その中で、172.16.1.0/24のサブネットを作成し、仮想マシンを配置します。

ゲートウェイサブネット
仮想ネットワークゲートウェイを配置するサブネットとして、ゲートウェイサブネットを作成します。(設定 >> サブネット>> ゲートウェイサブネット)今回は、172.16.0.0/16の中から、172.16.255.0/24を割り当てます。

サブネットは下記のとおり、合計2つ設定することになります。

仮想マシンの作成
172.16.1.0/24上に仮想マシンを作成します。(仮想マシン >> 作成)今回はWindowsサーバを構成します。

- リソースグループ:fortigate_ipsec_testを選択
- 仮想マシン名:任意の名前。今回はVM-1とします。
- 地域:西日本を選択
- イメージ;Windows Server 2019でsmalldisk版を選択。
- サイズ:任意のサイズを選択
- 管理アカウント:ログオンIDとパスワードを設定

- 仮想ネットワーク:すでに作成したIPSec-TESTを選択
- サブネット:172.16.1.0/24を選択
- パブリックIP:名前に(新規)とついたものを選択
作成すると、下記のパブリックIPアドレスが付与され、RDPにより接続できるようになります。あとで、Pingによる疎通テストをするため、RDPでログインし、ファイアウォール機能を無効にしておきます。

仮想ネットワークゲートウェイ(VPN ゲートウェイ)
FortigateからのIPSec接続を受け付けるゲートウェイとして、仮想ネットワークゲートウェイを作成します。(仮想ネットワーク ゲートウェイ >> 作成)

- 名前:任意の名前。今回はVPNGWとします。
- 地域:西日本を選択
- ゲートウェイの種類:VPNを選択
- SKU:VpnGw1を選択
- 世代:Generation1を選択
- 仮想ネットワーク:すでに作成したIPSec-TESTを選択
バブリックアドレスは新規作成します。

下記のとおり、仮想ネットワーク ゲートウェイが作成されます。パブリックIPが自動で割り当てられます。104.215.26.101 が FortigateからみたIPSecのトンネル先になります。

ローカル ネットワークゲートウェイ
Fortigate側のWANアドレスやローカルサブネットを定義するローカル ネットワーク ゲートウェイ を作成します。(ローカル ネットワーク ゲートウェイ >> 作成)

- リソースグループ:fortigate_ipsec_testを選択
- 地域:西日本を選択
- 名前:任意の名前。今回はLOC-GWとします。
- エンドポイント:IPアドレスを選択
- IPアドレス:FortigateのWAN側の固定IPアドレスを設定。今回は、54.178.26.101とします。
- アドレス空間:Fortigateのローカルサブネットを設定。今回は10.0.200.0/24とします。
接続先の追加
仮想ネットワークゲートウェイより、接続の追加により、共有キーなどを設定します。(仮想ネットワークゲートウェイ(VPNGW) >> 設定 >> 接続 >>追加)

- 名前:任意の名前。今回は、Fortigate-VPNとします。
- 接続の種類:サイト対サイト(IPSec)を選択
- 仮想ネットワークゲートウェイ:VPNGWを選択
- ローカルネットワークゲートウェイ:LOC-GWを選択
- 共有キー:事前共有鍵を設定(Fortigateとあわせる必要があります)
- IKEプロトコル:IKE2を選択
Fortigate側の設定
VPN設定
VPN >> IPSec ウィザードよりIPSecの設定をします。

- 名前:任意の名前。今回はAzure-VPNとします。
- テンプレートタイプ:カスタムを選択
設定後 次へをクリックします。

- リモートゲートウェイ:スタティックIPアドレスを選択
- IPアドレス:Azureの仮想ネットワークゲートウェイのパブリックIPアドレスである104.215.26.183を設定
- インターフェース:インターネット側のインターフェースを指定。
- NATトラバーサル:無効を選択
- デッドピア検知:アイドル時を選択

- 事前共有鍵:Azure側で設定した共有キーを設定
- IKE:バージョン2を指定
- フェーズ1プロポーサル:図の通り設定。AES256-SHA1、3DES-SHA1、AES256-SHA256
- Diffie-Hellmanグループ:2 を設定
- 鍵の有効時間(秒):28800 を設定

- フェーズ2プロポーサル:フェーズ1同様に設定。AES256-SHA1、3DES-SHA1、AES256-SHA256
- オートネゴシエーション:有効にすることで、切断時に自動的に再接続が試みられます。
ルーティング設定
ネットワーク >> スタティックルートより新規作成をクリックし、Azureのローカルサブネット(172.16.1.0/24)向けのスタティックルートを設定します。インタフェースは、トンネルインタフェース(Azure-VPN)です。

ファイアウォールポリシー設定
LANからトンネルインタフェース向けにポリシーを設定します。NATは無効とします。

下記のように設定されます。

ポリシー設定後、VPN >> IPSecトンネルを確認すると、トンネルインタフェース(Azure-VPN)がアップしていることが確認できます。

動作確認
端末(10.0.200.100)からAzure上の仮想マシン(172.16.1.4)への疎通を確認します。

ログ&レポート >> 転送トラフィックより、該当通信がIPSec用のポリシーを適用していることが確認できます。

コメント