LoginSignup
7
6

More than 3 years have passed since last update.

DHCPにresolv.confを書き換えて欲しくない

Posted at

DHCPクライアントが勝手にresolv.confを書き換えて困っている人に捧ぐ。

環境

  • OS: raspbian buster lite
  • DHCPクライアント: dhcpcd

未実証だが、dhclientでの対応方法も載せておいた。それぞれのクライアントとそれに適用可能な方法は次の通り。

client 適用可能な方法
dhcpcd 1, 2, 3, 4
dhclient 4, 5, 6

方法1 一番おすすめ(dhcpcd)

DHCPクライアントがDNS関連の情報を取得しないように設定する。

/etc/dhcpcd.confに以下を追記。

/etc/dhcpcd.conf
nooption domain_name_servers, domain_name, domain_search

他にも指定可能なオプションが色々。詳しくは、dhcpcd -Vで一覧をチェック。

参考サイト

方法2 (dhcpcd)

DHCPクライアントがresolvconfにDNS関連の情報を渡さないようにする。/usr/lib/dhcpcd/dhcpcd-hooks/20-resolv.confというフックを起動しないようにしているらしい。

/etc/dhcpcd.confに以下を追記

/etc/dhcpcd.conf
nohook resolv.conf

他のフックの起動も抑制できる。ls /usr/lib/dhcpcd/dhcpcd-hooksで一覧をチェック。

参考サイト

方法3 (dhcpcd)

そもそもDHCPを使わずにstaticに設定してしまう。

/etc/dhcpcd.confに設定を追加する。

/etc/dhcpcd.conf
interface eth0
static domain_name_servers=8.8.8.8

方法4

resolv.confファイルのパーミッションを上げて、DHCPクライアントが触れないようにする。

chattr +i /etc/resolv.conf

参考サイト

方法5 (dhclient)

DNS関連情報をDHCPサーバーにリクエストしないように設定する。

/etc/dhcp/dhclient.confの以下の項目を書き換える。

/etc/dhcp/dhclient.conf
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;

この中から、domain-name、domain-name-servers、domain-searchを消す。

参考サイト

方法6 (dhclient)

DHCPで取得したDNS情報を上書きする。

/etc/dhcp/dhclient.confに設定を追加する。

/etc/dhcp/dhclient.conf
supersede domain-name-servers 8.8.8.8

domain-name-servers以外のオプションの情報も上書きできる。

参考サイト

まとめ

結局、存在すると面倒な情報は取得しないのが一番。

7
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6