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
localhost.zone文件
vim /var/named/named.local
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost
named.local文件
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
; 域名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 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
测试zone域文件,是否正确
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
测试正向解析1
命令: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
测试正向解析2