質問: 最小限のネットワーク設定でdnsを変更する方法 dnsを置き換えるにはどうすればよいですか?ワイヤレス用のsystemd-networkdとwpa_supplicant、およびwpa_cliを除いて、ネットワークマネージャーを使用していません。重要な場合は、私はarchlinuxを使用しています。構成にdnsを追加することはできますが、systemctl restart systemd-resolvedは/etc/resolv.conf(/run/systemd/resolve/resolv.confにリンクされた記号)を上書きするか、再起動しますが、どういうわけかデフォルトのispdnsを/etc/resolv.confに追加します。誰かが理由、または私が構成したdnsのみを使用するようにこの問題を解決する方法を知っていますか?/etc/resolv.confを編集して含むだけにするとnameserver 208.67.222.222 nameserver 208.67.220.220 systemctl restart systemd-resolvedを実行するか、再起動すると、デフォルトのisp dnsが上書きされ、cat /etc/resolv.confは次のようになります。# this file is managed by systemd-resolved(8). do not edit. # # third party programs must not access this file directly, but # only through the symlink at /etc/resolv.conf. to manage # resolv.conf(5) in a different way, replace the symlink by a # static file or a different symlink. nameserver 75.75.75.75 nameserver 192.168.1.1 nameserver 208.67.222.222 # too many dns servers configured, the following entries may be ignored. nameserver 75.75.76.76 nameserver 208.67.220.220 man resolved.confで説明されているように、構成ファイル/etc/systemd/resolved.conf.d/resolv.confが1つだけあることを確認しました。# this file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the gnu lesser general public license as published by # the free software foundation; either version 2.1 of the license, or # (at your option) any later version. # # see resolved.conf(5) for details [resolve] dns=208.67.222.222 208.67.220.220 #fallbackdns=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 #llmnr=yes そして、ここにあるすべての構成ファイルから私のdnsを定義する他のファイルはありません:/etc/systemd/resolved.conf /etc/systemd/resolved.conf.d/*.conf /run/systemd/resolved.conf.d/*.conf /usr/lib/systemd/resolved.conf.d/*.conf dhcpcdまたはnetctlサービスも実行していないと思いますが、systemctl | grep dhcpcd、およびsystemctl | grep netctlは何も返しません。
回答: /etc/systemd/network/*.networkの下のネットワークプロファイルに以下を追加することで、この問題を解決しました。[dhcp] usedns=false デフォルトでは、これはtrueです。つまり、dnsサーバーはdhcpネットワーク接続からプルされます。この機能を無効にして、独自の静的dns(つまり、opendns)を入力すると、選択したdnsのみを使用するようになります。