BIND는 도메인 이름을 확인할 수 없습니다.

BIND는 도메인 이름을 확인할 수 없습니다.

com저는 영역과 두 개의 호스트(웹 서버)를 위한 개인 DNS 서버로 BIND 우분투 서버를 가지고 있습니다 . 3개는 Virtual Box를 이용한 가상호스트이며, 가상호스트카드를 이용하여 함께 연결됩니다.

정방향 확인을 위해 DNS 서버에 다음 구성 파일이 있습니다.

$TTL    604800

@       IN      SOA     dns1.com. admin.com. (
                              19        ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

; name servers - NS records
    IN  NS  dns1.com.

; name servers - A records
dns1.com.          IN      A       192.168.56.3

; 192.168.56.0/24 - A records
@           IN      NS      dns1.com.
host1.          IN      A   192.168.56.7
host2.          IN      A   192.168.56.8

도메인 이름을 사용하여 두 호스트 모두에 연결을 시도합니다. 첫 번째는 올바르게 열립니다. 두 번째는 절대 열 수 없습니다.

둘 다 핑가플이다. 내 컴퓨터의 두 번째 호스트 ping 결과는 다음과 같습니다. C:\Users\e>ping 192.168.56.8

Pinging 192.168.56.8 with 32 bytes of data:
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64
Reply from 192.168.56.8: bytes=32 time<1ms TTL=64

host다음 항목을 추가하여 Windows 컴퓨터에서 로컬 파일을 사용하는 경우 host2.com을 확인할 수 있습니다 .

192.168.56.8    host2.com

host2내 DNS 서버가 확인할 수 없지만 해결할 수 있는 이유를 찾을 수 없습니다 host1.

파일 은 다음과 같습니다 named.conf.local.

zone ".com" {
    type master;
    file "/etc/bind/forward.host1.com";
};

zone "56.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/reverse.host1.com";
};

forward.host1.com reverse.host1.com파일 이름이 해상도에 영향을 미치지 않는 것 같나요 ? 그들은 할?

편집하다: 구성을 확인하려면:

/etc/bind$ sudo named-checkzone com forward.host1.com
forward.host1.com:20: ignoring out-of-zone data (host1)
forward.host1.com:21: ignoring out-of-zone data (host2)
zone com/IN: loaded serial 19
OK

내가 왜 호스트2를 해결할 수 없는지 알려줄 수 있는 사람이 있나요?

편집: 답변이 제안된 후 파일이 다음 내용으로 업데이트되었지만 아무런 희망도 없었습니다. 이제 호스트1이나 호스트2가 실행 중이고 IP를 통해 연결할 수 있지만 둘 다 연결할 수 없습니다.

$TTL    604800



@       IN      SOA     dns1.com. admin.com. (

                              24        ; Serial

                         604820         ; Refresh

                          86600         ; Retry

                        2419600         ; Expire

                         604600 )       ; Negative Cache TTL



; name servers - NS records

    IN  NS  dns1.com.


; name servers - A records

dns1.com          IN      A       192.168.56.3


; 192.168.56.0/24 - A records

@           IN      NS      dns1.com.

host1           IN      A   192.168.56.7

host2           IN      A   192.168.56.8

답변1

약간의 어려움을 겪고 있는 것처럼 들리므로 여기에 두 가지 (희망적으로) 작동하는 예가 있습니다. 첫 번째 옵션(영역 .com)은 일반 .com도메인(예: google.com)의 확인을 방지할 가능성이 높습니다. 두 번째 옵션( dns1.com영역)에는 이러한 단점이 없습니다.

예제 .com영역 파일

전. /etc/bind/named.conf.local

; "db.com.tld" is a random name - use whatever you like.
; The same goes for "db.rev.192".
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.

zone "com." IN {
    type master;
    file "/etc/bind/zones/db.com.tld";
    allow-transfer { none; };
};

zone "56.168.192.in-addr.arpa" IN {
    type master;
    file "/etc/bind/zones/db.rev.192";
    allow-transfer { none; };
};


전. /etc/bind/zones/db.com.tld

; BIND data file for TLD ".com"
;
; This will likely break real ".com" websites (i.e. anything not listed here).

$TTL 3600
@   IN  SOA     com.    admin.com. (
                2018040501  ; Serial
                604800      ; Refresh period
                86400       ; Retry interval
                2419200     ; Expire time (28 days... later)
                604800 )    ; Negative Cache TTL (1 week)

