我尝试过制作一个 dns 服务器,但是当我执行 dig 命令时,服务器没有返回任何内容。我之前没有任何经验,只是按照本教程操作:http://www.itzgeek.com/how-tos/linux/centos-how-tos/configure-dns-bind-server-on-centos-7-rhel-7.html。
named.conf 文件:
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 127.0.0.1;192.168.38.103; };
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";
allow-query { localhost; 192.168.38.0/24; };
/*
- 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 yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.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";
};
zone "dynavio.coop" IN {
type master;
file "fwd.dynavio.coop.db";
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.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";
};
zone "dynavio.coop" IN {
type master;
file "fwd.dynavio.coop.db";
allow-update { none; };
};
zone "38.168.192.in-addr.arpa" IN {
type master;
file "38.168.192.db";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
fwd.dynavio.coop.db文件:
$TTL 86400
@ IN SOA primary.dynavio.coop. root.dynavio.coop. (
2014112511 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;MinimumTTL
)
;Name Server Information
@ IN NS primary.dynavio.coop.
;IP Address of Name Server
primary IN A 192.168.38.8
;Mail exchanger
dynavio.coop. IN MX 10 mail.dynavio.coop.
;A - Record HostName To Ip Address
www IN A 192.168.38.100
mail IN A 192.168.38.150
;CNAME record
ftp IN CNAME www.dynavio.coop.
38.168.192.db文件:
$TTL 86400
@ IN SOA primary.dynavio.coop. root.dynavio.coop. (
2014112511 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS primary.dynavio.coop.
;Reverse lookup for Name Server
8 IN PTR primary.dynavio.coop.
;PTR Record IP address to HostName
100 IN PTR www.dynavio.coop.
150 IN PTR mail.dynavio.coop.
Dig 命令返回:
; <<>> DiG 9.9.4-RedHat-9.9.4-18.el7_1.5 <<>> www.dynavio.coop
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 43498
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.dynavio.coop. IN A
;; AUTHORITY SECTION:
coop. 1272 IN SOA coop1.dyntld.net. support.nic.coop. 2015099691 900 1800 6048000 3600
;; Query time: 3 msec
;; SERVER: 192.168.38.1#53(192.168.38.1)
;; WHEN: Mon Dec 07 16:36:55 EET 2015
;; MSG SIZE rcvd: 98
更新:问题似乎是/etc/resolv.conf
每次网络管理器重新启动时都会被覆盖。当我能够获取 if-cfg 文件时,我会稍后再次更新此内容。
答案1
我将您的区域加载到我的测试箱中并且它对我有用;
[test@server ~]# dig www.dynavio.coop
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> www.dynavio.coop
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23763
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.dynavio.coop. IN A
;; ANSWER SECTION:
www.dynavio.coop. 86400 IN A 192.168.38.100
;; AUTHORITY SECTION:
dynavio.coop. 86400 IN NS ns0.test.int.
;; ADDITIONAL SECTION:
ns0.test.int. 3600 IN A 172.16.0.2
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Dec 8 20:30:27 2015
;; MSG SIZE rcvd: 92
请注意,我必须使用自己的NS
地址,因为我配置了不同的子网等,并且我没有设置 DNS 密钥,因此无法进行测试。
有几件事需要检查;
您/etc/resolv.conf
应该有这样一行,nameserver 127.0.0.1
以便您的盒子可以自行进行 NS 查找,我怀疑您的机器配置为使用另一个 DNS 服务器。
你的盒子的 IP 地址是多少 - 你最初的问题有一个错误,primary
反向地址为 ,.8
而正向地址为.103