ホストコマンドは成功しましたが、DNSを解決できませんでした。

ホストコマンドは成功しましたが、DNSを解決できませんでした。

Bind9 DNSサーバーの設定を完了しようとしています。

どちらのシステムもDebian Stretchを実行します。サービスコンピュータ(192.168.0.113)はVMホストで、クライアントコンピュータは(192.168.0.104)仮想ゲストです。

サーバーが正常に動作しているようですが、混乱した結果が表示されます。コマンドはhost期待どおりに解析します。

$ host wiles.local
wiles.local has address 192.168.0.113

ただし、他の場所ではホスト名でシステムを参照することはできません。

$ ssh wiles.local
ssh: Could not resolve hostname wiles.local: Name or service not known

もちろん、明示的にIPを参照することで、システムに問題なくSSHで接続できます。

クライアントコンピュータが正しい場所でDNSを探しているようです。

$ nslookup google.com
Server:         192.168.0.113
Address:        192.168.0.113#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.192.206

ここで違いが何であるか、この問題を解決するために何ができるかを理解するのに役立つことを願っています。

私が知っている関連構成情報を提供します。

サービスシステムでは:

/etc/bind/named.conf.local

zone "wiles.local" {
        type master;
        file "/etc/bind/db.wiles.local";
};

/etc/bind/db.wiles.local

$TTL    86400
@       IN      SOA     wiles.local. root.localhost. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
        IN      A       192.168.0.113
@       IN      NS      localhost.
www     IN      A       192.168.0.104

接続システムでは:

/etc/ネットワーク/インターフェース

auto lo enp0s3
iface lo inet loopback

iface enp0s3 inet static
        address 192.168.0.104
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.113

ついに:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.113

最後のファイルに関する注意:騒々しい警告に対処するために、その行を自分で書く必要がありました。それまでは、システムは外部サービスまたは内部サービスのホスト名を解決できません。私はこれがインストールして実行することで解決できる別の問題だと思いますresolvconfが、問題が関連する場合に備えて言及します。

答え1

Johan Myréenがコメントで指摘したように、予約済みTLDを使用して問題が発生したようです。私はmDNSを使用していないので、からに切り替えると名前解決が正常に動作します.local.com

関連情報