インターネット越しにvSphere ClientでVMWare ESXiコンソールに接続

これまでインターネット経由でリモートのVMWare ESXiホストの管理コンソールにアクセスする場合は、ESXiホストの管理IPにアクセス可能なLAN内のWindowsマシンを経由し、そこからvSphere Clientでアクセスしていたのだが、手元のPCから直接接続できないかと考えた。結論としてはESXiホストにアクセス可能なLANのLinuxマシンにSSH接続+下記TCPポートのポートフォワーディング、そしてhostsファイルの変更で実現することができた。

  • 443番
  • 902番
  • 903番

コマンドラインSSH接続する場合は以下のようになるが、実際にはputtyのポートフォワード機能を使うのがよいだろう。


$ ssh -L 443::443
$ ssh -L 902::902
$ ssh -L 903::903
上記の接続を確立したところで、手元のPCから自ホストへvSphere Clientで接続すればESXiの管理コンソールへネットワーク的には接続できるようになる。しかし、実際にはこの時点ではまだ接続はできない。正確な理由はわからないが、これはvSphere Clientで指定するログイン先ホストとして「localhost」や「127.0.0.1」を指定した場合に、管理コンソールではESXiが自ホストから接続をしていると認識し、この接続を拒否する動作になるものと思われる。対策として、手元のPC側のhostsファイルにループバックアドレスに対し適当なホスト名を追加し、このホスト名で管理コンソールに接続することで解決できる。

例) 127.0.0.1 localhost esxiserver
ゲストOSへのアクセスが十分に可能であれば、稼動中のVMについては上記方法がなくても運用上特に利点はない。ただ、OS導入などコンソールへの接続が必須の場合は、これまではVMで構成したWimdowsマシンにリモートデスクトップ接続し作業を行っていた。今後は物理であれ仮想であれ別途Windowsマシンを用意する必要がなくなるのはリソース面で利点と言えそうだ。