Skip navigation

NSX for vSphere の 分散ファイアウォール(DFW)の様子を、

vRealize Log Insight(vRLI)を利用してみてみます。

 

この投稿での利用製品と構成状態について。

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.1

 

この投稿の環境について。

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.2

 

それでは、vRLI で、DFW のログを見てみます。

 

DFW ルールでの、ログ出力の有効化。

まず DFW のファイアウォール ルールで、通信が Drop されたときにログが出力されるよう設定します。

この環境では デフォルト ルールを「ブロック」にしていて、明示的に通信を許可するルールを設定しない限り

このルールで通信が遮断されるようになっています。

そこで、この「デフォルト ルール」を編集して、Drop したときに「ログに記録」するようにしておきます。

 

まず「デフォルト ルール」の「操作」列のあたりで、編集ボタンをクリックします。

vrli-dfw-03-01.png

 

デフォルトでは「ログに記録しない」になっているので、「ログに記録」に設定変更します。

vrli-dfw-03-02.png

 

通信を発生させる。

Drop のログを出力するため、意図的に Drop される通信を発生させます。

今回は、vm01 (IP は 10.1.10.101)から ext-vm01(IP は 192.168.1.223)に、

curl で Web サーバ(TCP 80 番ポート)宛の通信を発生させてみます。

 

期待どおり、通信できない状態です。

root@vm01 [ ~ ]# ip a show eth0 | grep inet -m 1

    inet 10.1.10.101/24 brd 10.1.10.255 scope global dynamic eth0

root@vm01 [ ~ ]# curl 192.168.1.223:80

curl: (7) Failed to connect to 192.168.1.223 port 80: Connection timed out

 

vRLI ダッシュボードでのログ確認。

vRLI には NSX for vSphere のコンテンツパックをインストール済みなので、

「VMware NSX-vSphere」というダッシュボードが利用可能になっています。

 

まず、「Distributed Firewall - Overview」ダッシュボードを見てみます。

ログが転送される前には何も表示されませんが・・・

vrli-dfw-03-03.png

 

DFW 関連のログを受信すると、表示されます。

意図的に発生させた、通信が Drop されたログを受信できています。

デフォルト ルールで Drop されているので、ルール ID 1001 のカウントも上がっています。

vrli-dfw-03-04.png

 

「Distributed Firewall - Traffic」ダッシュボードでは、

「Firewall application ports denied」80 番ポート宛の通信が Drop されていそうなことが見られます。

一緒に 別の VM の NTP 通信(123 番ポート)も遮断されている様子が見えます。

vrli-dfw-03-05.png

 

ダッシュボードにはフィルタも設置されているので、

「vmw_nsx_firewall_src」で、通信元 IP アドレスを指定してフィルタリングしてみました。

「Firewall top sources」が指定した IP「10.1.10.101」のみに絞られ、

そこから 192.168.1.223 宛の 80 番ポートが DFW で遮断されていることが明確にわかります。

vrli-dfw-03-06.png

 

インタラクティブ分析 でのログ テキストの表示。

表示されているチャートにある「インタラクティブ分析 で開く」というボタンをクリックすると・・・

vrli-dfw-03-07.png

 

ダッシュボードのチャート表示で使用されていたフィルタ設定で、

インタラクティブ分析 画面に移動できます。

ここで、分析のもとになっている実ログのテキストを見ることができるので、

Drop を示すログ テキスト自体を確認することが可能です。

vrli-dfw-03-08.png

 

DFW 環境で期待どおり通信許可できているか(Drop されていないか)を

このようにダッシュボードや IP アドレスをもとにした検索から調査することができます。

個々の ESXi に直接ログインしてログ確認をするより便利ではないかと思います。

 

続く。

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.4

NSX for vSphere の 分散ファイアウォール(DFW)の様子を、

vRealize Log Insight(vRLI)を利用してみてみようと思います。

 

前回は、製品構成を説明しました。

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.1

 

今回は、実際に見てみる環境の概要を説明しておこうと思います。

 

ネットワーク構成と VM 配置。

下記のような簡易的なネットワーク環境を構成しました。

DFW が作用する通信を発生させるため、2台の Linux VM を

アクセス元 VM「vm01」と、アクセス先 VM「ext-vm01」として用意しました。

  • ext-vm01 (IP: 192.168.1.223)  ※Web サーバ
  • vm01(IP: 10.1.10.101)
  • 実際は他にも何台か VM あり。

 

DFW 環境内から外部の Web サーバ(Yum や GitHub なども)にアクセスするようなケースもあるかなと思い、

アクセス先の ext-vm01 では、Web サーバを起動してみました。

vrli-dfw-02-1a.PNG

 

ちなみに、ext-vm01 の Web サーバはただ nginx の Docker コンテナを起動しているだけです。

root@ext-vm01 [ ~ ]# ip a show eth0 | grep inet -m 1

  inet 192.168.1.223/24 brd 192.168.1.255 scope global dynamic eth0

