はじめに
このチャレンジでは、Linux システムにおけるホスト名解決(Hostname Resolution)の設定方法を習得します。適切なホスト名解決は、ネットワーク通信において不可欠な要素です。まず /etc/hosts ファイルを使用した静的なホスト名解決の設定を行い、次に DNS サーバーを利用して動的な解決を行うようにシステムを構成する実習を行います。
静的ホスト名解決の設定
最初のタスクは、静的なホスト名解決の設定です。この手法は、小規模なネットワークや、パブリックな DNS エントリを一時的に上書きしたい場合に役立ちます。/etc/hosts ファイルを編集して、IP アドレスとホスト名を紐付けます。
タスク
myhost.example.comの静的ホスト名解決を設定してください。
要件
/etc/hostsファイルを編集し、IP アドレス192.168.1.100をホスト名myhost.example.comにマッピングしてください。- ホスト名
myhost.example.comが正しく192.168.1.100に解決されることを確認してください。
ヒント
/etc/hostsを編集するには、sudo権限を使用してnanoやviなどのコマンドラインテキストエディタを起動します。- 名前解決が正しく行われているかテストするには、
getent hosts <hostname>コマンドが確実です。
例
/etc/hosts ファイルを正しく設定した後、getent コマンドを実行すると以下のような出力が得られるはずです。
$ getent hosts myhost.example.com
192.168.1.100 myhost.example.com
動的ホスト名解決の設定
次に、静的な解決から動的な(DNS ベースの)解決に切り替えます。この演習では、ローカルマシン(127.0.0.1)上ですでに簡易的な DNS サーバーが稼働しています。あなたのタスクは、先ほどの静的エントリを無効化し、この DNS サーバーを使用するようにシステムを構成することです。
タスク
- 前のステップで作成した静的なホスト名エントリを無効にします。
- ローカルの DNS サーバーを使用するようにシステムを設定します。
要件
/etc/hosts内のmyhost.example.comの静的エントリを無効にする必要があります。行を削除するか、行頭に#を付けてコメントアウトしてください。- システムの DNS クライアントが
127.0.0.1のネームサーバーを使用するように設定してください。 digコマンドを使用して、新しい設定を確認してください。
ヒント
- DNS クライアントを設定するための主要なファイルは
/etc/resolv.confです。 digコマンドは、DNS サーバーに問い合わせを行うための強力なツールです。
例
リゾルバ(Resolver)を正しく設定し、静的ホストエントリを無効にした後、dig コマンドを実行すると、サーバーからの解決結果を示す以下のような出力が表示されます。
$ dig myhost.example.com
; <<>> DiG 9.16.23-RH <<>> myhost.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 58851
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;myhost.example.com. IN A
;; AUTHORITY SECTION:
example.com. 5 IN SOA ns.icann.org. noc.dns.icann.org. 2025011748 7200 3600 1209600 3600
;; Query time: 62 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Fri Aug 15 17:18:27 CST 2025
;; MSG SIZE rcvd: 101
まとめ
このチャレンジでは、基本的なホスト名解決の管理方法を学びました。/etc/hosts ファイルを編集して静的解決を設定する方法と、/etc/resolv.conf ファイルを介してシステムを DNS クライアントとして構成し、動的解決に切り替える方法を実践しました。これらは、Linux におけるネットワーク設定とシステム管理の基礎となる重要なスキルです。



