VMware NSXのご紹介

実践!分散ファイアウォール設定!

こんにちは!VMware担当の笹崎です。
本コラムでは、VMware NSXの分散ファイアウォール設定手順を紹介します。

<分散ファイアウォール機能について>

<分散ファイアウォール機能の設定>

NSX Managerのデプロイから分散ファイアウォールのルールを設定するまでの手順を説明します。
手順は非常にシンプルで、下記 6 ステップで完了します。

  1. NSX Manager のデプロイ
  2. NSX Manager に vCenter Server を登録
  3. NSX for vSphere のライセンス割り当て
  4. ESXi に NSX コンポーネントをインストール
  5. 分散仮想スイッチ(vDS)の作成
  6. 分散ファイアウォールのルール設定

■環境説明

今回は、以下の vSphere 6.0 仮想環境に NSX Managerをインストールし、設定を行います。

  • VMware vSphere Hypervisor (ESXi) 6.0.0 Update 2 :インストール&設定済み
  • VMware vCenter Server 6.0.0 Update 2a :インストール&設定済み
    ※事前設定として、初期インストールと最低限必要なネットワーク情報(IPアドレス、DNS、NTP)を設定し、クラスタの作成をしています。
  • VMware NSX for vSphere 6.2.4 (NSX Managerのみ) : 新規インストール
    OVFファイルについては、2017/3/10時点最新版の6.3.1がダウンロードサイトに表示されますので、必要なバージョンに変更の上ダウンロードしてください。

参考までに、ESXi、vCenter Server、NSXが動作する組み合わせについては[VMware Product Interoperability Matrixes] で確認可能です。

また、NSX 6.2 のシステム要件は下記、製品マニュアルに記載があります。

赤枠が今回の構築範囲です。

1.NSX Managerのデプロイ

ESXi に NSX Manager のアプライアンスOVA ファイルをデプロイし、初期設定します。

まず、NSX ManagerのOVAファイルをダウンロードします。

※下記URLよりダウンロード可能です。(要MyVMwareアカウント)
※OVFファイルについては、2017/03/10時点最新版の6.3.1がダウンロードサイトに表示されますので、必要なバージョンに変更の上ダウンロードしてください。

vCenter ServerにWeb Clientでログインします。
[ホストおよびクラスタ]画面より、データセンターを右クリックし、[OVFテンプレートのデプロイ]をクリックします。

[ソースの選択]画面にて、[ローカル ファイル]にチェックを入れ[参照]ボタンをクリックします。

ダウンロードしたファイルを指定し、[開く]ボタンをクリックします。

[参照]ボタンの右側にファイルパスが表示されていることを確認し、[次へ]ボタンをクリックします。

[詳細の確認]画面にてテンプレートの内容を確認し、[次へ]ボタンをクリックします。

使用許諾契約書を確認したら[承諾]ボタンをクリックし、[次へ]ボタンをクリックします。

NSX Managerの名前(vCenter上で表示されるもの)を入力、データセンターを選択し、[次へ]ボタンをクリックします。

NSX Managerアプライアンスのデプロイ先(クラスタ、ホスト、vApp、またはリソースプール)を選択して、[次へ]ボタンをクリックします。

NSX Managerアプライアンスの仮想マシンファイルを配置するデータストアを選択し、[次へ]をクリックします。

NSX Manager が使用する管理用ネットワーク(ポートグループ)を指定します。

テンプレートのカスタマイズ画面にて、デフォルトの管理者ユーザー”admin”のパスワードとネットワークに関する情報(IP アドレス、ネットマスク、デフォルトゲートウェイ等)を設定します。

設定内容を確認し、[デプロイ後にパワーオン]にチェックを入れ、[完了]ボタンをクリックします。

NSX Managerが完全に起動したらリモートコンソールでCLIにログイン(ユーザ名:admin、パスワード:先ほど設定した値)し、“show interface”コマンドでネットワーク設定が正しいことを確認します。
これで「1.NSX Managerのデプロイ」は完了です。

なお、ネットワーク設定の修正は、CLI から “enable” コマンドで権限モードに移行(ログイン)してから、”setup”コマンドを実行することで可能です。

2.NSX ManagerにvCenter Serverを登録

先ほど設定した NSX Managerの IPアドレス、ユーザー名、パスワードを使ってNSX Manager管理画面(NSX Manager Virtual Appliance Management)に管理者権限でログインします。

ホーム画面より、「Manage vCenter Registration」をクリックします。

「Manage」タブ内の項目「vCenter Server」の右側にある”Edit”ボタンをクリックします。

登録するvCenter ServerのIPアドレス(or ホスト名)、ユーザー/パスワードを入力し、 [OK]ボタンをクリックします。

※“modify plugin script download location”のチェックは外したままにしておきます。
NSX Managerに代替IPアドレスが割り振られている環境ではチェックを入れる必要がありますが、非推奨です。

