systemd-resolvedがDNSサーバーを無視し、私が指定したサーバーのみを使用するようにします。

systemd-resolvedがDNSサーバーを無視し、私が指定したサーバーのみを使用するようにします。

DNSの問題があります。問題を絞り込むために、DHCPから返された2つのDNSサーバーの代わりに1つのDNSサーバーのみを指定するようにコンピュータのDNS設定を手動で構成するように求められました。問題は、1つのDNSサーバーまたは両方のサーバーで発生します。

ただし、systemd-resolvedが自分のDNS設定を手動で受け入れるように設定することはできません。

systemd-networkd私は次のことを試しましたが、再起動後も2つのサーバー間でDNS要求をランダムに送信しますsystemd-resolved

  • DNS=1.2.3.4[Resolve]セクションで指定/etc/systemd/resolved.conf
  • DNS=1.2.3.4(このフォルダ内のファイルのみ)セクション[Network]に割り当てる/etc/systemd/network/eth0.conf
  • /etc/resolv.confサーバーの1つを編集してコメントアウトします。

これらの何も変更されておらず、両方のresolvectlDNSサーバーがまだ利用可能であるとリストされており、テストを実行したとき、DNSクエリは私が指定した1つのサーバーのみを使用するのではなく、2つのサーバー間で分割されました。

DHCPで返されたサーバーではなく、私が指定した単一のDNSサーバーのみを使用するようにsystemdに指示するにはどうすればよいですか?

答え1

まだ試していませんが、DHCP応答でDNSサーバーを無視するオプションがあることがわかりました。 systemd.networkファイルにDHCPセクションを追加し(まだない場合)、次のUseDNSオプションを使用します。

[Network]
DNS=8.8.8.8  # Specify your DNS server manually

[DHCPv4]
UseDNS=no  # Don't use DNS servers from DHCP

答え2

コメントできる担当者が不足しています。マルビニウス答え。彼の答えは正しいですが、nspawnコンテナは80-container-host0.networkホストのシステムデフォルトを上書きするためにファイル名を指定する必要があります。

~からsystemd-nspawn文書:

systemd-networkd.service(8) には、デフォルトで生成され/usr/lib/systemd/network/80-container-ve.networkたホスト側インターフェイスと一致するネットワークファイルが含まれており、生成された仮想リンクで DHCP を介した自動アドレス設定を有効にする設定と、ホスト外部への自動 IP ルーティング含まれています。ネットワークインターフェース。また/usr/lib/systemd/network/80-container-host0.network、DHCPを介してクライアントアドレス割り当てを有効にする設定など、この方法で生成されたコンテナ側インターフェイスと一致する設定も含まれています。 systemd-networkdがホストとコンテナの両方の内部で実行されている場合は、コンテナからホストへの自動IP通信を使用して追加の外部ネットワークに接続できます。

/etc/systemd/network/80-container-host0.network:

# https://www.freedesktop.org/software/systemd/man/systemd.network.html#UseDNS=
#
# Disable adding the DNS from DHCP
#
[Match]
Virtualization=container
Name=host0

[Network]
DHCP=ipv4
DNS=

[DHCPv4]
UseDNS=false

答え3

静的IPを設定できる場合は、DNSサーバーを指定できます。ネットワーク管理者に利用可能な固定IPを問い合わせてみてください。いかなるIPも使用しないでください。そうしないと、簡単にIPが重複する可能性があります。

関連情報