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のみを使用するようになります。