DNS 安装配置
实验环境
一台主机:Linux Centos 6.5 32位
- 安装包:
- DNS服务:bind.i686
- DNS测试工具:bind-utils
DNS 服务安装
1、yum安装DNS服务,DNS测试工具
yum -y install bind.i686
yum -y install bind-utils
2、清空主配置文件,重新添加内容,添加权限
vim /etc/named.conf
options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; };
# 修改所属权限 chown named /etc/named.conf # 文件查找 根 服务器 dig -t NS . > /var/named/named.ca # 生成 rndc.key,如果没有key namd 无法启动 或 启动慢 rndc-confgen -r /dev/urandom -a # 将key文件赋值所属权限 chown named:named /etc/rndc.key
3、写入本地域文件,针对127.0.0.1写的zone域(可以不写)
vim /var/named/localhost.zone
@ IN SOA localhost. admin.localhost. ( 2013081601 1H 10M 7D 1D ) @ IN NS localhost. localhost. IN A 127.0.0.1
vim /var/named/named.local
$TTL 86400 @ IN SOA localhost. admin.localhost. ( 2013081601 1H 10M 7D 1D ) @ IN NS localhost. 1 IN PTR localhost
4、检测配置文件,检测解析
# 检查配置是否有问题 named-checkconf
命令:named-checkzone "localhost" /var/named/localhost.zone /var/named/localhost.zone:1: no TTL specified; using SOA MINTTL instead zone localhost/IN: loaded serial 2013081601 OK
命令:named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local zone 0.0.127.in-addr.arpa/IN: loaded serial 2013081601 OK
5、启动DNS服务
/etc/init.d/named start
命令:netstat -lnp | grep :53 tcp 0 0 192.168.2.10:53 0.0.0.0:* LISTEN 7242/named tcp 0 0 192.168.1.160:53 0.0.0.0:* LISTEN 7242/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 7242/named udp 0 0 192.168.2.10:53 0.0.0.0:* 7242/named udp 0 0 192.168.1.160:53 0.0.0.0:* 7242/named udp 0 0 127.0.0.1:53 0.0.0.0:* 7242/named
6、测试解析
# @locahost 为 DNS 地址 命令:dig @localhost localhost ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @localhost localhost ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11652 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;localhost. IN A ;; ANSWER SECTION: localhost. 86400 IN A 127.0.0.1 # 解析结果为127.0.0.1 ;; AUTHORITY SECTION: localhost. 86400 IN NS localhost. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Dec 24 08:20:17 2017 ;; MSG SIZE rcvd: 57
命令:dig @127.0.0.1 -x 127.0.0.1 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @127.0.0.1 -x 127.0.0.1 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59086 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;1.0.0.127.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.0.0.127.in-addr.arpa. 86400 IN PTR localhost.0.0.127.in-addr.arpa. ;; AUTHORITY SECTION: 0.0.127.in-addr.arpa. 86400 IN NS localhost. ;; ADDITIONAL SECTION: localhost. 86400 IN A 127.0.0.1 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Dec 24 08:22:31 2017 ;; MSG SIZE rcvd: 103
DNS 配置自定义域名
DNS 资源记录
资源记录类型 |
起始授权结构(SOA) |
主机(A) |
别名(CNAME) |
邮件交换器(MX) |
名称服务器(NS) |
说明 |
起始授权机构 |
地址 |
标准名称 |
邮件交换器 |
名称服务器 |
解释 |
此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等。 |
主机(A)记录是名称解析的重要记录,它用于将特定的主机名映射到对应主机的IP地址上。你可以在DNS服务器中手动创建或通过DNS客户端动态更新来创建。 |
此记录用于将某个别名指向到某个主机(A)记录上,从而无需为某个需要新名字解析的主机额外创建A记录。 |
此记录列出了负责接收发到域中的电子邮件的主机 ,通常用于邮件的收发。 |
此记录指定负责此DNS区域的权威名称服务器。 |
DNS 域名配置
1、修改主配置文件,添加域名
vim /etc/named.conf
# 正向解析 zone "baidu.com" IN { type master; # file名字要与 /var/named/下配置文件文件名字吻合 file "baidu.com.zone"; };
2、编辑域名配置文件
vim /var/named/baidu.com.zone
; 更改记录600秒后生效,600秒后再次请求根服务器 $TTL 600 ; 域名baidu.com. 固定格式root.baidu.com. @ IN SOA baidu.com. root.baidu.com. ( ; 序列号,标记 2013081601
; 刷新缓存 1H
; 更改记录 10M
; 过期时间 7D
; 最小数 1D ) ; NS 将本地IP 解析为 ns.baidu.com. IN NS ns.baidu.com. ; MX(相当于证书)域名支持邮件 添加记录 IN MX 10 mail.baidu.com. ; A 添加域名 绑定IP ns IN A 192.168.1.170 www IN A 192.168.1.171 mail IN A 192.168.1.172 ; CNAME 指定域名,相当于 www 192.168.0.11 bbs IN CNAME www.baidu.com.
3、测试配置文件
named-checkconf
命令:named-checkzone "baidu.com" /var/named/baidu.com.zone zone baidu.com/IN: loaded serial 2013081601 OK
4、重启服务
/etc/init.d/named restart
5、测试域名解析
命令:dig @192.168.1.160 www.baidu.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @192.168.1.160 www.baidu.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35900 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: # 解析 IP www.baidu.com. 600 IN A 192.168.1.171 ;; AUTHORITY SECTION: # 通过NS ns.baidu.com. 解析 为 www.baidu.com. baidu.com. 600 IN NS ns.baidu.com. ;; ADDITIONAL SECTION: # 通过192.168.1.170 解析为 ns.baidu.com. ns.baidu.com. 600 IN A 192.168.1.170 ;; Query time: 0 msec ;; SERVER: 192.168.1.160#53(192.168.1.160) ;; WHEN: Sun Dec 24 09:09:12 2017 ;; MSG SIZE rcvd: 80
命令:dig @192.168.1.160 bbs.baidu.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @192.168.1.160 bbs.baidu.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61015 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;bbs.baidu.com. IN A ;; ANSWER SECTION: # 解析域名通过 www.baidu.com. 解析为 192.168.1.171 bbs.baidu.com. 600 IN CNAME www.baidu.com. www.baidu.com. 600 IN A 192.168.1.171 ;; AUTHORITY SECTION: # 通过NS ns.baidu.com. 解析 为 www.baidu.com. baidu.com. 600 IN NS ns.baidu.com. ;; ADDITIONAL SECTION: # 通过192.168.1.170 解析为 ns.baidu.com. ns.baidu.com. 600 IN A 192.168.1.170 ;; Query time: 0 msec ;; SERVER: 192.168.1.160#53(192.168.1.160) ;; WHEN: Sun Dec 24 09:13:01 2017 ;; MSG SIZE rcvd: 98