デフォルトだと/etc/resolv.confにスタティックなDNS情報が付加されるので、それを付加しない方法について記載します。
Table of Contents
1 デフォルトの/etc/resolv.conf
デフォルトだと以下の通りです。
- resolvconfが有効になっています。
- /etc/resolvconf/resolv.conf.d/tailの内容が/etc/resolv.confに追加されます。DHCPサーバからDNS情報を配布していると、この内容が邪魔になる場合があります。
- systemd-resolvedが無効になっています。
DHCPサーバからnameserver 192.168.11.2とsearch hiroom2.comが配布されている状態だと/etc/resolv.confは以下のようになります。
$ cat /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 nameserver 192.168.11.2 search hiroom2.com # ParrotDNS/OpenNIC nameserver 139.99.96.146 nameserver 37.59.40.15 nameserver 185.121.177.177 # Round Robin options rotate
2 /etc/resolvconf/resolv.conf.d/tailを無効にする
#!/bin/sh -e sudo mv /etc/resolvconf/resolv.conf.d/tail \ /etc/resolvconf/resolv.conf.d/tail.disable sudo systemctl restart resolvconf
3 systemd-resolvedを有効する
#!/bin/sh -e sudo systemctl disable resolvconf sudo systemctl stop resolvconf sudo rm /etc/resolv.conf sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf sudo systemctl enable systemd-resolved sudo reboot
4 resolvconfを有効にする
systemd-resolvedからresolvconfに戻す場合は以下のコマンドを実行します。
#!/bin/sh -e sudo rm /etc/resolv.conf sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved sudo ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf sudo systemctl enable resolvconf sudo reboot