LoginSignup
3
3

More than 3 years have passed since last update.

Azure Virtual WANを試す(Barracuda CloudGen Firewall編)

Last updated at Posted at 2019-02-05

はじめに

Azure Virtual WANが2018年9月にGAしていましたが、Barracuda CloudGen Firewall(以下CGFW)の実機F18をお借りできたのでお試しました。

誤解を恐れずにAzure Virtual WANの事を整理すると既存のAzure VPN Gatewayを使いやすくパッケージ化したものです。

AzureにあるVirtual Networkへの接続にはVirtual Network Peeringを使っているのですが、この辺の接続の操作もAzure Virtual WANの中のメニューから1発で設定できるため、オペレータの操作が簡単になります。

オンプレミス側のルータがAzure Virtual WANの対応機器の場合、Azure Virtual WANへの接続設定が自動で行えるという機能があり、Barracuda CGFWはこれに対応しています。

今回は以下のような構成で、オンプレミス側のLANからAzure Virtual WANを利用してAzure仮想ネットワーク上のLinux仮想マシンにつなげてみます。
image.png

Azure Virtual Wan事前準備

まずはAzure Virtual Wanの準備と、Azure側の仮想マシン環境を作成します。

Azure Virtual WANリソースの作成

Azureポータルから「+リソースの作成」でフィルタ項目に「wan」と入力して、一覧から「Virtual WAN」を選択して作成します。
名前とリソースグループは適当に選択します。
image.png

ハブの作成

Virtual WANリソースのメニューから「ハブ」を選んで作成します。
この際にリージョンの指定を行いますが、本記事執筆時点(2019/2)では以下の制限があります。

  • 複数のハブを作成しても相互接続できない
  • Azure仮想ネットワークとのピアリングは同一リージョンでないとだめ(グローバルVNETピアリングが使えない)

他にハブ自身にもネットワーク空間を割り当てる必要があるので、アドレス設計は慎重に。
こちらはVPNゲートウェイを内部的に作成するため、完了までに30分くらいかかります。

image.png

Azure仮想ネットワーク及び仮想マシンを作成

いつもの手順で仮想ネットワークと仮想マシンを作成します。今回は仮想マシンはCentOS 7.5を利用しました。
仮想ネットワークのアドレス空間は192.168.0.0/24で作成します。オンプレ、Azure Virtual WANのハブのアドレス空間と重複しないように注意します。

image.png

Azure仮想ネットワークをハブにピアリング

Virtual WANリソースのメニューから「仮想ネットワーク接続」を選んで作成します。
「+接続の追加」から先に作成した仮想ネットワークをハブに関連付けます。
仮想ネットワークとハブが同一リージョンでないと関連付けできないので注意してください。

image.png

VPN接続登録用のアプリケーションIDの準備

オンプレミス上のCGFWの管理画面から直接Azureに接続してVPN接続に必要な各種情報を設定・取得する必要があり、その為にAzureサブスクリプションが紐付いているAzure Active Directory(以下AAD)に新たなアプリケーションIDを用意する必要があります。

新しいアプリケーションの登録

Azureポータル画面からAADを選択し、「アプリの登録」「+新しいアプリケーション登録」をクリックします。
image.png

「名前」は適当に(今回はvwanoperator)、「アプリケーションの種類」は「Webアプリ/API」を選択します。
サインオンURLは実際には使いませんのでAAD上の他のアプリケーションと重複しないURLを入力します。
image.png

「設定」メニューで表示される「アプリケーションID」は後でCGFWからAzure Virtual Wan接続時に使用するので控えておきます。
image.png

サービスプリンシパルの作成

続いて先の画面の「設定」をクリックします。
設定ブレードの「キー」をクリックして、新たなパスワードを作成します。
「説明」のキー名は適当に、「有効期限」もとりあえず1年にしました。
最後に「保存」を押すと、「値」としてアプリケーションIDのパスワードが表示されるので、こちらも控えておきます。
image.png

テナントID、サブスクリプションIDの確認

