我购买了域名 example.eu,并已从域名注册商处将其设置为使用 ns1.example.eu 和 ns2.example.eu,服务器 IP 为 12.34.567.890。但是它不起作用。根据域名注册商的说法,他们的设置没有问题。
我已经安装了 LEMP 堆栈(Ubuntu 16.04)。
我也尝试使用 freeDNS 服务,但是它也不起作用。
另外,我在我的服务器上设置了 BIND9,但没有任何结果。
这是我的named.conf
zone "example.eu" {
type master;
file /etc/bind/external/example.eu;
allow-transfer {
# IPs allowed to AXFR
12.34.567.890;
12.34.567.890;
};
allow-update {
# IPs allowed to update the zone
12.34.567.890;
12.34.567.890;
};
allow-query {
# IPs allowed to query the zone (everyone)
0.0.0.0/0;
};
notify yes;
};
/etc/bind/external/example.eu
; example.eu
$TTL 86400
example.eu. IN SOA ns1.example.eu. sales.example.eu. (
2018080601 ; Serial number
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400) ; Minimum TTL
; Nameserver definition
IN NS ns1.example.eu.
IN NS ns2.example.eu.
; Mail exchanger definition
IN MX 10 mail.example.eu.
IN MX 50 mail.example.eu.
; A records definition
example.eu. IN A 12.34.567.890
www.example.eu. IN A 12.34.567.890
ns1.example.eu. IN A 12.34.567.890
ns2.example.eu. IN A 12.34.567.890
mail.example.eu. IN A 12.34.567.890
mail.example.eu. IN A 12.34.567.890
* IN A 12.34.567.890
这是我的 Nginx 配置文件
upstream fastcgi_backend {
server unix:/run/php/php7.0-fpm.sock;
}
server {
listen 80;
server_name example.eu www.example.eu;
set $MAGE_ROOT /var/www/example;
include /var/www/example/nginx.conf.sample;
}
答案1
感谢您包含您的实际域名。
当我检查注册商为您的域名配置的名称服务器时(使用 Whois 或检查 .EU 域名的根服务器):
dig anthemionflowers.eu @x.dns.eu
我发现另外 4 个不受您控制的:
anthemionflowers.eu. 86400 IN NS ns1.anthemionflowers.eu.
anthemionflowers.eu. 86400 IN NS ns2.afraid.org.
anthemionflowers.eu. 86400 IN NS ns1.afraid.org.
anthemionflowers.eu. 86400 IN NS ns3.afraid.org.
anthemionflowers.eu. 86400 IN NS ns4.afraid.org.
anthemionflowers.eu. 86400 IN NS ns2.anthemionflowers.eu.
;; ADDITIONAL SECTION:
ns1.anthemionflowers.eu. 86400 IN A 51.15.101.173
ns2.anthemionflowers.eu. 86400 IN A 51.15.101.173
这似乎是注册商级别的配置错误。这应该只返回您的实际名称服务器。
此外,51.15.101.173 没有响应 DNS 查询。
dig ns anthemionflowers.eu @51.15.101.173
; <<>> DiG 9.10.6 <<>> ns anthemionflowers.eu @51.15.101.173
;; global options: +cmd
;; connection timed out; no servers could be reached
答案2
您已创建了 的胶水记录ns1.anthemionflowers.eu
,但 NS 和 SOA 记录仍指向afraid.org
。在 Linux 机器上,如果您运行,dig +trace anthemionflowers.eu
您将获得:
anthemionflowers.eu. 86400 IN NS ns2.afraid.org.
anthemionflowers.eu. 86400 IN NS ns2.anthemionflowers.eu.
anthemionflowers.eu. 86400 IN NS ns4.afraid.org.
anthemionflowers.eu. 86400 IN NS ns3.afraid.org.
anthemionflowers.eu. 86400 IN NS ns1.afraid.org.
anthemionflowers.eu. 86400 IN NS ns1.anthemionflowers.eu.
afraid.org
您应该从您的注册商的 NS 配置中删除这些条目。
发表意见:让两个 NS 解析同一个 IP 地址是一种非常糟糕的做法(读作:非常糟糕)。这会让您的 DNS 变得极其脆弱。
此外,我强烈建议您不要运行自己的 DNS - 托管 DNS 非常便宜,并且具有保证的 SLA 和庞大的基础设施。Azure DNS、Route 53、Google Cloud DNS - 坦率地说,除了自己运行之外,几乎任何东西都可以。
答案3
我已经解决了这个问题。我在运行“named-checkconf”时发现,我的named.conf文件中有一个错误。