/etc/hosts:ホスト名とIPアドレスの対応付け(名前の解決)

/etc/hosts

/etc/hostsについての概要と詳細

/etc/hostsとは

/etc/hosts は、ホスト名とIPアドレスの対応関係を手動で定義するための静的な名前解決ファイルです。DNSが使えない状況やローカル環境などで、特定の名前解決を行いたい場合に利用されます。

ファイルの構成と記述例

各行は「IPアドレス」と「ホスト名(複数可)」を空白またはタブで区切って記載します。
先頭が # の行はコメントです。

# /etc/hosts の例
127.0.0.1   localhost
127.0.1.1   mypc
192.168.1.10 server1
192.168.1.20 server2.example.local server2
  • IPアドレス: ローカルやネットワーク上の任意のアドレス
  • ホスト名: 1つのIPに対して複数記述可能(エイリアス)

主な役割

  • DNSサーバーよりも先に参照されるローカルな名前解決
  • 一時的な名前解決の変更や、外部DNSに登録できない環境での利用
  • ローカル開発やテスト用途で、任意のホスト名を自由に割り当て

/etc/hostnameとの関係

/etc/hostname で定義されたホスト名を、/etc/hosts127.0.1.1 などのIPアドレスと紐づけて記載することで、ローカルでの名前解決やサービス動作が安定します。

注意点

  • 設定ミスや重複に注意。名前解決に失敗したり、通信トラブルの原因になります。
  • 編集には root 権限が必要です(sudo vi /etc/hosts など)。
  • ファイルの記述順が名前解決の優先順位に影響することがあります。

確認と活用例

  • ローカルで仮想ホストのテストを行いたい場合など、IPと任意の名前を自由に対応させる
  • DNSのトラブル時でも最低限の通信やテストができる
  • pingやsshなどのコマンドでも /etc/hosts の内容が参照されます

まとめ

/etc/hosts は、DNSに頼らずに静的な名前解決を行うための重要なシステムファイルです。シンプルな仕組みですが、ネットワーク管理やローカル開発の現場で広く活用されています。記述内容を正しく管理し、意図した名前解決ができるよう運用しましょう。