Tengo un servidor BIND ubuntu como servidor DNS privado para com
zona 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 host
archivo 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 host2
pero sí puede resolverlo host1
.
Aquí está el named.conf.local
archivo:
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.com
tengan 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 .com
zona) probablemente impedirá la resolución de .com
dominios normales (por ejemplo google.com
, ). La segunda opción (la dns1.com
zona) no tiene este inconveniente.
.com
Archivos 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 .com
a dominios distintos a los que usted crea (es decir, es probable que no puedan acceder a ellos). Si desea que accedan .com
a dominios extranjeros, puede probar el enfoque más limitado a continuación.
dns1.com
Archivos 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.local
entrada 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.