
У меня есть domain1.ir, настроенный на моем сервере DNS как домен главной зоны. Вот мои записи DNS для этого домена:
$ttl 1H
domain1.ir. IN SOA dns.domain1.ir. [email protected]. (
2014041610 ; serial
1D ; refresh
1H ; retry
1W ; expire
1H ) ; minimum
mail.domain1.ir. IN CNAME mail.mailserver.ir.
mail.domain1.ir IN CNAME mail.mailserver.ir
www.domain1.ir. IN CNAME domain1.ir.
www.domain1.com. IN CNAME domain1.ir.
domain1.com. IN CNAME domain1.ir.
domain1.ir. IN NS ns1.dns1.ir. ; 18
domain1.ir. IN NS dns.dns2.ir. ; 19
domain1.ir. IN NS dns.dns2.ir. ; 20
domain1.ir. IN NS ns2.dns1.ir. ; 21
domain1.ir. IN A xxx.xxx.xxx.xxx
dns.domain1.ir. IN A xxx.xxx.xxx.xxx
dns.domain1.com. IN A xxx.xxx.xxx.xxx
domain1.ir. IN MX 5 mail.domain1.ir.
xxx.xxx.xxx.xxx.domain1.ir. IN PTR mail.domain1.ir
domain1.ir. txt "v=spf1 ip4:xxx.xxx.xxx.xxx ip4:xxx.xxx.xxx.xxx -all"
когда я пробую команду nslookup следующим образом:
nslookup domain1.com localhost
У меня возникла следующая ошибка:
** server can't find domain1.com: REFUSED
Что не так с моими настройками?
решение1
У вас нет серверов имен и нет настроенной записи полномочий для domain1.com
-- как это вообще может работать? Что заставило бы этот сервер обслуживать эту зону?
Это могло бы работать только в том случае, если бы сервер имен отвечал на запрос, просматривая каждую существующую зону, чтобы увидеть, содержит ли какая-либо из них соответствующую запись. Это, совершенно очевидно, не то, как работают серверы имен. Во-первых, это означало бы, что не было бы никакого способа узнать, кто имеет право указывать записи внутри зоны, и никакого способа согласовать противоречивую информацию из разных, не связанных между собой источников.
Если domain1.ir
может содержать записи для domain1.com
, почему не может domain2.ir
? Как сервер имен узнает, кто имеет право контролировать DNS для этого домена без каких-либо записей SOA или NS?