NEEDLEWORK 仮想版を Hyper-V 上にインストールした話

ネットワーク
スポンサーリンク

思わぬ出来事

先日、NEEDLEWORK 仮想アプライアンスについての記事を公開しました。

その後、とある筋から NEEDLEWORK の評価ライセンスを発行いただけることに。感謝です。

ライセンス発行は申請から数日かかるようですが、NEEDLEWORK のインストールは先にできたので、以下ではインストールしたときの話を記載します。

NEEDLEWORK インストール

インストールは事前準備マニュアルの通り進めれば簡単にできます。流れは以下の通りです。

  1. VM イメージのダウンロード
  2. 仮想マシンの作成(PowerShell スクリプトの実行)
  3. テスト用インターフェースの追加(PowerShell スクリプトの実行)

VM イメージのダウンロード

イメージファイルのダウンロードはサポートページからできます。認証用のユーザ情報が必要となるため、いただいた情報を使用してダウンロードしました。

仮想マシン(NEEDLEWORK)の作成

仮想マシン(NEEDLEWORK)の作成は、ダウンロードしたファイルの中にある PowerShell スクリプトを実行するだけで完了します。

トランスクリプトが開始されました。出力ファイル: C:\Users\user01\Documents\90_job\06_softwater\NEEDLEWORK\install_Log_20220312182726
NEEDLEWORKのインストールを開始します。
NEEDLEWORKをインストール中...
NEEDLEWORKのインストールが完了しました。
--作成オブジェクト---
VMSwitch: Management
NAT: ND_MGMT
VM: NEEDLEWORK
-----

終了するには何かキーを押してください。

上記ログの通り、

  • Management という名前の仮想スイッチ(内部ネットワーク)が作成される
  • ND_MGMT という名前の NAT ネットワークが作成される
  • NEEDLEWORK という名前の仮想マシンが作成される

ことになります。

Hyper-V マネージャーを見ると以下のように仮想マシン NEEDLEWORK が作成されています。

この時点で、仮想マシンには一つのネットワークアダプタ―が作成されていて、仮想スイッチは Management になっています。このアダプタは NEEDLEWORK の管理ポートに該当します。


NAT ネットワークの ND_MGMT は以下のように、NEEDLEWORK の管理セグメントを NAT してホストマシン経由でインターネット接続できるようにしています。

PS C:\WINDOWS\system32> Get-NetNat


Name                             : ND_MGMT
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 192.0.2.0/24
IcmpQueryTimeout                 : 30
TcpEstablishedConnectionTimeout  : 1800
TcpTransientConnectionTimeout    : 120
TcpFilteringBehavior             : AddressDependentFiltering
UdpFilteringBehavior             : AddressDependentFiltering
UdpIdleSessionTimeout            : 120
UdpInboundRefresh                : False
Store                            : Local
Active                           : True

さらに、ホストマシンに作成される、仮想スイッチ Management に対応するネットワークアダプタについては、IP アドレスが 192.0.2.100/24 と設定されます。

イーサネット アダプター vEthernet (Management):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::41d1:4548:1937:95a5%104
   IPv4 アドレス . . . . . . . . . . . .: 192.0.2.100
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .:

この時点でホストマシンから NEEDLEWORK への疎通性はありますが、ポリシーテストで使用するためのインターフェースがまだ追加されていないため、NEEDLEWORK の GUI にアクセスしても以下メッセージが表示されます。

Test interface is not attached, Please attach test interface.

※NEEDLEWORK と疎通するためには仮想マシンを起動する必要があります

テスト用インターフェースの追加

テスト用インターフェースの追加についても、ダウンロードしたファイルの中に含まれている PowerShell スクリプトを実行するだけで追加できます。

このスクリプトを実行すると以下などが実施されます。

  • テスト用として追加する物理インターフェースの指定
  • 物理インターフェース紐づけ先となる仮想スイッチ(外部ネットワーク)の作成
  • 仮想マシンへのネットワークアダプタ―の追加(Vlan タグポート設定含む)
