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 したときに「ログに記録」するようにしておきます。
まず「デフォルト ルール」の「操作」列のあたりで、編集ボタンをクリックします。
デフォルトでは「ログに記録しない」になっているので、「ログに記録」に設定変更します。
通信を発生させる。
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」ダッシュボードを見てみます。
ログが転送される前には何も表示されませんが・・・
DFW 関連のログを受信すると、表示されます。
意図的に発生させた、通信が Drop されたログを受信できています。
デフォルト ルールで Drop されているので、ルール ID 1001 のカウントも上がっています。
「Distributed Firewall - Traffic」ダッシュボードでは、
「Firewall application ports denied」80 番ポート宛の通信が Drop されていそうなことが見られます。
一緒に 別の VM の NTP 通信(123 番ポート)も遮断されている様子が見えます。
ダッシュボードにはフィルタも設置されているので、
「vmw_nsx_firewall_src」で、通信元 IP アドレスを指定してフィルタリングしてみました。
「Firewall top sources」が指定した IP「10.1.10.101」のみに絞られ、
そこから 192.168.1.223 宛の 80 番ポートが DFW で遮断されていることが明確にわかります。
インタラクティブ分析 でのログ テキストの表示。
表示されているチャートにある「インタラクティブ分析 で開く」というボタンをクリックすると・・・
ダッシュボードのチャート表示で使用されていたフィルタ設定で、
インタラクティブ分析 画面に移動できます。
ここで、分析のもとになっている実ログのテキストを見ることができるので、
Drop を示すログ テキスト自体を確認することが可能です。
DFW 環境で期待どおり通信許可できているか(Drop されていないか)を
このようにダッシュボードや IP アドレスをもとにした検索から調査することができます。
個々の ESXi に直接ログインしてログ確認をするより便利ではないかと思います。
続くかもしれない。