AzureポータルからAAD画面の「プロパティ」をクリックして表示される「ディレクトリID」を控えます。
これは「テナントID(Tenant ID)」とも呼ばれています。
image.png

Azureポータルから「サブスクリプション」画面に表示されるサブスクリプション一覧から、Azure Virtual Wanが作成されているサブスクリプションの「サブスクリプションID」を控えておきます。

サブスクリプションにIAMの追加

Azure Virtual Wanが作成されているサブスクリプションに対して、先に作成したアプリケーションIDを「共同作成者」として追加します。

サブスクリプション画面から「アクセス制御(IAM)」をクリック、「+ロールの割当の追加」にて、「役割」に「共同作成者」、「アクセスの割当先」には「Azure ADのユーザ、グループ、サービスプリンシパル」を選択、「選択」欄に先に作成したアプリケーションの名前を入力すると下部に一覧で表示されるので、それを選択後に「保存」をクリックします。
image.png

正しく共同作成者の部分に先に追加したアプリケーションが登録されていることを確認します。
image.png

オンプレ機器の準備

今回はF18を利用します。詳細手順は省略しますが、オンプレ側の適切なネットワーク配下で内部のルーティング等が正常に設定されており、管理ツール(FirewallAdmin.exe)から設定変更が行える必要があります。

この先の説明では、管理ツールの具体的な使用方法は割愛します。各種設定追加・変更の操作について基本的な事は知っている前提となります。

CGFWは2019/2/1時点で最新の以下のファームウェアを使用しました。必要に応じてファームウェアのアップデート(+Hotfixの適用)を行ってください。

Firmware Version : 7.2.3-161
+ Hotfix 896
+ Hotfix 897

image.png

CGFW側のインターネット接続設定

こちら、詳細は省略しますが、適切な手順でインターネット接続を行います。
私はF18のp4ポートにフレッツ光のONUを接続して、PPPoEによる接続を行っています。
WAN側のグローバルIPアドレスは固定化されている必要があります。お使いのプロバイダのプランにて固定IPオプションなどがあればそれを有効化します。
[CONTROL]->[Network]にてインターネットへの接続が正常に行われていることを確認します。
image.png

CGFW側のVPN設定

クライアントPCからFirewallAdminのexeファイルを実行して、CGFWの管理画面にログインします。

[CONFIGURATION]->[Service Properties - VPN(VPN Service)]画面にて、「Enable Service」が有効になっていない場合は「Yes」に変更します。
image.png

[CONFIGURATION]->[VPN Settings - VPN(vpn)]->「Click here for Server Settings」画面内の[Advanced]タブにて、「Use IPSec Dynamic IPs」を「Yes」にします。こちらはPPPoEなどでインターネット接続している場合には必須の設定です。
もし「Start IKEv2」がNoのままの場合は「Yes」に変更します。
image.png

Azure Virtual WanへのVPN接続自動設定

ここからがAzure Virtual Wanの肝となる機能のひとつである、Site to Site VPNの接続とそれに関連するBGPによるルーティング設定の自動化となります。

CGFWからAzure Virtual Wanへの接続要求

[CONTROL]->[BOX]->[Connect to Virtual Wan]メニューを開き、Tenant ID(ディレクトリID)、SUbscription ID、User ID(アプリケーションID)、Password(アプリケーションパスワード)欄に先に控えた各種内容を入力します。
「Virtual Wan Name」にはAzure側で作成したAzure Virtual Wanの名前を入力します。こちらの名前は大文字小文字区別しますので正確に入力します。
最後に「Connect」をクリックして、接続開始です。、
image.png

Azure側に(存在しない場合には)Configファイルやり取り用のストレージアカウントが作成され、Azure側から接続情報のjsonファイルが作成されるのを待ちます。
image.png

VPNサイトをハブに関連付け

Azureポータル上のAzure Virtual Wanの画面にて「VPNサイト」をクリックすると、一覧に先に登録したCGFWが表示されるので、選択後「+新しいハブの関連付け」をクリックします。
image.png

