Ubuntu 17.04でsystemd-resolvedを無効にするにはどうすればよいですか?
で無効にすると動作systemctl disable
しませんでした(サービスはNetworkmanagerによって再起動されたようですか?)
Ubuntu 17.04でsystemd-resolvedを無効にするにはどうすればよいですか?
で無効にすると動作systemctl disable
しませんでした(サービスはNetworkmanagerによって再起動されたようですか?)
回答:
このメソッドは、Ubuntuリリース17.04(Zesty)、17.10(Artful)、18.04(Bionic)、18.10(Cosmic)、および19.04(Disco)で機能します。
systemdで解決されたサービスを無効にして停止します。
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
次に、の[main]
セクションに次の行を追加します/etc/NetworkManager/NetworkManager.conf
。
dns=default
シンボリックリンクを削除する /etc/resolv.conf
rm /etc/resolv.conf
NetworkManagerを再起動します
sudo systemctl restart NetworkManager
また、systemd-resolvdを無効にすると、一部のユーザーのVPNでの名前解決が壊れることがあることに注意してください。ランチパッドでこのバグをご覧ください(ありがとう、Vincent)。
私は最近(k)Ubuntu 17.04にアップグレードしましたが、systemdへの変更にも偶然出会いました。
私のセットアップは、ブロードバンドHUBにDNSプロバイダーがあり、これがネットワーク上のすべてのデバイスの主要な情報源であるという点で、かなり典型的だと思います(そのうちいくつか)。
systemdにはいくつかの美しさがありますが、それはすべて悪いわけではありませんが、ドキュメント、Ubuntuチームからのコミュニケーションの欠如、そして「誰にとっても壊れているにも関わらずそれを変えましょう」という考え方が本当に悪いのです。
いくつかの髪を切り取った後の私のための解決策は、/ etc / systemd / resolved.confを編集することでした:
[Resolve]
DNS=192.168.1.254 # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan # <-- change to your localdomain name (maybe .local)
#LLMNR=yes <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
これがなぜ機能しないのか理解できなかったので、/ etc / resolv.confをsystemdが提供するものに切り替えることも必要であることがわかりました。すぐに使えるインストールの場合はそうではありません(理由は不明です)。
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
ローカルDNSサーバーは使用されず、すべてのDNS要求は私のHUBに送信されます。
systemd-resolvがデフォルトになったため、これは他のソリューションを切り取って配置するよりもはるかに優れたソリューションだと思います。
関連する問題は、/ etc / nsswitch.confが削除されていることです。
次のようになります。
ホスト:ファイルmdns4_minimal dns [NOTFOUND = return] resolve [!UNAVAIL = return] dns
[NOTFOUND = return]は処理がそこで終了することを意味するため、これは紛らわしい構成です。それ以降のエントリは使用されません。
VPNでリークの問題が発生し、systemdの設定方法がわからない場合(私のように)、最初の回答で説明した方法で削除できますがdns=default
、ネームサーバー127.0をアクティブにするため、行を追加しないでください.0.1。ルーターをdnsとして設定するには、/etc/resolvconf/resolv.conf.d/
フォルダーに「tail」ファイルを作成し、次の行を追加しますnameserser 192.168.1.1
ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
あなたがこのファイルを台無しにしたなら、してください。