証明書に関する確認画面が出てきた場合は内容を確認して[Yes]ボタンをクリックして続行します。

登録が完了すると、vCenter Serverの情報が表示されます。
Status欄が「Connected」と表示されていれば正常に接続できています。

これで「2.NSX ManagerにvCenter Serverを登録」は完了です。

3.NSX for vSphereのライセンス割り当て

分散ファイアウォールを有効にするために、NSX のライセンスキーを準備します。
(「分散ファイアウォール」 機能を利用する場合は NSX Advanced もしくは Enterprise のライセンスが必要となります)

vSphere Web Clientにログインし、ホーム画面に移動します。
ナビゲータに「Networking and Security」が表示されていることを確認します。
(見えない場合はブラウザを再起動します。)

ナビゲータより「管理」をクリックします。

「管理」画面のナビゲータから[ライセンス]をクリックし、
右画面にて[資産]タブ⇒[ソリューション] をクリックします。

ライセンス画面内の表にて[NSX for vSphere]を選択した状態で、
表上部の一番左のボタン[ライセンスの割り当て]をクリックします。

[ライセンスの割り当て]画面にて表上部の一番左のボタン[新規ライセンスを作成]をクリックします。

[新規ライセンス]画面にてライセンスキーを入力して、[次へ]をクリックします。

ライセンス名(任意)を入力して、[次へ]をクリックします。

内容を確認して、[終了]をクリックします。

[ライセンスの割り当て]画面に戻り、新しく作成したライセンスを選択して[OK]ボタンをクリックします。

「資産」タブ内「ソリューション」画面にて、NSX for vSphereの製品欄が
正しいライセンス名に変わっていれば、正常にライセンス割り当てられています。
これで「3.NSX for vSphereのライセンス割り当て」は完了です。

4.ESXi に NSX コンポーネントをインストール

ESXi に、NSX コンポーネント(カーネルモジュールやエージェント)をインストールします。
なお、NSX は vCenter で定義されるクラスタ単位で管理されますので、必ずクラスタを構成する必要があります。

画面上部の[ホーム]アイコンをクリックし 、「Networking and Security」をクリックします。

ナビゲータより「インストール手順」画面を選択し、右画面で「ホストの準備」タブを開きます。
対象のクラスタの「インストールの状態」欄にマウスカーソルを合わせます。
枠内右側の歯車アイコンをクリックし、「インストール」をクリックします。

「インストールの状態」欄にNSXのバージョンが表示され、
「ファイアウォール」欄が”有効”になることを確認します。

これで「4.ESXiにNSXコンポーネントをインストール」は完了です。

5.分散仮想スイッチ(vDS)の作成

NSXのライセンスにはvDSが含まれており、NSX利用する場合はvDSの設定が必須です。
(vSSでも動作しますが、メーカーサポート外となります。)

ナビゲータにて[ネットワーク]タブを選択し、データセンターを右クリックし、
[Distributed Switch]⇒[新しいDistributed Switch…]をクリックします。

vDSの名前を入力し、[次へ]ボタンをクリックします。(今回はデフォルトの名前を使います)

[Distributed Switch: 6.0.0]にチェックを入れ、[次へ]ボタンをクリックします。

アップリンク数を”2”に変更し、それ以外はデフォルトのままにします。
※実際の環境に合わせて適宜変更してください。今回はアップリンクを2ポートとしています。
[次へ]ボタンをクリックします。

設定を確認して、[終了]ボタンをクリックします。

作成したvDSを右クリックし、[ホストの追加と管理…]をクリックします。

[ホストの追加]にチェックを入れ、[次へ]ボタンをクリックします。

[新規ホスト…]をクリックします。

ESXi 2台にチェックを入れ、[OK]ボタンをクリックします。

ESXi 2台が追加されていることを確認し、[複数のホストに同一のネットワーク設定を構成します (テンプレートモード)。]にチェックを入れ、[次へ]ボタンをクリックします。

テンプレート用のホストを選択し、[次へ]ボタンをクリックします。

[物理アダプタの管理(テンプレートモード)]にチェックを入れ、[次へ]ボタンをクリックします。

今回は、下記の通りアップリンクを割り当てます。※実際の環境に合わせて適宜変更してください。

vmnic2:Uplink 1
vmnic3:Uplink 2

[vmnic2]を選択し、[アップリンクの割り当て]をクリックします。

[Uplink 1]を選択し、[OK]ボタンをクリックします。

[vmnic3]を選択し、[アップリンクの割り当て]をクリックします。

[Uplink 2]を選択し、[OK]ボタンをクリックします。

テンプレート用のホストにアップリンクが割り当てられていることを確認し、[すべてに適用]をクリックします。

画面の下部にテンプレート用のホストと同じ設定内容が反映されたことを確認し、[次へ]をクリックします。

