meu domínio é easydata.ir e eu crio um arquivo de zona para meu domínio, mas quando uso o comando "dig" ele retorna:
; <<>> 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
então coloquei meu arquivo de configuração, diga-me como configurá-lo corretamente.
$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 é meu arquivo /etc/named.conf. por favor me diga se está correto.
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; };
};
Responder1
Uma rápida olhada no domínio em questão mostra que a delegação é a seguinte:
;; 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: tanto ns1 quanto ns2 aparentemente têm o mesmo IP, tornando NS
inútil a existência de duas entradas, pois claramente ainda há um único ponto de falha.)
Entretanto, a consulta 198.143.181.237
resulta em uma resposta com status REFUSED
(ou seja, o servidor de nomes está configurado para não permitir consultas para esta zona; alternativamente, a zona não existe).
$ 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 a configuração ( named.conf
ou um arquivo referenciado lá usandoinclude
), particularmente que o relevantezone
a entrada está em vigor e se háallow-*
diretivas nas seções zone
ou options
que não permitiriam consultas.
Particularmente esta linha na sua configuração parece problemática, pois limita severamente quem tem permissão para consultar o seu servidor de nomes:
allow-query { localhost; 87.107.219.167; };
Comentar ou remover totalmente essa linha é provavelmente a solução mais limpa.
Responder2
Supondo que você já tenha o servidor de nomes primário, que é a fonte autorizada do domínio que ele representa, e você alterou o name.conf para estabelecer seu domínio (digamos, Exemplo.com), você precisa:
- crie dois novos arquivos - os arquivos de zona direta e reversa, que você colocará no diretório /var/named. Este local é especificado pela diretiva "directory" no arquivo de configuração nomeado.conf.
Crie o arquivo da zona de encaminhamento
O arquivo de zona de encaminhamento contém registros “A” que emparelham os nomes dos hosts na zona, também conhecido como domínio, com seus respectivos endereços IP. Também pode conter registros CNAME, que são apelidos para os nomes de host reais nos registros A, e registros MX para servidores de correio.
Você deve criar um arquivo básico de zona de encaminhamento, /var/named/example.com.zone, e adicionar as seguintes linhas a ele. Seu arquivo de zona deve ser semelhante ao exemplo abaixo:
; 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.
A primeira linha sem comentários é o TTL, que neste caso é um dia para todos os registros (D significa Dia). Os especificadores na linha SOA (Start of Authority) são igualmente óbvios.
O registro NS deve ter o FQDN (Nome de Domínio Totalmente Qualificado) do host. Também deve haver um registro A no arquivo com um endereço IP válido para o host. para teste, você deve usar o endereço IP do host local 127.0.0.1. Caso contrário, um endereço IP real.
Você deve usar a data de hoje (como no dia atual) e anexar um contador começando em 01 para o número de série. O número de série acima é a primeira alteração de 2020.01.22. O número de série é incrementado sempre que o arquivo de zona é alterado. Se houvesse servidores de nomes secundários que usassem este como primário, eles não seriam atualizados a menos que o número de série fosse incrementado.
Agora você precisa adicionar os arquivos da zona de encaminhamento ao nomeado.conf
Antes que seu servidor DNS funcione, entretanto, você precisa criar uma entrada em /etc/named.conf que apontará para seu novo arquivo de zona. Adicione as seguintes linhas abaixo da entrada da zona de dicas de nível superior, mas antes das linhas "incluir".
zone "example.com" IN {
type master;
file "example.com.zone";
};
- reiniciar nomeado
faça testes usando os comandos dig e nsloookup:
cavar test1.example.com
dig mx example.com
nslookup test1.exemplo.com
cavar www.amd.com
Esteja ciente de que é necessário usar o FQDN para esses comandos, exceto para o comando nslookup, desde que o domínio e as entradas de pesquisa de Exemplo.com sejam fornecidos no arquivo /etc/resolv.conf. Caso contrário, basta usar os FQDNs para todos os testes.
Depois disso, você deverá estar pronto para começar a usar os servidores de nomes raiz, se necessário.
Responder3
Na sua saída dig você vê, entre outros, que a resposta que você recebe é dos resolvedores públicos do Google
;; SERVER: 8.8.8.8#53(8.8.8.8)
Ao testar seu próprio servidor de nomes e zonas DNS, você precisa instruir dig
para consultar seu próprio servidor de nomes e não usar aqueles /etc/resolve.conf
com
dig ns1.example.com. @127.0.0.1
(ou qualquer que seja o endereço IP do servidor de nomes com o qual você está testando)