「ハブ」に先に作成したAzure Virtual Wanのハブを選択、PSKは省略して大丈夫です。
最後に「関連付けの追加」をクリックします。
image.png

CGFW側の完了確認

CGFWの管理画面に戻り、[CONTROL]->[BOX]->[Check Connection Status]メニューを開くとログが更新されています。
InfoレベルでSite to Site VPN及びBGP関連がSuccessと出力されていることを確認します。
(なんだかConfigファイルをストレージアカウントから削除できないとエラーも出ていますが、特に弊害なさそうなので今回はスルーします)
image.png

VPN設定確認

[VPN]->[Site-to-Site]で確認すると、Azure Virtual Wanに2本接続が作成されていることが確認できました。
image.png

無論Azureポータル上からもVPN接続状態が「接続済み」になります。
image.png

[CONFIGURATION]->[Site to Site - VPN(vpn)]画面から「IPsec IKEv2 Tunnels」のタブを開くと自動設定されたVPN設定の一覧が表示されるので、いずれか一つの設定を確認します。
image.png

「Network Settings」内の「Interface Index」の値を控えておきます。
これはCGFW側に複数のVPN接続設定が存在する場合に不定となる値っぽいのですが、この後にCGFWのFirewallルール追加する際に必要となります。
image.png

BGPの設定確認

[CONFIGURATION]->[OSPF/RIP/BGP Settings - VWAN-BGP(OSPF-RIP-BGP-Service)]から「Operational Setup」画面を確認すると、ちゃんとBGPのサービスが有効になっています。
image.png

「BGP Router Setup」画面にて、BGP Router Configurationの「Networks」にオンプレミス側のCIDRを必要なだけ(疎通させたいセグメント)追加します。
こちらを追加することで、オンプレミス側のルーティング情報をBGP経由でAzure Virtual Wan側に広告させることができます(逆にこちらを指定しないとSite to Site VPN接続が正常でも疎通できません)。
image.png

Azure Virtual Wanからのルーティング情報は[CONTROL]->[Network]にて「BGP」タブから確認することができます。
ちゃんと経路交換ができているっぽいですね。
image.png

CGFWのFirewallルール追加

Firewall Objectの作成

先に「IPsec IKEv2 Tunnels」にて「Network Settings」内の「Interface Index」の値を確認しましたが、こちらが「1」の場合、CGFWの論理インタフェース名は「vpnr1」となるようです。
オンプレミスからはこのvpnr1宛の通信に関してのみ許可するFirewallルールを作成したいので、まずはFirewall Objectを作成します。
[CONFIGURATION]->[Forwarding Rules - NGFW(Firewall)]からFirewall Objectsの「Network」を開き、新たなオブジェクトを作成します。
image.png

Firewallルールの有効化

[CONFIGURATION]->[Forwarding Rules - NGFW(Firewall)]からAccess Ruleを開き、デフォルトの「LAN-2-VPN-SITE」を編集します。
「Deactivate Rule」のチェックを外し、「Destination」には先に作成したvpnr1 0.0.0.0/0を指定したFirewall Objectを指定します。
image.png

Firewallルールが有効化されていることを確認します。
image.png

接続確認

予めAzure側(192.168.0.0/24)上にLinux Serverをデプロイして、Apacheをインストールしておきました。

$ sudo yum install httpd –y
$ sudo systemctl start httpd.service

オンプレミス側のPCのブラウザからでhttp://192.168.0.4/ でAzure側のApacheに接続出来たことを確認します。
image.png

CGFW管理画面からも[FIREWALL]->[Live]で該当の通信が正常に通っていることが確認できます。
image.png

おわりに

Azure Virtual Wanの自動設定ですが、事前にCGFの基本設定(インターネット接続など)が済んでいれば、面倒なSite to Site VPN接続パラメータの入力、更に難解なBGPの設定が自動で行われるためかなり簡略化することができました。

今回はなかなか簡単に個人では利用できない物理CGFWを使う機会があり、検証としては有益でした。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3