ホスト名と hosts が異なる場合
Windows において、相手のホスト名に対して ping を送信する際、hosts に設定されているホスト名が異なっている場合、ping は通るでしょうか?
実際にやってみましょう。ping の送信先として用意した Windows Server 2016 には「NODE2」というコンピュータ名を設定しました。
作業用の端末の hosts を編集します。下図のように相手のホスト名を NODE2 ではなく「dummy」と入力しています。
ping を送信する前に、「ipconfig /displaydns」で dns キャッシュを確認してみます。hosts に設定した値がキャッシュとして確認できますね。では実際に ping してみましょう。
dummy に対して ping が成功しました!
結論としては、hosts のホスト名が間違って(異なって)いたとしても名前解決には成功します。
ただし、逆引きを考えると一つのIPアドレスに複数のホスト名が定義されているようなものなので、どこかでおかしくなる可能性があります。
hosts は常にキャッシュされる
ちなみに、hosts の内容は常に DNS キャッシュにのります。
サーバ本来のホスト名に対しても ping が通ることがある
これまたちなみに、DNSサーバがいなくても ping の送信先が同一ネットワークかついくつかの条件(プロトコルとポート許可状況)が整っていれば hosts のホスト名ではなくサーバに設定しているホスト名に対しても名前解決は成功します。
上記の名前解決が成功する理由は LLMNR もしくは NBT という Windows が標準で持っている名前解決の仕組みがあるからなんですが、詳しく知りたいという方は以下の記事を参照してください。