はじめに
Azureで利用できる仮想ルーターを探している人もいると思います。その中の一つであるFortinet FortiGate Next-Generation Firewallを紹介します。Fortigateは物理UTMとしても人気があります。もともとJuniper(元NetScreen)の人が作った会社で、日本語化もいち早く行い、ブラウザでの設定が容易なUTMでした。まや、他の機種に比べ、比較的安価でした。
料金
冗長化しないでシングルで動作させるなら下記の料金。
BYOL
- すでにライセンス持ってる人、もしくは購入する人向け
PAYG 30日評価版つき(VM毎なのか、アカウント毎なのか分かりませんでした。
- 1 vCPU - $0.30/hr
- 2 vCPU - $0.73/hr
- 4 vCPU - $0.85/hr
- 8 vCPU - $1.96/hr
- 16 vCPU - $2.74/hr
- 32 vCPU - $3.42/hr
これ以外に仮想マシン、ストレージ、ネットワークの料金なと掛かります。
デモ環境
デモ環境はSingle VMで動作、そしてVPNで別VNetにあるシステムにアクセスしてみます。
VPNはIPSecで接続します。
VNet1にはFortiGateと踏み台を設置します。
対向にあるVNet2には仮想ネットワークゲートウェイと仮想マシンを設置します。
FortiGate
MarketplaceからFortinet FortiGate Next-Generation Firewall を検索してSingle VMで作成します。
必要項目を入力します。
- FortiGate administrative username:任意
- FortiGate password:任意
- Confirm password:パスワード確認
- FortiGate name prefix:任意
- FortiGate Image SKU:Pay As You Go
- FortiGate Image Version:lates
課金は従量制を選択しています。
仮想マシンのインスタンスサイズを選択します。今回は費用削減のため1vCPUを選択しています。
1vCPUを選択した場合には、高速ネットワークの設定をDisableにします。例えばDS1_v2では高速ネットワーク自体には対応しています。しかしNICは2個作成できるうち1個のみこれに対応できるためです。
対応インスタンスサイズは下記を参考にしてください。
-
Instance type support | FortiGate Public Cloud 7.0.0 | Fortinet Document Library
docs.fortinet.com
パブリックIPアドレスを作成します。
その他の設定はそのままで変更しません。
FortiGateにはWebUIが用意されているのでアクセスしてみます。
FortiGateの仮想マシンにアクセスします。httpsでアクセスします。
ログインできることを確認します。
以上で、Fortinet FortiGate Next-Generation Firewall の構築は完了です。
対向:仮想ネットワークゲートウェイと仮想マシンの作成
今回は検証の対抗として別のAzure VNetの仮想ネットワークゲートウェイを利用しIPSecで接続したいと思います。
この設定については詳しく説明しません。
標準的な構成です。
ローカルネットワークゲートウェイを作成します。
これはVPN接続先の情報を設定します。
次に接続の追加を行います。
仮想マシンも同VNetに作成しておきます。
これで対向となる環境構築は完了です。
Fortinet FortiGate Next-Generation Firewallの設定
ログインします。
ログイン後、設定します。
ダッシュボードの設定
ファームウェアのアップグレードをします。
アップグレードします。
完了後に再起動されます。
再起動後に日本語設定にします。
VPN設定
VPNセットアップを行います。
カスタムのテンプレートを指定します。
- 名前:任意
この項目はAzureの仮想ネットワークゲートウェイに接続するための情報を入力します。
- IPアドレス:仮想ネットワークゲートウェイのIPアドレスを入力します。
- インターフェース:port1
- NATトラバーサル:無効
- デットピア検出:アイドル時
- 方式:事前共有鍵
- 事前共有鍵:Azure側で設定した共有鍵
- IKEバージョン:2
フェーズ1プロポーザル
- 暗号化:AES256
- 認証:SHA1
- Diffine-Hellmanグループ:2
- 鍵の有効時間:28800
フェーズ2セレクタ
- 暗号化:AES256
- 認証:SHA1
- オートネゴシエーション:オン
この時点では接続されずにエラーが出ます。
次の工程で接続できるようになります。
ポリシー&オブジェクト
FWのポリシーを作成します。
- 着信インターフェース:port2
- 発信インターフェース:VPNのコネクタ
- 送信元:all
- 宛先:all
- スケジュール:always
- サービス:ALL
- アクション:許可
- NAT:オフ
この時点で、VPNが接続されます。
また双方向での通信を行うためにはInbound側の設定も行う必要があります。
- 着信インターフェース:VPNのコネクタ
- 発信インターフェース:port2
- 送信元:all
- 宛先:all
- スケジュール:always
- サービス:ALL
- アクション:許可
- NAT:オフ
これらはすべて許可してるため細かな設定が必要な場合は個別に行ってください。
スタティックルート
スタティックルートを作成します。
- 宛先:対向のセグメントを指定
- インターフェース:VPNコネクションを指定
以上ですべての作業は完了です。
接続確認
接続確認にはFortiGateと同じVNetのProtectedSubnetの仮想マシンからPingを打って確認します。
ここで問題が発生します。ProtectedSubnetは外部から接続することができません。
そこでルーティング(UDR)の設定を一部変更して外部から接続を受け付けられるようにします。
これまで設定したFortiGate内部の動作は下記のようになります。
そこで、UDRも下記のように変更します。
- 0.0.0.0/0→インターネット
- 172.16.1.0/24→FG(10.0.5.4)
設定後のUDR
これでProtectedSubnetに作成して仮想マシンにログインします。
疎通確認をします。
対向側からも確認します。
問題なく行えることが確認できました。
以上で今回の検証は完了です。
まとめ
FortiGateのVPN設定の検証は完了です。VPN接続のために利用するのも良いかもしれませんし、FortiGateはUTMでFW機能など利用することが可能です。トラフィックの少ないライトなFirewallで利用したい場合はAzure Firewallより安いかもしれません。その他にもクライアントVPNにも対応できるなどの利用方法も考えられます。