ubuntu2204_resolv_conf

2026-02-27 by Gemini & I.Ishimaru

Ubuntu 22.04 で /etc/resolv.conf が 127.0.0.53 に戻るのを防ぐ

Ubuntu 22.04 では、systemd-resolved や resolvconf パッケージの影響で、/etc/resolv.conf を編集しても再起動時に nameserver 127.0.0.53 へ書き換えられてしまう。これを物理的に固定する方法。

1. 現在の状態を確認

現在の resolv.conf がシンボリックリンク(参照)かどうかを確認する。

# ls -l /etc/resolv.conf
(結果例: /etc/resolv.conf -> ../run/resolvconf/resolv.conf)

2. 自動生成されるリンクを削除

OSによる自動更新を止めるため、現在のリンクファイルを削除する。

# rm /etc/resolv.conf

3. 固定用のファイルを新規作成

実体ファイルとして作成し、使用したいDNSサーバーを記述する。

# vi /etc/resolv.conf
*** 記述内容例
 nameserver 8.8.8.8
 nameserver 8.8.4.4

4. ファイルを物理的に保護(書き換え禁止)

root 権限やシステムサービスによる上書きを防止するため、不変属性 (Immutable bit) を付与する。

# chattr +i /etc/resolv.conf

5. 動作確認

nslookup を実行し、Server が指定した IP になっているか確認する。

# nslookup iscb.net
Server:  8.8.8.8
Address: 8.8.8.8#53

補足:設定を変更したくなった場合

属性がついたままだと編集できないため、一時的にロックを解除する必要がある。

  • ロック解除: # chattr -i /etc/resolv.conf
  • 再ロック: # chattr +i /etc/resolv.conf

用語解説

シンボリックリンク
Windowsのショートカットのようなもの。実体は別の場所にある。
chattr +i (不変属性)
ファイルを「絶対に編集・削除できない状態」にするコマンド。rootでも解除するまで操作不能になる。
127.0.0.53
systemd-resolved が提供するローカルスタブリゾルバ(DNSの中継役)のIP。