root@ext-vm01 [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0

PHOTON_BUILD_NUMBER=62c543d

root@ext-vm01 [ ~ ]# systemctl start docker

root@ext-vm01 [ ~ ]# docker run -d -p 80:80 nginx

Unable to find image 'nginx:latest' locally

latest: Pulling from library/nginx

e6e142a99202: Pull complete

8c317a037432: Pull complete

af2ddac66ed0: Pull complete

Digest: sha256:72c7191585e9b79cde433c89955547685db00f3a8595a750339549f6acef7702

Status: Downloaded newer image for nginx:latest

925d315458f74068fba33a907e33e4690c448b25646cad585a9f4a766109f842

root@ext-vm01 [ ~ ]#

 

コンテンツも、ただ Welcome ページが置かれているだけです。

root@ext-vm01 [ ~ ]# curl -s 192.168.1.223:80 | head -n 4

<!DOCTYPE html>

<html>

<head>

<title>Welcome to nginx!</title>

 

通信経路と、利用するファイアウォール機能。

今回は、すでに vm01 と ext-vm01 が相互に通信可能になるようにルーティングしてある状態です。

NSX で利用できるファイアウォールは、2種類あります。

 

NSX Edge Service Gateway(ESG)の Edge Firewall

  • ESG の VM がもつファイアウォール機能。
  • ESXi は関与せず、ESG がファイアウォール仮想アプライアンスとして動作する。

分散ファイアウォール(DFW)

  • ESXi の VMkernel がもつファイアウォール機能。
  • DFW を有効にしているクラスタで起動する VM の vNIC で作用する。

 

どちらも vSphere Web Client の NSX 管理画面(Network and Security)から

設定変更することができます。

両方同時に利用することも、片方だけ利用することも可能です。

今回は、Edge Firewall は特に使用せず、DFW だけ扱います。

 

ちなみに、ESXi がもつ ESXi Firewall もありますが、これは VMkernel の通信を制御するもので、

基本的に VM の通信には作用しないファイアウォールです。

vrli-dfw-02-2a.PNG

 

DFW は、VM の vNIC で作用するファイアウォールなので、

ファイアウォールの動作(許可や拒否など)は、ESXi のログとして出力することが可能です。

ESXi はこのログを Syslog 転送することが可能なので、Log Insight に転送して分析 / 可視化することができます。

vrli-dfw-02-3a.PNG

 

つづく・・・

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.3

NSX for vSphere の 分散ファイアウォール(DFW)のログは、ESXi に出力されます。

DFW の作用している様子を、ESXi の Syslog を受け取る vRealize Log Insight(vRLI)を利用して

確認してみてみようと思います。

 

vRLI で NSX の DFW によるパケット ドロップの様子を確認してみます。

 

今回は、使用している製品と構成状態を説明しておきます。

 

製品とバージョンについて。

この一連の投稿で利用している製品と、そのバージョンは下記です。

  • vCenter Server 6.5d
  • ESXi 6.5d
  • NSX for vSphere 6.3.1
  • vRealize Log Insight 4.5

 

構成状態について。

NSX 環境で利用する ESXi は 3台あります。

すでに NSX コンポーネントをインストール済みで、DFW が有効になっています。

vrli-dfw-01-0.png

 

vRLI のバージョンは 4.5 です。

vRLI は 1 VM だけですが仮想 IP を構成しています。

この環境では以前のバージョンから利用している都合で仮想 IP を使用していますが、

NSX と vRLI を連携させるうえで 仮想 IP が必須というわけではありません。

この環境では、FQDN を DNS サーバに登録して名前解決できるようにしてあります。

vrli-dfw-01-1.png

 

ESXi の Syslog 転送も設定済みです。

vRLI の「管理」画面の「vSphere 統合」にある、登録済みの vCenter Server の「詳細表示」から・・・

vrli-dfw-01-2.png

 

ESXi のログを vRLI に転送するように設定ずみであることがわかります。

vrli-dfw-01-3.png

 

ESXi の「システムの詳細設定」を見ると、

Syslog 転送先として vRLI のアドレスが指定されていることが確認できます。

vrli-dfw-01-3b.png

 

vRLI の「管理」→「ホスト」を確認すると「過去 5 分以内」に

ESXi 3台のログが受信できていることがわかります。

ログに含まれるホスト名や、名前解決の都合などにより、

同一ホストのホスト名が FQDN とショートネームで検知されています。

vrli-dfw-01-4.png

 

NSX のダッシュボードを利用するためのコンテンツパックは、

すでにインストール済みです。

まだインストールされていない場合も、vRLI のこの Web UI を表示している端末が

インターネット接続できているようであれば、この「マーケット プレイス」画面からインストールできます。

vrli-dfw-01-5.png

 

つづく・・・

vRealize Log Insight で NSX DFW の Drop を確認してみる。Part.2