VMゲストOS(Linux)が稼働しているESXiv5.0.0を実行しているホームサーバーがあります。
Apache 2.xをインストールしてマシンに提供しています(つまり、 http:// localhost にアクセスするとデフォルトのApacheページにアクセスできます)
内部IP192.168.1.X(ルーターに対して静的に作成された)を介してアクセスすることもできます。ESXiホストにもIP(静的)がありますが、もちろんVMとは異なります。私のルーターでは、ポート80をGUEST OSの内部IPに転送していますが、これにより、ゲストOS上のWebサーバーへの外部アクセスが許可されていないようです。
ESXi構成のネットワークのVM Netowrkにvmがあり、ホストのNICに接続していることを確認しました(ゲストOSは外部にアクセスできます)。
正しい外部IPアドレスを持っていることを確認しました(また、[ポートをホストポートに一時的に転送することで]外部からホストにアクセスできることも確認しました)
注:ホストには1つのNICカードしかありません。
結論として、ゲストOSが外界からのトラフィックを受け入れることができるようにするにはどうすればよいですか?
これはESXiを使用した最初の実験なので、この問題の解決に役立つ関連情報が他にあるかどうかをお知らせください。
私が取る1つのステップは、パケットがゲストに届いているかどうかを確認することです。 Linuxホストで、
tcpdump -i eth0 tcp dst port 80
インターフェイスが呼び出されるものは何でも「eth0」に置き換えます。それが実行されている状態で、ページにアクセスしてみてください(Wi-Fiではなくキャリアインターネットを使用する携帯電話のような「ネットワーク外」のホストを使用することをお勧めします)。ページをリクエストすると、ゲストOSがパケットを受信している場合、tcpdumpによってパケットが吐き出されていることがわかります。そうである場合は、ファイアウォールまたはWebサーバーの構成を確認してみてください。 tcpdumpからの出力が表示されない場合は、ルーターまたはホストを調べ始めます。