以前、Ubuntu 16.04で、Ubuntuの更新がdnsmasq
パッケージをインストールして構成し、それを自分の超安定、超高速、および独自に構成したBIND DNSサーバーよりも優先したときに裏切られたと感じました。 Ubuntuが私のワークステーションをハッキングしたように感じました。
私はたまたまシステム管理者として働いていたので、これは非常に受け入れがたいものでした。これはフリークアウトコールでした。これは、問題のトラブルシューティングを行うときに、ステップの1つでDig
またはnslookup
を使用し、lo
インターフェースが応答するのを見て驚いたときです。 パニック
この問題を修正するだけでなく、/etc/resolv.conf
が改ざんされないことを保証する方法はありますか?
/etc/NetworkManager/NetworkManager.conf
の簡単な編集とsystemd-resolved.service
の無効化(この回答のように https://askubuntu.com/a/907249/719422 )。しかし、それだけでは不可欠ですが、改ざん防止resolv.conf
を保証するものではありません。
あらゆる種類の再起動に耐えることがわかっている静的/etc/resolv.conf
を実際に適用するには、immutable属性を設定する必要があります。上記のBastian Voigtの答えに加えて、スーパーユーザーとしてこれを行います。
echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf
...nameserver
を選択した値に変更します。そうすれば、reallystatic /etc/resolv.conf
を持つことができます。
私が見つけた最善の解決策は、NetworkManagerが/etc/resolv.confを更新してから、静的DNSサーバーで新しい/etc/resolv.confファイルを作成するのを防ぐことです。 https://www.ctrl.blog/entry/resolvconf-tutorial をご覧ください。
ドキュメントによると、resolv.conf
を/usr/lib/systemd/resolv.conf
に書き込むことができます。これは、/etc/resolv.conf
からリンクできる静的ファイルです。それを書き換えるべきではありません。
Sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf
http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc
/ETC/RESOLV.CONF
/etc/resolv.confを処理する4つのモード(resolv.conf(5)を参照)がサポートされています。
...
静的ファイル/usr/lib/systemd/resolv.confが提供されており、127.0.0.53 DNSスタブ(上記参照)をDNSサーバーとしてのみリストしています。このファイルは、ローカルDNS APIをバイパスするすべてのローカルクライアントをsystemd-resolvedに接続するために、/ etc/resolv.confからシンボリックリンクされている場合があります。このファイルには検索ドメインは含まれていません。