トランスクリプトが開始されました。出力ファイル: C:\Users\user01\Documents\90_job\06_softwater\NEEDLEWORK\AddTestInterface_Log_20220312185828
ネットワークアダプタ情報を取得中です。
仮想スイッチ情報を取得中です。(10分程度かかる場合があります)                                                                                                                                                                                                                                                                                                                                                                                                                                                            現在テスト用インターフェースとして指定できるネットワークアダプタです。                                                                                                                                                                                                                                                                          Name                          Status InterfaceDescription
----                          ------ --------------------
VMware Network Adapter VMnet1 Up     VMware Virtual Ethernet Adapter for VMnet1
VMware Network Adapter VMnet8 Up     VMware Virtual Ethernet Adapter for VMnet8
イーサネット                  Up     Intel(R) Ethernet Connection (2) I219-V
Wi-Fi 3                       Up     TP-Link Wireless MU-MIMO USB Adapter


テスト用インターフェースとして使用するネットワークアダプタ名(Name)を指定してください。: イーサネット
新たに作成するスイッチ名を入力してください。: NWSW01
vSwitchを作成しています...
VMNetworkAdapterを作成しています...
VLANを構成しています...
テスト用インターフェースの作成が完了しました。
--作成オブジェクト---
VMSwitch: NWSW01
Testinterface: TestInterface_NWSW01
PhysicalInterface: イーサネット
-----

終了するには何かキーを押してください。

後々使用する物理アダプタを変更したい場合は Hyper-V の仮想スイッチの設定で紐づける物理アダプタを変えれば良いと推測されますが、これは後で検証してみます。

なお、スクリプト実行時にホストマシンのアダプタが検出されますが、UP しているアダプタのみが検出されるようなので注意してください。

一度スクリプトを実行すると、仮想マシンに一つネットワークアダプタ―が追加されます。追加するネットワークアダプタ―の数分だけスクリプトを実行することになります。

テスト用インターフェースについての注意点

テスト用インターフェースとして設定したアダプタについては、以下画像のように、プロパティの機能有効化のチェックが一部項目を除き外れた状態になっていました。
※仮想スイッチの外部ネットワークの設定でブリッジ先アダプタとして指定された影響と思われます

このアダプタを NEEDLEWORK のテスト用ではなく通常のネットワーク接続用に使用したい場合は設定を手動で戻す必要があります。

仮想マシンを起動してアクセスしてみる

テスト用インターフェースを追加したら、仮想マシンを起動して GUI にアクセスしてみます。

ホストマシンでブラウザにて「http://192.0.2.1:8080/」にアクセスします。

以下の画面が表示されます。右下の [閉じる] をクリックします。

以下のダッシュボード画面が表示されます。

まだライセンスアクティベーションをしていないのでテストはできません。

インストール時の想定外事象

インストールスクリプトでのエラー

インストールスクリプトで以下のエラーになりました。

Add-NetNatStaticMapping : プロセスはファイルにアクセスできません。別のプロセスが使用中です。

発生場所 C:\Users\user01\Documents\90_job\06_softwater\NEEDLEWORK\InstallNEEDLEWORK_org.ps1:228 文字:3
+   Add-NetNatStaticMapping -NatName $NATName -ExternalIPAddress 0.0.0. ...
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MSFT_NetNatStaticMapping:root/StandardCi...atStaticMapping) [Add-NetNatStaticMapping], CimException
    + FullyQualifiedErrorId : Windows System Error 32,Add-NetNatStaticMapping

スクリプトの中を見てみると、いくつかのポートフォワーディングの設定をしている様子。

引っかかっていたのは 8089 ポートに関する設定をしている箇所でしたが、ホストマシンのポート使用状況を確認したところ、8089、8090 は使用されていました。

>netstat -ano

アクティブな接続

  プロトコル  ローカル アドレス      外部アドレス           状態            PID
...
  TCP         0.0.0.0:8089           0.0.0.0:0              LISTENING       4
  TCP         0.0.0.0:8090           0.0.0.0:0              LISTENING       4
...

PID 4 は system プロセスで、なぜ system が 8089 と 8090 を使っているのかは謎ですが、system プロセスでは停止することもできずアウトでした。ちなみにスクリプトのエラー箇所のみコメントアウトするとインストールは成功しましたが、運用中にどこかで不具合が起きそうです。

8089 と 8090 ポートを使用していない別の PC であればインストールは問題なくできましたが、こういうこともあるということですね。

Hyper-V の Defualt Switch が消える

