我试图将域名绑定到vps上,但我失败了。
我挖的时候就知道了:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> ns1.example.com @61.15.2.95
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49520
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.example.com. IN A
;; ANSWER SECTION:
ns1.example.com. 604800 IN A 61.15.2.95
;; AUTHORITY SECTION:
example.com. 604800 IN NS ns2.example.com.
example.com. 604800 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns2.example.com. 604800 IN A 178.159.2.95
;; Query time: 314 msec
;; SERVER: 178.159.2.95#53(178.159.2.95)
;; WHEN: Sat Apr 15 14:26:22 +04 2017
;; MSG SIZE rcvd: 106问题;; WARNING: recursion requested but not available,因为它只是一个警告,我试图在quickhostuk注册它,但是我在dns管理中得到了这个错误:
Failed to Modify Domain Nameservers: Nameserver not found at registry我就是这么做的..。
比如说,我的vps是: 61.15.2.95
域名: example.com
名称服务器:
1.我安装了bind9。
2.我在named.conf.local中创建了一个区域
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};db.example.com创建了一个db文件;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.example.com. root.ns1.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
@ IN A 61.15.2.95
ns1 IN A 61.15.2.95
ns2 IN A 61.15.2.954.我修改了named.conf.options,并将我的ip添加到转发器,我还尝试了谷歌的8.8.8.8和8.8.4.4
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
61.15.2.95;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};我应该如何正确地把所有的东西组合在一起才能使它发挥作用?
发布于 2017-04-15 11:07:21
在运行权威服务器时,;; WARNING: recursion requested but not available实际上是一个很好的标志,它不应该提供递归。
不需要更改服务器端的任何内容,只需将+norec添加到dig命令行以不请求递归,警告就会消失。
对于权威服务器,您也不需要forwarders。实际上,您可能希望更进一步,指定recursion no以确保不会意外地提供递归访问。
关于这个问题,您在与注册员的交互中获得消息Failed to Modify Domain Nameservers: Nameserver not found at registry的地方--我想这与与此注册程序一起更改名称服务器的具体过程有关。
由于您的名称服务器名称在您自己的区域内,您将需要胶水记录。我猜想,为这些胶水记录添加必要的信息可能是您需要首先完成的另一个步骤。
您的问题还表明您正在为“两个”名称服务器使用相同的IP地址。这听起来像是一种欺骗执行的方法,它实际上是一种非常合理的政策,即有一些冗余。
最后,我要指出的是,如果您不知道如何运行名称服务器,并且您的最终目标完全不同(运行一些其他服务),那么您很可能最好使用一些已建立和正确管理的dns托管解决方案,而不是为此设置您自己的基础设施。
发布于 2017-04-15 14:43:01
看起来,您正在尝试用一个IP地址在您自己的计算机上托管完整的DNS,将您自己的域引用为DNS服务器。
你不能从这里到那里。
首先,您需要两个解析为不同IP的DNS服务器。
如果您想将您的dns服务器(S)命名为ns1.example.com和ns2.example.com,那么您需要在您的注册服务器上设置所谓的“胶水记录”。这将允许ns1.example.com和ns2.example.com成为example.com域的唯一dns服务器。
一旦设置了胶水记录,就从/etc/bind/named.conf.选项中删除转发器--除非有客户直接查询服务器,否则不应该需要它。
https://serverfault.com/questions/844631
复制相似问题