私の会社では、Ubuntu VM 上のクライアントにソフトウェアを配布しています。最近、すべてのクライアント VM を Ubuntu 16/18 から Ubuntu 20.04 に更新しました。
内部ネットワークで DNS 名前解決が機能しないという問題が発生しています。ネットワーク外では機能しますが (外部 Web サイトに ping を送信できます)、内部ネットワーク上のマシンに DNS 名で接続することはできず、IP アドレスでのみ接続できます。多くの場合、古い VM (Ubuntu 16/18) では内部 DNS 名を解決できましたが、同じネットワーク設定を使用して新しい VM をインストールすると機能しなくなります。
通常、VMは静的IPでセットアップします。クライアントのIT部門からネットワーク情報と内部DNSサーバーが提供され、00-installer-config.yaml
それに応じてファイルを設定します。
/etc/netplan/00-installer-config.yaml
設定例:
network:
ethernets:
enp0s10f0:
addresses: [192.168.10.200/24]
gateway4: 192.168.10.1
nameservers:
addresses: [192.168.10.1, xxx.xxx.xxx.xxx, etc.]
version: 2
古い VM では、ローカル ドメイン名を追加するまで、DNS 名で内部マシンに ping できないことがよくありました。たとえば、ping fs01
機能しないがping fs01.clientdomain.local
機能する。ただし、Ubuntu VM では、これはまったく役に立たないようです。ドメイン名を使用するのではなく、常にファイル サーバーの IP アドレスに戻す必要があります。ほとんどの場合、IP は静的で変更されないため、これで問題ありませんが、常にそうであるとは限らず、DNS 名で接続できる方が望ましいです。
ネットワークとドメインは、私の得意分野ではありません。試してみるべきことや調査すべき分野について、どなたかご提案いただけると大変助かります。
アップデート
内部ネームサーバーの IP アドレスをコマンドに追加するという提案を試しnslookup
、スクリーンショットをいくつか撮りました。 VM は でホストを見つけることができているように見えますnslookup
が、ネームサーバーの IP を明示的に含めた場合のみです。
192.168.1.4 はネームサーバーであり、接続しようとしているホストでもあります。
注記:これは、同じ内部ネームサーバーと FQDN ホスト名を使用して、古い Ubuntu 18.04 VM で動作していました。
定期的なPing
user@ubuntu:~$ ping <hostname.domain.local>
ping: <hostname.domain.local>: Temporary failure in name resolution
シンプルなnslookup
user@ubuntu:~$ nslookup <hostname.domain.local>
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find <hostname.domain.local>: SERVFAIL
ネームサーバ IP を使用した nslookup
user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4
Server: 192.168.1.4## Heading ##
Address: 192.168.1.4#53
Name: <hostname.domain.local>
Address: 192.168.1.85
Name: <hostname.domain.local>
Address: 192.168.1.4
この場合、192.168.1.4 ネームサーバーは、yaml ファイル内の唯一のネームサーバー エントリでした。したがって、ファイル内のネームサーバーの順序に何らかの問題があるとは考えられません。
network:
ethernets:
enp0s10f0:
addresses: [192.168.1.21/24]
gateway4: <gateway>
nameservers:
search: [<domain.local>]
addresses: [192.168.1.4]
version: 2