; Name Servers - NS records
@       IN NS  ns1.com.   ; This is required
@       IN NS  ns2.com.   ; You should have two name servers

; Name Servers - A records
ns1                 IN A        192.168.56.3        ; This is required
ns2                 IN A        192.168.56.3        ; You should have two name servers

; Our domains/sub-domains
dns1                IN A        192.168.56.3        ; dns1.com
host1.dns1          IN A        192.168.56.7        ; host1.dns1.com
host2.dns1          IN A        192.168.56.8        ; host2.dns1.com

이 경우에는 중복될 수 있지만 다음과 같이 마침표를 사용해도 괜찮습니다.

;ok.period.com.     IN A        192.168.56.3        ; ok.period.com -> FQDN

그리고 피해야 할 사항은 다음과 같습니다.

;no.period.         IN A        192.168.56.3        ; Don't use periods for sub-domains
;no.period.com      IN A        192.168.56.3        ; While this works, this is actually accessed as no.period.com.com!


전. /etc/bind/zones/db.rev.192

; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf. 

$TTL 86400
@   IN SOA      com.    admin.com. (
                2018040501  ; Serial
                10800       ; Refresh
                3600        ; Retry
                604800      ; Expire
                86400 )     ; Minimum

; In this case, the number just before "PTR" is the last octet 
; of the IP address for the device to map (e.g. 192.168.56.[3])

; Name Servers
@       IN NS   ns1.com.
@       IN NS   ns2.com.

; Reverse PTR Records
3       IN PTR  dns1.com.   
7       IN PTR  host1.dns1.com.
8       IN PTR  host2.dns1.com.

위의 설정은 귀하가 생성한 도메인이 아닌 다른 도메인에 귀하의 컴퓨터가 액세스하도록 하는 옵션을 제한할 수 있다는 점에 유의하십시오 .com(즉, 해당 도메인에 액세스할 수 없을 가능성이 높습니다). 외국 도메인에 액세스하기를 원하는 경우 .com아래의 더 좁은 접근 방식을 시도해 볼 수 있습니다.


예제 dns1.com영역 파일

전. /etc/bind/named.conf.local

; "db.dns1.com" is a random name - use whatever you like.
;
; Likewise, you can adjust your "allow-transfer" settings,
; etc. as needed.

zone "dns1.com" IN {
    type master;
    file "/etc/bind/zones/db.dns1.com";
    allow-transfer { none; };
};

named.conf.local위와 동일한 역방향 영역 항목을 사용할 수 있습니다 .


전. /etc/bind/zones/db.dns1.com

; BIND data for http://dns1.com

$TTL 3600 
@   IN SOA      ns1.dns1.com.   admin.dns1.com. (
                2018040501  ; Serial
                604820      ; Refresh
                86600       ; Retry
                2419600     ; Expire
                604600 )    ; Negative Cache TTL

; Name Servers - NS records
@       IN NS   ns1.dns1.com.   ; This is required
@       IN NS   ns2.dns1.com.   ; You should have two name servers

; Name Servers - A records
ns1                 IN A        192.168.56.3        ; This is required
ns2                 IN A        192.168.56.3        ; You should have two name servers

; Our domains/sub-domains
dns1.com.           IN A        192.168.56.3         ; dns1.com 
host1               IN A        192.168.56.7         ; host1.dns1.com
host2               IN A        192.168.56.8         ; host2.dns1.com


전. /etc/bind/zones/db.rev.192

; BIND reverse data file.
; The domain, etc. used should be a listed 'zone' in named.conf. 

$TTL 86400
@   IN SOA      dns1.com.   admin.dns1.com. (
                2018040501  ; Serial
                10800       ; Refresh
                3600        ; Retry
                604800      ; Expire
                86400 )     ; Minimum

; In this case, the number just before "PTR" is the last octet 
; of the IP address for the device to map (e.g. 192.168.56.[3])

; Name Servers
@       IN NS   ns1.dns1.com.
@       IN NS   ns2.dns1.com.

; Reverse PTR Records
3       IN PTR  dns1.com.   
7       IN PTR  host1.dns1.com.
8       IN PTR  host2.dns1.com. 

답변2

영역 파일이 잘못되었습니다. 제안된 대로 20행과 21행에 있습니다. 특히 "."가 없어야 합니다. 호스트1과 호스트2 뒤에.

. 이는 영역에 상대적인 것이 아니라 절대적인 것임을 의미합니다. 따라서 도메인 이름 호스트 1을 방해하고 호스트 1.com에 대한 항목이 없습니다.

관련 정보