mi dominio es easydata.ir y creo un archivo de zona para mi dominio, pero cuando uso el comando "excavar" devuelve:
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> ns1.easydata.ir
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 41395
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ns1.easydata.ir. IN A
;; Query time: 136 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jan 22 00:17:20 EST 2020
;; MSG SIZE rcvd: 44
así que puse mi archivo de configuración, por favor dígame cómo configurarlo correctamente.
$TTL 86400;
@ IN SOA ns1.easydata.ir. root.easydata.ir. (
2013042201 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL ) ; add nameservers
@ IN NS ns1.easydata.ir.
@ IN NS ns2.easydata.ir. ;IN MX 10 mail.easydata.ir.
ns1 IN A 198.143.181.237
ns2 IN A 198.143.181.237
www IN A 198.143.181.237
ftp IN A 198.143.181.237
Hera es mi archivo /etc/named.conf. por favor dime si es correcto.
options {
listen-on port 53 { 127.0.0.1; 198.143.181.237;};
#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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { localhost; 87.107.219.167; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion no;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.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";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
zone "easydata.ir" IN {
type master;
file "easydata.ir.zone";
allow-update { none; };
};
Respuesta1
Un vistazo rápido al dominio en cuestión muestra que la delegación tiene el siguiente aspecto:
;; AUTHORITY SECTION:
easydata.ir. 1440 IN NS ns1.easydata.ir.
easydata.ir. 1440 IN NS ns2.easydata.ir.
;; ADDITIONAL SECTION:
ns1.easydata.ir. 1440 IN A 198.143.181.237
ns2.easydata.ir. 1440 IN A 198.143.181.237
(Nota al margen: tanto ns1 como ns2 aparentemente tienen la misma IP, lo que hace que la existencia de dos NS
entradas sea inútil ya que claramente todavía hay un único punto de falla).
Sin embargo, la consulta 198.143.181.237
da como resultado una respuesta con estado REFUSED
(es decir, el servidor de nombres está configurado para no permitir consultas para esta zona o, alternativamente, la zona no existe en absoluto).
$ dig @198.143.181.237 easydata.ir NS +norec
; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @198.143.181.237 easydata.ir NS +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 49376
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 921222c5e444e2602d3491645e282d41475c2ae33ad32e29 (good)
;; QUESTION SECTION:
;easydata.ir. IN NS
;; Query time: 106 msec
;; SERVER: 198.143.181.237#53(198.143.181.237)
;; WHEN: Wed Jan 22 11:08:49 UTC 2020
;; MSG SIZE rcvd: 68
$
Verifique la configuración ( named.conf
o un archivo al que se hace referencia allí usandoinclude
), en particular que los pertinenteszone
la entrada está en su lugar y si hayallow-*
directivas en las secciones zone
o options
que no permitirían consultas.
En particular, esta línea en su configuración parece problemática ya que limita severamente quién puede consultar su servidor de nombres:
allow-query { localhost; 87.107.219.167; };
Comentar o eliminar esa línea por completo es probablemente la solución más limpia.
Respuesta2
Suponiendo que ya tiene el servidor de nombres principal, que es la fuente autorizada para el dominio que representa, y cambió el nombre.conf para establecer su dominio (digamos Ejemplo.com), necesita:
- cree dos archivos nuevos: los archivos de zona directa e inversa, que colocará en el directorio /var/named. Esta ubicación se especifica mediante la directiva "directorio" en el archivo de configuración nombrado.conf.
Crear el archivo de zona de avance
El archivo de zona de reenvío contiene registros "A" que emparejan los nombres de los hosts en la zona, también conocido como dominio, con sus respectivas direcciones IP. También puede contener registros CNAME, que son alias de los nombres de host reales en los registros A, y registros MX para servidores de correo.
Debe crear un archivo de zona de avance básico, /var/named/example.com.zone, y agregarle las siguientes líneas. Su archivo de zona debería verse como el siguiente ejemplo:
; Authoritative data for example.com zone
;
$TTL 1D
@ IN SOA serv.example.com root.serv.example.com. (
2020012201 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
$ORIGIN example.com.
example.com. IN NS serv.example.com.
epc IN A 127.0.0.1
server IN A 192.168.2.1
www IN CNAME server
mail IN CNAME server
test1 IN A 192.168.2.24
t1 IN CNAME test1
; Mail server MX record
example.com. IN MX 10 mail.example.com.
La primera línea sin comentarios es el TTL, que en este caso es un día para todos los registros (D significa Día). Los especificadores en la línea SOA (Inicio de autoridad) son igualmente obvios.
El registro NS debe tener el FQDN (nombre de dominio completo) del host. También debe haber un registro A en el archivo con una dirección IP válida para el host. Para realizar pruebas, debe utilizar la dirección IP del host local 127.0.0.1. En caso contrario, una dirección IP real.
Debe usar la fecha de hoy (como el día actual en que lo hace) y agregar un contador que comience en 01 para el número de serie. El número de serie anterior es el primer cambio del 22.01.2020. El número de serie aumenta cada vez que se cambia el archivo de zona. Si hubiera servidores de nombres secundarios que usaran este como principal, no se actualizarían a menos que se incrementara el número de serie.
Ahora necesita agregar los archivos de la zona de reenvío a nombrado.conf
Sin embargo, antes de que su servidor DNS funcione, necesita crear una entrada en /etc/named.conf que apunte a su nuevo archivo de zona. Agregue las siguientes líneas debajo de la entrada de la zona de sugerencias de nivel superior pero antes de las líneas "incluir".
zone "example.com" IN {
type master;
file "example.com.zone";
};
- reiniciar nombrado
Realice pruebas utilizando los comandos dig y nsloookup:
excavar prueba1.ejemplo.com
cavar mx ejemplo.com
nslookup prueba1.ejemplo.com
cavar www.amd.com
Tenga en cuenta que es necesario utilizar el FQDN para estos comandos, excepto para el comando nslookup, siempre que el dominio y las entradas de búsqueda de Ejemplo.com se proporcionen en el archivo /etc/resolv.conf. Si no es así, utilice los FQDN para todas las pruebas.
Después de esto, debería estar listo para comenzar a usar los servidores de nombres raíz, si es necesario.
Respuesta3
En el resultado de su excavación, ve, entre otras cosas, que la respuesta que obtiene proviene de los solucionadores públicos de Google.
;; SERVER: 8.8.8.8#53(8.8.8.8)
Cuando esté probando su propio servidor de nombres y zonas DNS, debe indicarle dig
que consulte su propio servidor de nombres y que no use los de /etc/resolve.conf
con
dig ns1.example.com. @127.0.0.1
(o cualquiera que sea la dirección IP del servidor de nombres con el que estás probando)