
デフォルトのDNSをオーバーライドするようにUbuntu 20.04システムを構成する方法は?
デフォルトでは、グローバルおよびリンクごとのDNS設定があるようです。
私はうまくいかないいくつかのことを試しました:
/etc/systemd/resolved.conf
DNSサーバーを使用した編集/etc/systemd/network/enp0s3.conf
設定されたDNSサーバーを使用して作成された- 編集により、DHCP要求からすべてのDNS関連パラメータを削除します。
/etc/dhcp/dhclient.conf
これらすべての変更(およびその組み合わせ)により、DNSサーバーがグローバルDNSサーバーのリストに追加されます。
ほとんどの「解決策」は、シンボリックリンクをファイルとしてインストールまたはresolvconf
交換し、そこにDNSサーバーを設定することです。/etc/resolv.conf
どちらも解決策のようです。
systemd-resolved
既存のツール()を使用してDNSサーバーをオーバーライドしたいと思います。
コメントで@xenoidが提案したように、GUIを介してインターフェイスのDNSを設定すると、/etc/NetworkManager/system-connections/enp0s3.nmconnection
出力にresolvectl status
正しいDNSサーバーを含むファイルが生成されますが、これは私が望むものではありません。 configを使用して解決策を探していますが、systemd-resolved
可能なようですが、どのように実行するかはわかりません。 GUIのインストールが必要だからです。
答え1
修正する
/etc/systemd/resolved.conf
[Resolve] DNS=1.1.1.1 8.8.8.8 FallbackDNS=8.8.4.4
問題を解決するには、システムを再起動してください。
service systemd-resolved restart
systemd-resolve --status
(またはresolvectl status
最新バージョンのsystemdで)実行します。出力は次のようになります。Global DNS Servers: 1.1.1.1 8.8.8.8 ...
答え2
これコメント@David Rがとても役に立ちました。
rm -f /etc/resolv.conf
ln -sv /run/systemd/resolve/resolv.conf /etc/resolv.conf
答え3
iface
変数にホーム画面の名前を含めると、次のようにDNSアドレスを設定できます。
$ sudo resolvectl dns $iface x.y.z.t1 x.y.z.t2
$ sudo resolvectl domain $iface "myDomain.lan"
$ resolvectl dns $iface
Link 2 (ensX): x.y.z.t1 x.y.z.t2
$ resolvectl status $iface
Link 2 (ensX)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: x.y.z.t1
DNS Servers: x.y.z.t1
x.y.z.t2
DNS Domain: myDomain.lan
答え4
/etc/systemd/network/enp0s3.conf
DHCPでDNSを無視するには、このファイルに明示的に指定する必要があります。ほとんどの場合、構成管理ツールを介してdhcpを制御することを好むため、dhcpに関するすべてを無視する傾向があります。たとえば、上記のファイルのDHCPv4セクションは次のようになります。
[DHCPv4]
UseHostname=no
UseDNS=no
UseNTP=no
UseDomains=no
.network
また、ファイル拡張子を使用する必要があります。この[Match]
セクションでは、デバイス名が実際に何を意味するのか心配する必要がないようにも役立ちます。私の場合、別のデバイスファイルはありませんが、awsで上書きしました。
section of /etc/systemd/network/01-ec2-overrides.network
[Match]
Driver=ena ixgbevf vif
[DHCPv4]
UseHostname=no
UseDNS=no
UseNTP=no
UseDomains=no
[DHCPv6]
UseHostname=no
UseDNS=no
UseNTP=no