新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 TTLTTL(生存時間)を指定
-q結果を簡潔に表示

⚠️ 注意点

/etc/hosts ファイルはとても便利ですが、以下の点に注意しましょう。

注意項目内容
1ファイルを誤って編集すると通信に支障が出る可能性があります。
2IPアドレスの重複や誤記に注意しましょう。
3DNSと併用する場合、/etc/nsswitch.conf の設定により優先順位が決まります。
4大規模ネットワークではDNSを使用した方が管理が容易です。

💬 ポイント
小規模・検証環境では便利ですが、本番運用ではDNSサーバーを使う方が安全です。

✅ まとめ

  • /etc/hosts は ホスト名とIPアドレスの対応を定義するファイル
  • 編集後すぐに反映され、DNSがなくてもローカル名解決が可能
  • 小規模ネットワークやテスト環境で非常に便利
  • 大規模環境ではDNSを併用するのがベストプラクティス

🌟ポイント
DNSを用意できない環境でも、/etc/hostsを正しく使えば快適なネットワーク管理ができます。
Linuxを学ぶ上で、まずはこのファイルの仕組みをしっかり理解しておきましょう!