全体的な影響のステータスが[影響ありません]であることを確認し、[次へ]ボタンをクリックします。

設定を確認し、[終了]ボタンをクリックします。

各仮想マシンのvNICにvDSのポートグループを割り当てます。
ナビゲータの[ホストおよびクラスタ]画面にて[Guest-A] を右クリックし、[設定の編集]をクリックします。

[ネットワークアダプタ 1]にて、[DPortGroup (DSwitch)]を選択し、[接続中]にチェックが入っていることを確認し、[OK]ボタンをクリックします。

同様に[Guest-B]のvNICにもvDS上のポートグループを割り当てます。

これで「5.分散仮想スイッチ(vDS)の作成」は完了です。

6.分散ファイアウォールのルール設定

分散ファイアウォールにおけるルールの設定項目は以下の表の通りです。

vCenter Serverの管理単位であるオブジェクトを利用してルール設定できるため、
改めて管理単位を作る必要がないことが、NSX による分散ファイアウォールの特徴のひとつです。

分散ファイアウォールにて、必要な通信のみを許可(通過)し、その他の通信をブロック(遮断)することでマイクロセグメンテーションを実現します。

今回は、許可する通信を ICMP のみとして、実際に設定します。

画面上部の[ホーム]アイコンをクリックし、「Networking and Security」をクリックします。

ナビゲータから「ファイアウォール」を選択して、「構成」タブにて「全般」ボタンをクリックします。

[デフォルトルール]の[操作]欄の鉛筆マークをクリックします。

※セクションの先頭に追加された空のルールの各項目にマウスカーソルをあわせると鉛筆マークが表示されます。
鉛筆マークをクリックすると各項目の編集画面に遷移します。

操作の項目を[ブロック]に変更し、[保存]ボタンをクリックします。

画面上部の「変更の発行」ボタンをクリックし、変更内容を確定します。

この時点で、すべての通信がブロックされるようになりました。
[Guest-A]と[Guest-B]間で相互にPingが通らないことを確認してください。

次に、リソースプール「”Group A”内であればICMPのみ許可する」設定をします。
Pingの送信は続けてください。

[デフォルトのセクション]の右側の[ルールの追加]ボタンをクリックします。

追加したルールを編集します。
[名前]欄の鉛筆マークをクリックします。

ルール名に“Allow Ping From Group A to Group A”と入力し、[保存]ボタンをクリックします。

[ソース]欄の鉛筆マークをクリックします。

[オブジェクトタイプ]で[リソースプール]を選択して、ソースに設定可能なリソースプールをリストアップします。
[Group A]をダブルクリックして、右側の[選択したオブジェクト]に[Group A]を移動させます。
[OK]ボタンをクリックします。

[ターゲット]欄の鉛筆マークをクリックします。

[オブジェクトタイプ]で[リソースプール]を選択して、ターゲットに設定可能なリソースプールをリストアップします。
[Group A]をダブルクリックして、右側の[選択したオブジェクト]に[Group A]を移動させます。
[OK]ボタンをクリックします。

[サービス]欄の鉛筆マークをクリックします。

[オブジェクトタイプ]で[サービス]を選択し、直下の検索欄に”ICMP”と入力してオブジェクトを検索します。
[使用可能なオブジェクト]から[ICMP Echo]をダブルクリックして、右側の[選択したオブジェクト]に移動させます。
[OK]ボタンをクリックします。

[適用先]欄の鉛筆マークをクリックして、適用先を指定します。

[Distributed Firewallがインストールされているすべてのクラスタにこのルールを適用します。]
にチェックを入れ、[OK]ボタンをクリックします。

画面上部の「変更の発行」ボタンをクリックし、変更内容を確定します。
にチェックを入れ、[OK]ボタンをクリックします。

Pingの結果を確認してください。
[Guest-A]と[Guest-B]で相互にPingが通るようになりました。

次は、Web Clientを使って、仮想マシン[Guest-B]をリソースプール[Group A]から[Group B]に移動します。

[Group A]と[Group B]の通信は許可されていないため、Pingは通りません。

<まとめ>

NSXによる分散ファイアウォールの設定は、とてもシンプルですが、きめ細やかな設定ができることが大きな魅力です。
また、他のシステムと連携することでさらに便利に、強固なセキュリティを実現することが可能です。
例)

  • Active Directoryのログインユーザーベースで仮想マシンのFWルールを切り替える「Identity Firewall」
  • ウイルス対策ソフトとAPI連携することで、ウイルス感染した仮想マシンを自動的にネットワークから切り離す

ネットワーク仮想化とあわせて、仮想化環境のセキュリティ向上のために、ぜひVMware NSXの導入を検討してみてはいかがでしょうか。

VMwareの記事




※閲覧にはiDATEN(韋駄天)へのログインが必要です。