BIND no puede resolver un nombre de dominio

BIND no puede resolver un nombre de dominio

Tengo un servidor BIND ubuntu como servidor DNS privado para comzona y dos hosts (servidores web). Los tres son hosts virtuales que utilizan una caja virtual y se conectan entre sí mediante una tarjeta de host virtual.

Tengo este archivo de configuración en el servidor DNS para resolución directa:

$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

Intento conectarme a ambos hosts usando su nombre de dominio. El primero se abre correctamente. El segundo nunca podrá abrirse.

Ambos son pingaple. Aquí está el segundo resultado del ping al host de mi máquina: 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

Puedo resolver host2.com si uso el hostarchivo local en mi máquina con Windows agregando esta entrada:

192.168.56.8    host2.com

No puedo encontrar por qué mi servidor DNS no puede resolver host2pero sí puede resolverlo host1.

Aquí está el named.conf.localarchivo:

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";
};

¿No creo que los nombres de los archivos forward.host1.com reverse.host1.comtengan ningún efecto en la resolución? ¿ellos?

EDITAR: Para comprobar las configuraciones:

/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

¿Alguien puede indicarme por qué no puedo resolver host2?

EDITAR: Después de una respuesta sugerida, el archivo se actualizó a lo siguiente pero sin ninguna esperanza. Ahora no puedo comunicarme ni con el host1 ni con el host2, aunque están en funcionamiento y puedo comunicarme con ellos por 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

Respuesta1

Parece que está teniendo algunas dificultades, así que aquí hay dos (con suerte) ejemplos que funcionan para usted. Tenga en cuenta que la primera opción (la .comzona) probablemente impedirá la resolución de .comdominios normales (por ejemplo google.com, ). La segunda opción (la dns1.comzona) no tiene este inconveniente.

.comArchivos de zona de ejemplo

ex. /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; };
};


ex. /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

Tenga en cuenta que está bien utilizar un punto como este, aunque podría decirse que es redundante en este caso:

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

Y esto es lo que debes evitar:

;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!


ex. /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.

Tenga en cuenta que la configuración anterior probablemente limite sus opciones con respecto a que sus máquinas accedan .coma dominios distintos a los que usted crea (es decir, es probable que no puedan acceder a ellos). Si desea que accedan .coma dominios extranjeros, puede probar el enfoque más limitado a continuación.


dns1.comArchivos de zona de ejemplo

ex. /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; };
};

Puede utilizar la misma named.conf.localentrada de zona inversa que la anterior.


ex. /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


ex. /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. 

Respuesta2

Su archivo de zona es incorrecto, en las líneas 20 y 21 como se sugiere. Específicamente no debería tener el "." después de host1 y host2.

El . significa que esto es absoluto, en lugar de relativo a la zona, por lo que se opone al nombre de dominio host1 y no tiene entrada para host1.com.

información relacionada