resolv.conf nameser 127.0.0.53 DHCPクライアントを変更する

DHCPクライアントとして使うマシンで、Ubuntu 18.04 デスクトップのインストール直後に名前解決ができない問題が発生した。

調べてみると、起動毎に/etc/resolv.confにはnameserver 127.0.0.53 が記載されてしまうようだ。

動作環境と解決策をまとめています。

動作環境

OSバージョン

# more /etc/os-release
NAME=”Ubuntu”
VERSION=”18.04.1 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 18.04.1 LTS”
VERSION_ID=”18.04″

ネットワーク

DHCPサーバからIPアドレスを取得する。
ルーターでMACアドレスとIPアドレスを紐づけし、固定IPアドレスにしている。

問題点

/etc/resolv.confファイルのnameserverが127.0.0.53になっている
以下のnameserverに変更したい
nameserver 192.168.0.11 …DNSサーバー1
nameserver 192.168.0.12 …DNSサーバー2

解決策

  1. 下記のコマンドでnameserver 127.0.0.53 の自動登録を停止する。
    #systemctl disable systemd-resolved.service
    #reboot
  2. パッケージ resolvconfをインストールし、/etc/resolv.confファイルに起動時に任意のnameserverを追記するように設定する
  3. OS再起動後に、/etc/resolv.confが書き換わるため直接編集しても意味がない

resolvconfパッケージの導入と設定方法

  1. resolvconfパッケージのインストール
    #apt -y install resolvconf
  2. /etc//etc/resolvconf/resolv.conf.d/tailファイルの編集
    #cp /etc/resolvconf/resolv.conf.d/tail /etc/resolvconf/resolv.conf.d/tail.orig
    #vi /etc/resolvconf/resolv.conf.d/tail
    nameserver 192.168.0.11
    nameserver 192.168.0.12
  3. OSを再起動する
    #reboot
  4. /etc/resolv.confファイルの確認
    #more /etc/resolv.confファイルの確認# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    # DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN
    # 127.0.0.53 is the systemd-resolved stub resolver.
    # run “systemd-resolve –status” to see details about the actual nameservers. …※1

    nameserver 192.168.11.50 …※2
    nameserver 192.168.11.51
    ※1 /etc/resolvconf/resolv.conf.d/headファイルの内容が反映される
    ※2 /etc/resolvconf/resolv.conf.d/tailファイルの内容が反映される

コメント

  1. ちくはら より:

    resolvconfの設定に127.0.0.53をブラックリストとして追加して、resolvconf -uすれば消えますよ。

    • 管理人 より:

      ちくはらさん
      教えいただいてありがとうございます。
      resolvconfの設定に127.0.0.53をブラックリストとして追加というのは、どのようなコマンドを使うのでしょうか。
      # echo “nameserver 127.0.0.53” | resolvconf -d wlan0
      とやってみたのですが、消えなかったのです。教えていただけるとありがたいです。

      かず

  2. ゆあ より:

    /etc/resolvconf.conf

    # DO NOT use local unbound as resolver
    resolv_conf_local_only=NO
    append_nameservers=”PrimaryCacheDNS SecondaryCacheDNS”
    name_server_blacklist=”127.0.*”

    resolvconf.confは存在しなければ作ってください。
    終わったらresolvconf -uか再起動してください。

  3. ゆあ より:

    [追記]もしかしたら↓も追記しないと駄目かもです。
    resolv_conf=/etc/resolv.conf

  4. 管理人 より:

    ゆあ さん
    参考になりました。ありがとうございます。

タイトルとURLをコピーしました