ESXi には、ESXi ファイアウォールという独自のファイアウォール機能があります。
よく、VM(のゲスト OS)がうまく通信できない時に疑われることがありますが、
これは VM の通信には影響しないファイアウォールです。
ESXi ファイアウォールの見え方
vSphere Client からの見え方
ESXi の「構成」タブ→「セキュリティ プロファイル」のあたりで見られます。
Web Client からの見え方
ESXi の「管理」→「設定」→「セキュリティ プロファイル」のあたりで見られます。
ESXi に直接ログインした時の見え方
下記のような感じで、esxcli コマンドなどで見られます。
~ # vmware -l
VMware ESXi 5.5.0 Update 1
~ # esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
~ # esxcli network firewall ruleset list
Name Enabled
------------------ -------
sshServer true
sshClient false
nfsClient true
dhcp true
dns true
snmp true
ntpClient true
CIMHttpServer true
CIMHttpsServer true
CIMSLP true
iSCSI false
vpxHeartbeats true
updateManager false
faultTolerance true
webAccess true
vMotion true
vSphereClient true
activeDirectoryAll false
NFC true
HBR true
ftpClient false
httpClient false
gdbserver false
DVFilter false
DHCPv6 false
DVSSync true
syslog false
IKED false
WOL true
vSPC false
remoteSerialPort false
vprobeServer false
rdt true
cmmds true
vsanvp true
rabbitmqproxy true
ipfam true
fdm true
ESXi ファイアウォールが作用するところ
ESXi ファイアウォールは、下図の赤点線のあたり通信を制御します。
図中の VMkernel という部分が、ESXi ハイパーバイザです。
そのため、ESXi 自身の通信(VMkernel の VMkernel ポートの通信)にしか作用しません。
VM の通信には、直接影響しないものです。
逆に VM の通信を制御したい場合は、
オレンジ点線のあたりには ESXi ファイアウォールは作用しないので
ゲスト OS でのファイアウォール設定
(Windows ファイアウォールや iptables など)が必要です。
そういうわけで、VM の(ゲスト OS の)通信がうまくできないときは
いきなり ESXi ファイアウォールを無効にしたりせずに、
- その ESXi ホストまでの経路でなにか問題はないか
(物理サーバより外のファイアウォールや NW 機器の ACL など) - VM の認識している vNIC(「ローカルエリア接続 2」や eth1 など)が
意図した順序で認識されているか
(ゲストOSから見える MAC アドレスが、VM の 設定画面から見られる MAC アドレスと同じ順番か) - VM の vNIC に割り当てたポートグループが正しいか
- ゲスト OS のファイアウォール設定が正しいか
(Windows ファイアウォールや iptables など)
などを確認してみるとよいと思います。
以上、ESXi ファイアウォールと VM の通信の関係についてでした。