Hyper-V にはデフォルトで Default Switch という名前の仮想スイッチが存在しますが、インストールスクリプトを実行した後、Hyper-V マネージャー上で Default Switch の表示が消え、使用できなくなっていました。

また、ホストマシンのコントロールパネルのネットワーク接続画面では、「Default Switch に対応するアダプタが一瞬現れては消える」が繰り返される、という状態になりました。

使用したホストマシンの環境が Windows 10 Home に無理やり Hyper-V を追加して使用しているという環境なので、このせいかもしれません。

Default Switch を元に戻す方法は見つかっていないので、同じ環境でインストールする場合は注意してください。

ライセンス申請は NEEDLEWORK インストール後が良いかも

上記のように PC 環境によっては NEEDLEWORK がインストールできない場合があります。ライセンスは PC の NIC の MAC アドレスに紐づくものですが、ライセンス申請後に NEEDLEWORK をインストールできないことが判明して PC を変更した場合、ライセンス再申請が必要になることが考えられます。

可能であれば NEEDLEWORK がインストールできることを確認してからライセンス申請することをお勧めします。

NEEDLEWORK のアンインストール

NEEDLEWORK の仮想マシンの削除は Hyper-V マネージャーでできますが、その他の NAT ネットワークやポートフォワーディングの設定などは残ったままになります。

Nat ネットワークの削除

Nat ネットワーク ND_MGMT は PowerShell のコマンドで削除します。

  • > Remove-NetNat -Name ND_MGMT
PS C:\WINDOWS\system32> Remove-NetNat -Name ND_MGMT

確認
この操作を実行しますか?
対象 ND_MGMT の PolicyStore Local に対して操作 Delete を実行しています
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y
PS C:\WINDOWS\system32>

ポートフォワーディング設定の削除

Nat ネットワーク ND_MGMT に紐づくポートフォワーディングの設定についても PowerShell のコマンドで削除します。

  • > Remove-NetNatStaticMapping ND_MGMT
PS C:\WINDOWS\system32> Remove-NetNatStaticMapping ND_MGMT

確認
この操作を実行しますか?
対象 ND_MGMT;1;0 の PolicyStore Local に対して操作 Delete を実行しています
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): A
PS C:\WINDOWS\system32>

仮想マシンの仮想ハードディスクの削除

Hyper-V で仮想マシンを削除しても、仮想マシンの仮想ハードディスクは残ったままになるため、これは手動で削除します。

仮想ハードディスクの保存フォルダは、デフォルトでは以下です。

  • C:\Users\Public\Documents\Hyper-V\Virtual hard disks

Hyper-V の設定で現在の設定を確認できます。

以下の2つのファイルを削除します。

  • license.vhd
  • NEEDLEWORK.vhdx

仮想スイッチの削除

NEEDLEWORK インストール時に作成される仮想スイッチ Management は Hyper-V マネージャーの仮想スイッチマネージャ―上で手動で削除します。その他、テスト用インターフェース追加時に作成された仮想スイッチも手動で削除します。

参考資料

製品仕様・仮想アプライアンスについて | ネットワークテスト・Firewallのポリシーテストを自動化するニードルワーク(NEEDLEWORK)
NEEDLEWORKは、ネットワークテスト・ポリシーテストの工数削減を実現する自動化アプライアンスです。NEEDLEWORKの製品仕様と仮想版のアプライアンスについて紹介します。
仮想アプライアンス版NEEDLEWORKのご質問一覧 | ネットワークテスト・Firewallのポリシーテストを自動化するニードルワーク(NEEDLEWORK)
NEEDLEWORKは、ネットワークテスト・FWのポリシーテストの工数削減を実現する自動化アプライアンスです。仮想アプライアンスに関するよくある質問を掲載しています。
マニュアル - NEEDLEWORKサポート
NEEDLEWORKの各種マニュアルは下記からダウンロードしてください。

評価ライセンス申請

お問い合わせ | ネットワークテスト・Firewallのポリシーテストを自動化するニードルワーク(NEEDLEWORK)
NEEDLEWORKは、ネットワークテスト・ポリシーテストの工数削減を実現する自動化アプライアンスです。ボタンひとつでテスト開始、自動化だから人的ミスも起きません。

タイトルとURLをコピーしました