VMware Workstation Playerでプロミスキャスモードを有効にする!

VMware Workstation Playerでプロミスキャスモードを有効にする方法です。VMware Workstation Player上で、ESXiを動作させるときなどに必要になります。

プロミスキャスモードの用途は?

プロミスキャスモードを設定したポートには、そのポートが接続しているスイッチに流れてきたパケットが自分のポート宛てでなくても全て送信されてきます。ルータやスイッチを流れる全パケットの情報を取得することができるので、本来の主な用途は障害調査や攻撃検知になります。

仮想ホストの設定ファイルに直接設定を記載する!

仮想ホストの設定ファイルのvmxファイルに「ethernetX.noPromisc = "FALSE"」を追記します。以下は、最初のネットワークインターフェス「ethernet0」の場合の例です。

ethernet0.noPromisc = "FALSE"

Linuxの場合はデバイスファイルの権限変更を行う!

Linuxの場合、rootユーザ以外でプロミスキャスモードを設定したポートを使用する場合は、デバイスファイルの権限変更が必要になります。以下は、全てのユーザが利用できるようにするコマンドになります。VMware Workstation Playerが物理ネットワークとブリッジ接続する「vmnet0」に、読み取りと書き込み権限を付与します。

$ sudo chmod 666 /dev/vmnet0

ただ、この設定は、OS再起動すると戻ってしまうので、繰り返し使用する場合は、systemdなどを利用してOS起動時に毎回設定するようにする必要があります。

プロミスキャスモード使用上の注意点は?

プロミスキャスモードは、ルータやスイッチを通過する全パケットの情報を取得することができるため、不正な情報取得のために利用されることがあります。設定した場合は、プロミスキャス・モードを設定したポートに不正な機器が接続されないようにチェックするなどの対策することが必要になります。また、不必要に設定すると、ポートに接続された仮想マシンのOSが全パケットをチェックすることになるので、負荷が高くなることが想定されます。

おわりに

WMware Workstation Playerでは、プロミスキャスモードを設定する場合は、仮想ホストの設定を直接編集します。Linuxの場合は、ブリッジ接続用のデバイスファイルの権限変更も行います。