CentOS7은 짧은 호스트 이름의 nslookup을 확인할 수 없습니다.

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.

명령 출력

CPU 이름

[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 및 호스트)이 짧은 호스트 이름에서 실패합니다.

[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

resolv.confresolv.conf가 정적이 아닌 경우 /DHCP 구성에 문제가 있는 것입니다.

eai.com 도메인에 추가해야 하는 search지시문resolv.conf

DNS 이름 조회를 시도할 때 확인자 라이브러리는 실패할 경우 확인 가능한 이름을 찾을 때까지 또는 검색 지시문의 도메인 목록이 소진될 때까지 검색 지시문에 추가된 도메인의 이름 확인을 연속적으로 시도합니다.

관련 정보