/etc/resolv. conf:利用するDNSサーバの指定

/etc/resolv.conf

/etc/resolv.confについての概要と詳細

/etc/resolv.confとは

/etc/resolv.conf は、LinuxやUNIXシステムでDNS(Domain Name System)サーバの情報を設定するファイルです。ホスト名やドメイン名の名前解決を行う際に、どのDNSサーバを利用するかをシステムに伝える役割があります。

ファイルの記述例と構成

# /etc/resolv.conf の例
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.local
options timeout:2 attempts:3
  • nameserver: 使用するDNSサーバのIPアドレス(複数指定可)
  • search: DNS検索時に補完されるドメイン名(複数可、順番に適用)
  • options: 名前解決に使う各種オプション(タイムアウトやリトライ回数など)

主な役割

  • ドメイン名(例:google.com)からIPアドレスを取得するためのDNSサーバの指定
  • ローカルやグローバルなドメインの解決優先順位や検索パスの設定
  • ネットワークトラブル時のDNS切り替えなどの調整

編集と反映方法

  • /etc/resolv.conf の編集にはroot権限が必要です(sudo vi /etc/resolv.conf など)
  • 編集後は保存すれば即時反映されますが、一部のサービスでは再起動が必要な場合もあります

NetworkManagerやDHCPとの関係

最近のLinuxディストリビューションでは、NetworkManagersystemd-resolved、DHCPクライアントが /etc/resolv.conf を自動生成・上書きする場合があります。
恒久的な変更が必要な場合は、管理ツールやネットワーク設定ファイルから指定することが推奨されます。

注意点

  • 自動上書き対策としてファイルを不変(immutable)にする場合もあります(chattr +i /etc/resolv.conf
  • 記述ミスがあると名前解決ができなくなり、ネットワーク通信に支障をきたすことがあります
  • 設定反映後は dignslookup などで動作確認すると安心です

まとめ

/etc/resolv.conf は、LinuxのDNS設定を担う中心的なファイルです。シンプルな仕組みながら、ネットワーク全体の動作や通信に大きな影響を与えます。環境やツールによる自動管理との兼ね合いを理解し、安定した名前解決環境を構築しましょう。