web-dev-qa-db-ja.com

dnsmasqがresolv.confを変更しないようにする

Dnsmasqを(再)起動するたびに、/etc/resolv.confnameserver 127.0.0.1 ...に置き換えられます。

ただし、そのマシンはローカルDNSサービスを使用する必要はありません。 (理由は尋ねないでください。環境全体はこんな感じです...)

実際にdnsmasqが/etc/resolv.confに触れないようにするにはどうすればよいですか?

resolvconfchattr +i /etc/resolv.confも削除することはできません。

4
Al Klimov

dnsmasqに別のresolv.confファイルを使用させることができるため、/etc/resolv.confが127.0.0.1を指す場合、dnsmasqは実際には他のresolv.confファイルのみを使用します/etc/resolv.confをそのままにします。

次の行をdnsmasq.confファイルに追加します。

resolv-file=/etc/dnsmasq.d/dnsmasq-resolv.conf

次に、/etc/dnsmasq.d/dnsmasq-resolv.confファイルを作成して、次のようにします。

nameserver 208.67.222.222
nameserver 208.67.220.220
1
airhuff
  1. systemctl disable resolvconf.service
  2. systemctl stop resolvconf.service
  3. rm -f /etc/resolv.conf
  4. echo 'nameserver 8.8.8.8' > /etc/resolv.conf # or any other IP you want to use as DNS server
  5. systemctl restart dnsmasq.service # just for testing
  6. cat /etc/resolv.conf # just to verify

マシンはDHCP経由でDNSサーバーアドレスを取得できませんが、問題は解決します。

1
Al Klimov