bind在Linux下为主流的DNS服务器架设软件,本篇讲的是通过yum在RHEL7上安装与配置DNS服务器
- 通过yum在线安装bind软件,下载的版本为9.9.4
#yum -y install bind
主要文件存放路径:
/etc/named.conf 主配置文件
/var/named 区域文件存放路径
/etc/rndc.conf /etc/rndc.key rndc配置文件和KEY存放路径
正向区域:将FQDN地址转换为IP记录
反向区域:将IP地址反解为为FQDN
记录类型:A记录:address 域名对应的IP地址
NS记录:name server 域名服务记录,指定域名中对应的域名解析服务器所对应的服务器
一般为域名的DNS服务器,这里需配合使用A记录,成对出现
CNAME:别名记录,将不同的域名
MX记录:邮件交换记录(mail exchange),这里指定邮件交换的域名,这里有一个优先
级,数字越小,优先级越高,比如有多台邮件服务器,优先级高的服务器会先收
SOA:Start of Authority,一般书写格式为:
google.com. IN SOA ns1.google.com. adminmail.google.com
其中google.com.可以用@来代替,第四项为NS记录,最后一项为管理员邮箱,@有特殊意义,用.代替
serial 更新序列,如果序列号有变更,从服务器到了刷新时间后就会从主服务器进行同步
Refresh 刷新时长,从服务器从主服务器同步的时间间隔
Retry 重试时长,当从服务器与主服务器同步失败后,多久后会再次尝试
expire 失效时长,当从服务器与主服务器通讯失败,一直没有响应,到expire时长后,从服
器将失效,并删除区域文件
na ttl 无法解析的地址的缓存时间
默认单位为秒,可以使用M(分钟),H(小时),D(天),W(周)
TTL值:DNS缓存的时间,默认单位是秒
区域类型:
hint:根区域,一般用.表示
master:主区域
slave:从区域,声名从区域类型时,必须要指名主区域的地址masters { Master_IP; };
forward:转发区域,不负责域名解析,只将域名解析的交给指定的DNS服务器
下面以google.com为例, 本地网段为10.1.0.0/16,ns1.google.com(10.1.17.221)为NS服务器,www.googole.com(10.1.17.221),mail.google.com(10.1.17.222),www2为www的别名,首先vim /etc/named.conf
listen-on port 53 { 10.1.17.221; }; #监控的端口,可以指定某一个IP,默认为127.0.0.1 directory "/var/named"; #定义区域文件的目录,后面的文件为相对路径 allow-query { 10.1.0.0/16; }; #允许查询的网段,这里开放内网,如果对外可使用any zone "google.com" IN { type master; file "google.zone"; }; #定义正向区域,区域文件为/var/named/google.zone zone "17.1.10.in-addr.arpa" IN { type master; file "zone.google"; }; #定义反向区域文件,.in-addr.arpa为固定格式,前面的17.1.10为10.1.17的反写
进入到/var/named下新建google.zone文件
$TTL 7200 google.com. IN SOA ns1.google.com. adminmail.google.com. ( 2015100301 2H 5M 1W 4H ) IN NS ns1 IN MX 10 mail ns1 IN A 10.1.17.221 www IN A 10.1.17.221 mail IN A 10.1.17.222 www2 IN CNAME WWW
编辑google.zone文件属性
#chmod 640 google.zone #chown root:named google.zone
将google.zone复制一份为zone.google并进行编辑
#cp -p google.zone zone.google #vim zone.google $TTL 7200 @ IN SOA ns1.google.com. adminmail.google.com. ( 2015100301 2H 5M 1W 4H ) @ IN NS ns1.google.com. 221 IN PTR ns1.google.com. 221 IN PTR www.google.com. 222 IN PTR mail.google.com.
现在检查配置文件,开放防火墙,开机启动
#named-checkconf #systemctl enable named ln -s ‘/usr/lib/systemd/system/named.service‘ ‘/etc/systemd/system/multi-user.target.wants/named.service‘ #named-checkzone google.com /var/named/google.zone zone google.com/IN: loaded serial 2015100301 OK #named-checkzone 17.1.10.in-addr.arpa /var/named/zone.google zone 17.1.10.in-addr.arpa/IN: loaded serial 2015100301 OK # systemctl start named
使用dig解析
dig -t A www.google.com @10.1.17.221 ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t A www.google.com @10.1.17.221 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53996 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 7200 IN A 10.1.17.221 ;; AUTHORITY SECTION: google.com. 7200 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 7200 IN A 10.1.17.221 ;; Query time: 0 msec ;; SERVER: 10.1.17.221#53(10.1.17.221) ;; WHEN: Sat Oct 03 18:16:06 CST 2015 ;; MSG SIZE rcvd: 93
dig -t NS google.com @10.1.17.221 ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t NS google.com @10.1.17.221 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35541 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN NS ;; ANSWER SECTION: google.com. 7200 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 7200 IN A 10.1.17.221 ;; Query time: 0 msec ;; SERVER: 10.1.17.221#53(10.1.17.221) ;; WHEN: Sat Oct 03 18:16:49 CST 2015 ;; MSG SIZE rcvd: 73
反解10.1.17.222
dig -x 10.1.17.222 @10.1.17.221 ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -x 10.1.17.222 @10.1.17.221 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46954 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;222.17.1.10.in-addr.arpa. IN PTR ;; ANSWER SECTION: 222.17.1.10.in-addr.arpa. 7200 IN PTR mail.google.com. ;; AUTHORITY SECTION: 17.1.10.in-addr.arpa. 7200 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 7200 IN A 10.1.17.221 ;; Query time: 0 msec ;; SERVER: 10.1.17.221#53(10.1.17.221) ;; WHEN: Sat Oct 03 18:17:37 CST 2015 ;; MSG SIZE rcvd: 116