|
1、配置相关参数
1
2
3
4
| yum install -y epel-release
setenforce 0
/etc/init.d/iptables stop
chkconfig iptables off
|
2、安装相关包
1
| yum install bind bind-devel bind-utils
|
3、修改配置文件
一共有四个相关文件:named.ca(根域名配置)、named.conf(dns server主配置文件)、正向解析文件、逆向解析文件
named.ca:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| $ dig -t NS . @192.168.1.1 > /tmp/named.ca # 查询根dns server,并保存为文件,用于named.conf引用
$ cat /tmp/named.ca
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -t NS . @192.168.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54385
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 113146 IN NS j.root-servers.net.
. 113146 IN NS k.root-servers.net.
. 113146 IN NS l.root-servers.net.
. 113146 IN NS m.root-servers.net.
. 113146 IN NS a.root-servers.net.
. 113146 IN NS b.root-servers.net.
. 113146 IN NS c.root-servers.net.
. 113146 IN NS d.root-servers.net.
. 113146 IN NS e.root-servers.net.
. 113146 IN NS f.root-servers.net.
. 113146 IN NS g.root-servers.net.
. 113146 IN NS h.root-servers.net.
. 113146 IN NS i.root-servers.net.
;; Query time: 29 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Dec 13 14:35:01 2016
;; MSG SIZE rcvd: 228
|
|
named.conf:(配置文件使用;和//作为注释)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| $ cat 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 { 192.168.10.102; }; # 定义端口绑定的ipv4地址,
//listen-on-v6 port 53 { ::1; }; # 定义端口绑定的ipv6地址,
directory "/var/named"; # named服务工作目录,
dump-file "/var/named/data/cache_dump.db"; # dump数据文件路径,
statistics-file "/var/named/data/named_stats.txt"; # 静态文件路径,
memstatistics-file "/var/named/data/named_mem_stats.txt"; #
allow-query { any; }; # 允许客户端查询的ip地址,any为任意,例如:192.168.1.0/24;172.16.0.0/18等,
recursion yes; # 递归查询,除根服务器外尽量开启,
dnssec-enable yes; # 是否开启dns sec,dns sec可以验证dns数据有效性,
dnssec-validation yes; # 是否进行dns sec验证,
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; # 设置内置key文件路径,
pid-file "/var/run/named/named.pid"; # pid文件路径,
managed-keys-directory "/var/named/dynamic"; # 设置dns sec动态key文件路径,
};
# 日志相关配置
logging {
channel default_debug { # 定义日志输出方式:syslog,file,stdout,stderr,文本文件。
file "data/named.log"; # 日志文件
severity dynamic; #多个级别:debug、info等
};
};
# 根域配置
zone "." IN {
type hint;
file "/tmp/named.ca"; # 前面生成的根域文件;
};
zone "example.com" IN { # 定义example.com的域名正向解析配置
type master; # 域类型,类型可分为hint(根域),master(主dns),slave(从dns)。
file "/etc/ns.example.com"; # 正向解析文件
allow-update { none; }; # 是否允许
};
zone "10.168.192.in-addr.arpa" IN { # 定义逆向域名解析区域,此处zone的名字必须为ip地址反序+".in-addr.arpa"
type master; # 域类型,
file "/etc/10.168.192.zone"; # 逆向解析文件,
allow-update { none; }; # 是否允许更新,
};
include "/etc/named.rfc1912.zones"; # 包含其他配置文件
include "/etc/named.root.key";
|
|
正向解析文件:ns.example.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $ cat ns.example.com
$ TTL设定,定义区域中数据文件各项记录默认TTL值为86400,缺少不影响使用,会出现警告
$TTL 86400
@ IN SOA ns.example.com. root.example.com.(
# SOA记录设定,"@"代表相应域名,也就是在named.conf中这顶的zone,SOA表示区域授权开始。每一个区域文件只能有一个SOA。SOA后面指定的是区域的授权主机名称和管理员邮箱。注意域名后有“.”。而且授权主机名称必须在DNS设置中能够找到一个A记录,也就是ns对应的那条A记录。@在配置文件中有其他含义,因此邮箱@用.代替。
2016121301 ; serial # serial 文件修改版本,格式为年月日加上修改次数,每次修改配置文件时应改动此数字。slave DNS进行信息同步时,会比较数值,当数值比自身值大时才会更新。
3H ; refresh # slave 与master同步的间隔时间;
15M ; retry # slave dns更新失败后,要隔多久进行重试;
1W ; expiry # slave dns同步失败后,多长时间清除对应记录;
1D) ; minimum # 默认最小TTL值,如果前面没有设定,此值为基准
# H:小时、D:天、W:周、M:分
# NS:定义此主机为域名服务器、MX:定义邮件交换服务器、A:定义A记录,即域名到IP的记录、CNAME:定义域名的别名;
IN NS ns.example.com. # 定义NS
IN MX 10 mail # 定义mail交换,优先级为10
IN A 192.168.10.102
ns IN A 192.168.10.102
www IN A 192.168.10.102
mail IN A 192.168.10.102
linux IN CNAME www
|
| 逆向解析文件:10.168.196.in-addr-arpa
# 与正向解析类似,多出PTR选项,定义一个反向解析记录,及IP到URL的记录。
1
2
3
4
5
6
7
8
9
10
11
| $ cat 10.168.192.zone
$TTL 86400
10.168.192.in-addr.arpa. IN SOA ns.example.com. root.example.com. (
2016121301 ; Serial
28800 ; Refresh
14400; ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.example.com.
102 IN PTR mail.example.com.
102 IN PTR www.example.com.
|
|
4、启动server
设置相关权限:
1
2
3
4
| chown -R root.named /etc/named.conf /etc/ns.example.com/etc/10.168.192.zone /tmp/named.ca
/etc/init.d/named start
tail -f /var/log/messages # 查看启动日志
netstat -tlnup |grep 53 # 查看启动端口
|
5、nslookup测试域名
1
2
| nslookup ns.example.com
nslookup mail.example.com
|
|
|