web-dev-qa-db-ja.com

CentOS7は短いホスト名のnslookupを解決できません

CentOS 7(Virtual Box VM内)でDNSルックアップを設定してみました。これは、DNSと同じ仮想マシン上のFQDNに対して機能します。ただし、短いホスト名を解決しようとすると失敗します。

これがいくつかのサーバーで機能しているのを見て、自分でセットアップする方法を学びたいと思いました。これに関する助けに感謝します。

以下は適切な構成です:

ファイル-/ etc/named.conf

    //
    // named.conf
    //

    options {
        listen-on port 53 { 127.0.0.1; 192.168.56.101; };
        listen-on-v6 port 53 { ::1; };
        directory   "/var/named";
        dump-file   "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; };
        allow-transfer  { localhost; 192.168.56.101; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
    };

    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };

    zone "." IN {
        type hint;
        file "named.ca";
    };

    zone "eai.com" IN {
        type master;
        file "forward.linuxzadmin";
        allow-update { none; };
    };

    zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "reverse.linuxzadmin";
        allow-update { none; };
    };



    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";

ファイル-/ etc/resolv.conf

    # Generated by NetworkManager
    # nameserver 169.144.126.136
    # nameserver 146.11.115.200
    # nameserver 153.88.112.200
    # NOTE: the libc resolver may not support more than 3 nameservers.
    # The nameservers listed below may not be recognized.
    # nameserver 147.128.170.138
    # nameserver 127.0.0.1
    nameserver 192.168.56.101

ファイル-/ etc/hosts

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
    192.168.56.101  eai16.eai.com eai16 eai16-oam

ファイル-/ var/named/forward.linuxzadmin

    $TTL 86400
    @       IN SOA  masterdns.eai.com. root.eai.com. (
                                    2014051001      ; serial
                                            3600    ; refresh
                                            1800    ; retry
                                            604800  ; expire
                                            86400   ; minimum
    )
    @               IN      NS      masterdns.eai.com.
    @               IN      A       192.168.56.101
    masterdns       IN      A       192.168.56.101
    node1           IN      A       192.168.56.101
    eai16       IN  A   192.168.56.101

ファイル-/ var/named/reverse.linuxzadmin

    $TTL 86400
    @       IN SOA  masterdns.eai.com. root.eai.com. (
                                    2014051001      ; serial
                                            3600    ; refresh
                                            1800    ; retry
                                            604800  ; expire
                                            86400   ; minimum
    )
    @               IN      NS      masterdns.eai.com.
    @               IN      PTR     eai.com.
    masterdns       IN      A       192.168.56.101
    node1           IN      A       192.168.56.101
    eai16       IN  A   192.168.56.101
    101             IN      PTR     masterdns.eai.com.
    101             IN      PTR     node1.eai.com.
    101     IN  PTR eai16.eai.com.
    101     IN  PTR eai16.

コマンド出力

ホスト名

[root@eai16 etc]# hostname -f
eai16.eai.com
[root@eai16 etc]# hostname -s
eai16

FQDNでのNSルックアップ

[root@eai16 etc]# nslookup eai16.eai.com
Server:         192.168.56.101
Address:        192.168.56.101#53

Name:   eai16.eai.com
Address: 192.168.56.101

FQDNを掘り下げる

[root@eai16 etc]# Dig eai16.eai.com

; <<>> Dig 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> eai16.eai.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62927
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;eai16.eai.com.                 IN      A

;; ANSWER SECTION:
eai16.eai.com.          86400   IN      A       192.168.56.101

;; AUTHORITY SECTION:
eai.com.                86400   IN      NS      masterdns.eai.com.

;; ADDITIONAL SECTION:
masterdns.eai.com.      86400   IN      A       192.168.56.101

;; Query time: 0 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Wed Jun 28 21:13:38 IST 2017
;; MSG SIZE  rcvd: 98

FQDNのホスト

[root@eai16 etc]# Host eai16.eai.com
eai16.eai.com has address 192.168.56.101
[root@eai16 etc]# Host `hostname`
eai16.eai.com has address 192.168.56.101

これで、すべてのコマンド(nslookup、Dig、およびHost)が短いホスト名で失敗します。

[root@eai16 etc]# Host eai16
Host eai16 not found: 2(SERVFAIL)
[root@eai16 etc]# Host eai16
;; connection timed out; no servers could be reached
[root@eai16 etc]# nslookup eai16
Server:         192.168.56.101
Address:        192.168.56.101#53

** server can't find eai16: SERVFAIL

[root@eai16 etc]# Dig eai16

; <<>> Dig 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> eai16
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 23006
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;eai16.                         IN      A

;; Query time: 0 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Wed Jun 28 21:25:18 IST 2017
;; MSG SIZE  rcvd: 34

構成に不足/誤りがあることはわかっていますが、何が原因かわかりません。

1
WrijuB

Resolv.confが静的でない場合、問題はresolv.conf/DHCP構成にあります。

ドメインeai.comをresolv.confsearchディレクティブに追加する必要があります

DNS名の検索を試みると、リゾルバーライブラリは、失敗した場合、解決可能な名前が見つかるまで、または検索ディレクティブのドメインリストを使い果たすまで、検索ディレクティブにドメインを追加して名前を解決しようとします。

0
Rui F Ribeiro