
新Linux入門|小規模ネットワークや検証環境で役立つ/etc/hostsファイルの活用方法
今回は、Linuxで名前解決を行う際に欠かせない重要なファイル、
/etc/hosts ファイル の仕組みと使い方について解説します✨
このファイルは、DNSサーバーを構築しなくてもホスト名とIPアドレスの対応を手軽に設定できる便利な機能です。
特に、小規模ネットワーク や 検証用の環境(テスト環境) では大活躍します!

🖥️ /etc/hosts ファイルとは
/etc/hosts ファイルは、Linuxシステムで「ホスト名(コンピューター名)」と「IPアドレス」を対応付けるためのテキストファイルです。
このファイルを編集することで、DNSサーバーを使わずに手動で名前解決を行えます。
| 項目 | 内容 |
|---|---|
| ファイルの場所 | /etc/hosts |
| 役割 | ホスト名とIPアドレスの対応関係を定義 |
| 形式 | 1行に1つのIPアドレスとホスト名の組を記述 |
| 反映方法 | 編集後すぐに反映(再起動不要) |
🧭 名前解決の仕組み
Linuxでは、ホスト名をIPアドレスに変換する処理を「名前解決」と呼びます。
通常はDNSサーバーがこの役割を担いますが、/etc/hosts はそれをローカルで補助します。
📘 名前解決の流れ(一般的な順序)
1️⃣ /etc/hosts ファイルを確認
2️⃣ /etc/nsswitch.conf の設定に従い、DNSを参照
3️⃣ 名前が見つからない場合はエラーを返す
つまり、/etc/hosts が優先的に参照される ため、テストや一時的な環境ではとても便利です。
🗂️ ファイルの構造と書式
/etc/hosts ファイルの基本構造は以下のようになっています。
IPアドレス ホスト名 エイリアス名(任意)
| 項目 | 説明 |
|---|---|
| IPアドレス | ホストに割り当てられたIPv4またはIPv6アドレス |
| ホスト名 | システムが識別される正式な名前 |
| エイリアス名 | 省略形や別名として利用できる追加の名前(任意) |
💬 各項目の間はスペースまたはタブで区切ります。
複数のエイリアスを記述する場合は、同じ行に空白で区切って並べます。
🧩 /etc/hosts ファイルの実例
AlmaLinux 9.6 の初期設定では、以下のような内容になっています。
[suzuki@AlmaLinux ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6💡ポイント
- 127.0.0.1 は IPv4 のループバックアドレス(自分自身)
- ::1 は IPv6 のループバックアドレス
- localhost は「自分自身」を意味する特別なホスト名です。
⚙️ 独自のエントリを追加する
自分のネットワーク内に複数のサーバーがある場合や、テスト環境でホスト名を使ってアクセスしたい場合、
/etc/hosts に独自エントリを追加することで簡単に名前解決ができます。
📘 例:ローカルネットワーク内での設定
[root@AlmaLinux ~]# vi /etc/hosts内容を以下のように追加します。
192.168.0.10 webserver1.example.local web1
192.168.0.20 dbserver1.example.local db1これで、ping webserver1 または ping web1 と入力すれば、DNSを使わずにそのサーバーへ接続できます。
💬 反映は即時 なので、保存後すぐに動作確認が可能です!
🔍 動作確認コマンド
設定が正しく動作しているかを確認するには、以下のコマンドを使います。
✅ pingコマンド
[suzuki@AlmaLinux ~]$ ping -c 3 webserver1
PING webserver1 (192.168.0.10) 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=0.421 ms
64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=0.324 ms
64 bytes from 192.168.0.10: icmp_seq=3 ttl=64 time=0.309 ms💡ポイント
ping は、指定したホスト名が /etc/hosts の設定を通じて IP アドレスに解決されているかを確認できます。
📜 コマンド解説:ping
| 項目 | 内容 |
|---|---|
| コマンド | ping |
| 機能 | 指定したホストにICMPパケットを送信し、応答を確認する |
| 主な用途 | ネットワーク接続確認、名前解決確認 |
| 使用権限 | 一般ユーザーで利用可能 |
| オプション | 説明 |
|---|---|
| -c 回数 | 指定した回数だけ通信を行う |
| -i 秒数 | 送信間隔を指定 |
| -t TTL | TTL(生存時間)を指定 |
| -q | 結果を簡潔に表示 |
⚠️ 注意点
/etc/hosts ファイルはとても便利ですが、以下の点に注意しましょう。
| 注意項目 | 内容 |
|---|---|
| 1 | ファイルを誤って編集すると通信に支障が出る可能性があります。 |
| 2 | IPアドレスの重複や誤記に注意しましょう。 |
| 3 | DNSと併用する場合、/etc/nsswitch.conf の設定により優先順位が決まります。 |
| 4 | 大規模ネットワークではDNSを使用した方が管理が容易です。 |
💬 ポイント
小規模・検証環境では便利ですが、本番運用ではDNSサーバーを使う方が安全です。
✅ まとめ
- /etc/hosts は ホスト名とIPアドレスの対応を定義するファイル
- 編集後すぐに反映され、DNSがなくてもローカル名解決が可能
- 小規模ネットワークやテスト環境で非常に便利
- 大規模環境ではDNSを併用するのがベストプラクティス
🌟ポイント
DNSを用意できない環境でも、/etc/hostsを正しく使えば快適なネットワーク管理ができます。
Linuxを学ぶ上で、まずはこのファイルの仕組みをしっかり理解しておきましょう!
