ローカルネットワークインターフェイスの構成ファイルでは、DHCP=
オプションを使用してDHCPサーバーからローカルDNSサーバーアドレスを取得することを指定する必要があります。
[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 manページから):
インターフェイスごとのドメインのいずれかで終わるホスト名のルックアップは、一致するインターフェイスのみにルーティングされます。
この方法hostX.domainA.example
は、ローカルDNSサーバーによってのみ解決されます。
で~example
終わるすべてのドメインexample
をルート専用ドメインとして扱い、次の動作を得るように指定します(このコミットの説明から)。
ルート専用ドメインを持つDNSサーバーは、指定されたドメインにのみ使用する必要があります。
この方法hostY.on.the.internet
は、グローバルなリモートDNSサーバーによってのみ解決されます。
注意
理想的には、DHCPプロトコルを使用する場合、ローカルドメイン名は、上記のネットワークインターフェイスの構成ファイルで明示的に指定するのではなく、DHCPサーバーから取得する必要があります。UseDomains=
オプションを参照してください。ただし、この機能にはまだ未解決の問題があります。systemd-networkdDHCP検索ドメインオプションの問題を参照してください。
グローバルなシステム全体の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
あぶない!
保証は名前がによって解決されている場合にのみ適用されます上記のsystemdに分解 -参照のmanページNSS-決意、libnss_resolve.so.2とにsystemd-resolved.serviceのmanページを、systemdに分解。
こちらもご覧ください:
参照:
.local
この例では使用しないことを検討しましたか?確かにavahiの場合、これはMDNS用に予約されているはずで、誤用するのは大したことではありませんでした。example.com
または.exampleを使用する方が明確です。