ローカルDNSサーバーを使用してローカルドメインを確認し、リモートDNSサーバーを使用してリモートドメインを確認するようにsystemd-resolvedとsystemd-networkdを構成するにはどうすればよいですか?

ローカルDNSサーバーを使用してローカルドメインを確認し、リモートDNSサーバーを使用してリモートドメインを確認するようにsystemd-resolvedとsystemd-networkdを構成するにはどうすればよいですか?

LANに接続され、ゲートウェイを介してインターネットに接続します。ローカルネットワークには、ローカルネットワーク上のコンピュータのホスト名を解決できるDNSサーバーがあります。

整理したい体系的分析そしてシステムネットワークこのように、ローカルホスト名の検索要求はローカルDNSサーバーにのみ転送(ルーティング)され、他のすべてのホスト名の検索要求は他のリモートDNSサーバーにのみ転送されます。

構成ファイルがどこにあるのかわからず、さらに多くのファイルを追加する必要があるか、答えにそのパスを指定するように要求する必要があるとします。

ベストアンサー1

ローカルネットワークインターフェイスの設定ファイル(名前パターンと一致するファイル/etc/systemd/network/*.network)で、DHCPサーバーを使用してローカルDNSサーバーアドレスを取得するように指定する必要があります。DHCP=オプション:

[Network]
DHCP=yes

または、次のようにアドレスを明示的に指定します。DNS=オプション:

[Network]
DNS=10.0.0.1

また、(同じセクションで)以下を使用してローカルドメインを指定する必要があります。Domains=オプション

Domains=domainA.example domainB.example ~example

domainA.example domainB.example次の動作を得るためにローカルドメインを指定します。systemd-resolved.service, systemd-resolvedマニュアルページ):

各インターフェイス ドメインの 1 つで終わるホスト名の検索は、一致するインターフェイスにのみルーティングされます。

この問題はhostX.domainA.example解決することができます。ただローカルDNSサーバーを介して。

~example次の動作を得るために、次に終わるすべてのドメインがルーティング専用ドメインとして処理されることを指定しますexample(説明では)。これ犯罪):

ルート専用ドメインを持つDNSサーバーは、指定されたドメインでのみ使用できます。

この問題はhostY.on.the.internet解決することができます。ただ当社のグローバルリモートDNSサーバーで提供されています。

ノート

理想的には、DHCPプロトコルを使用するときは、上記のネットワークインターフェイス設定ファイルに明示的に指定せずにDHCPサーバーからローカルドメイン名を取得する必要があります。バラよりUseDomains=オプション。ただし、この機能にはまだ解決されていない問題があります。systemd-networkd DHCP 検索ドメインオプション質問。

リモートDNSサーバーをグローバルシステム全体のDNSサーバーとして指定する必要があります。/etc/systemd/resolved.confファイルでこれを行うことができます。

[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844

設定を再ロードしてサービスを再起動することを忘れないでください。

$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved

警告する!

上記の保証は、名前解決中にのみ適用されます。体系的分析- バラよりマニュアルページnss-resolve,libnss_resolve.so.2そしてsystemd-resolved.service, systemd-resolved のマニュアルページ

また見なさい:

引用:

おすすめ記事