ネットワーク機器で SPAN 設定を行い、vSphere 上に作った Linux でパケットキャプチャする場合の基本的な設定をメモしておきます。
vSphere の設定
vSphere のネットワーク設定は以下のようにします。
仮想スイッチの設定
Promiscuous Mode (無差別モード) を許可しておきます。
ポートグループの設定
VLAN ID は 4,095 とし、VFT (Virtual Guest Tagging) 動作とさせ、タグ付きのパケットも仮想マシンでキャプチャ出来るようにします。
Promiscuous Mode 設定は仮想スイッチの設定を引き継がせる為、オーバーライドしないようにします。
Linux の設定
デフォルトの状態だと IPv4 / IPv6 両方が有効化されているケースが多いと思いますので、SPAN トラフィックをキャプチャしようとした際に「仮想マシンが送信する DHCP 要求などのトラフィック」までキャプチャされてしまいます。 仮想マシンからの不要なトラフィックの送信を止め、SPAN トラフィックに絞る為、以下のように設定して IPv4 / IPv6 を無効化しておきます。
nmcli connection modify ens224 ipv4.method disabled
nmcli connection modify ens224 ipv6.method ignore
設定完了後は OS を再起動させ、設定変更を反映しておきます。
tshark でキャプチャする
大きなメリットがあるわけではありませんが、tshark を使えばデフォルトが pcap-ng 形式でキャプチャ出来ます。 必要であれば tshark をインストールします。
dnf -y install wireshark-cli
/root
ディレクトリへキャプチャしたファイルを出力しようとするとエラーが出ます
# tshark -i ens224 -w test.pcap
Running as user "root" and group "root". This could be dangerous.
Capturing on 'ens224'
tshark: The file to which the capture would be saved ("test.pcap") could not be opened: Permission denied.
これは /tmp
などのディレクトリへキャプチャファイルを出力することにより回避出来ます。
# tshark -i ens224 -w /tmp/test.pcap
Running as user "root" and group "root". This could be dangerous.
Capturing on 'ens224'
コメント