1.基础搭建
规划节点
使 用 VMWare Workstation 软 件 安 装 CentOS 7.5 操 作 系 统 , 镜 像 使 用 提 供 的 CentOS-7-x86_64-DVD-1511
用CRT进行连接方便实验
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
测试yum源
Yum list
2.安装与配置dns服务器
使用以下命令安装dns服务器以及检测工具(2台都要)
yum -y install bind-chroot bind-utils net-tools telnet
启动服务
systemctl start named
查看服务状态systemctl status named(状态为running就说明服务正常启动)
查看端口netstat -lntp(53端口打开就说明服务正常启动)
修改dns配置文件
数据配置文件目录 /var/named
主配置文件 /etc/named.conf
区域配置文件 /var/named.rfc1912.zones
修改主配置文件(2台服务器是一样)
Vi /etc/named.conf
listen-on port 53 { any; };//监听所有53端口,可以根据需要设置需要监听的ip
allow-query { any; };//允许所有的查询
3.配置正向解析和反向解析
什么叫正向解析和反向解析: 正向解析:根据主机名(域名)查找对应的 IP 地址。 反向解析:根据 IP 地址查找对应的主机名(域名)。( 反向解析的作用是将用户提交的 IP 地址 解析为对应的域名信息,它一般用于对某个 IP 地址上绑定的所有域名进行整体屏蔽。屏蔽由某些域名发送的垃圾邮件。也可以判断某虚拟主机上运行了多少个网站。)
在dns主服务器配置
正向解析
- 创建转发域: 拷贝模板文件 named.localhost 到 testmail.com.zone
cp -rf /var/named/named.localhost /var/named/testmail.com.zone
- 编辑 testmail.com.zone 文件
vi /var/named/testmail.com.zone
- 赋予test.com.zone所有权限
chmod 755 /var/named/testmail.com.zone
- 修改区域配置文件/etc/named.rfc1912.zones(在末尾添加)
(type:master 指的是主 dns 解析、slave 指的是从 dns 解析、hint 指的是根域名解析(根提 示域)、forward 指的是转发,转发不使用 file; file :定义区域解析库文件名字(位置默认在/var/named 下面),file 的前缀通常和 zone 的 名字通常对应起来,然后加一个.zone 的后缀。)
5) 检查配置
named-checkconf /etc/named.conf
named-checkzone testmail.com testmail.com.zone(先进入/var/named目录)
- 重启服务使配置生效
systemctl restart named
修改/etc/resolv.conf域名服务器
- 测试dns解析是否正常
反向区域
-
修改区配置文件/etc/named.rfc1912.zones(直接在末尾添加)
-
拷贝模板并修改
-
添加权限
-
检查配置文件
-
生效配置
systemctl restart named
-
查看状态。
-
修改mail节点的/etc/resolv.conf
-
测试
4.配置主从 DNS 服务
配置从节点服务器
yum -y install bind-chroot bind-utils
(在之前已经安装过了)
修改配置named.conf(之前修改过)
listen-on port 53 { any; };
allow-query { any; };
修改区配置文件
重启服务
将主节点的named服务关闭
测试
正向解析
反向解析
Dns主节点启动服务
可以看到已经切换回主服务器了
5.Dns检测工具
- nslookup 命令是常用域名查询工具,就是查 DNS 信息用的命令。
一般格式:
nslookup [-option] [name | -] [server]
参数说明:
option:表示一些选项。这些选项可以通过 set 命令设置修改。
name:表示查询的域名。
server:可以指定 DNS 主机 IP。
set 命令说明:
set all:打印当前的选项值。
set calss=value:设置查询的类型,一般情况下为 Internet。
set debug:设置调试模式。
set d2:设置详细调试模式。
set domin=name:设置默认的域名。
set search:
set port=value:设置 DNS 端口。
set querytype=value:改变查询的信息的类型。默认的类型为 A 纪录。
set type=value:和 set querytype 一样。
set recurse:设置查询类型为递归;若为 set norecurse,查询类型为跌代;缺省为前者。set retry=number:设置重试的次数。
set timeout=number:设置等待应答的限制时间(单位为秒),超出即为超时,如果还可以
重试,就会将长超时值加倍,重新查询。
set vc:通过 tcp 方式查询。
具体说明可以查看 man 手册。
格式:nslookup -nameserver/ip。
dig 命令主要用来从 dns 域名服务器查询主机地址信息,是安装 bind 自带的工具。
一般格式:
dig [@global-server] [domain] [q-type] [q-class] {q-opt} {d-opt}
参数说明:
@global-server:默认是以/etc/resolv.conf 作为 DNS 查询的主机,这里可以填入其它 DNS 主
机 IP。
domain:要查询的域名。
q-type:查询记录的类型,例如 a、any、mx、ns、soa、hinfo、axfr、txt 等,默认查询 a。
q-class:查询的类别,相当于 nslookup 中的 set class。默认值为 in(Internet)。
q-opt:查询选项,可以有好几种方式,比如:-f file 为通过批处理文件解析多个地址;-p port
指定另一个端口(缺省的 DNS 端口为 53),等等。
d-opt:dig 特有的选项。使用时要在参数前加上一个“+”号。
d-opt 常用选项:
+vc:使用 TCP 协议查询。
+time=###:设置超时时间。
+trace:从根域开始跟踪查询结果。
dig nameserver/IP
dig dns.testmail.comdig 命令默认的输出信息比较丰富,大概可以分为 5 个部分。
第一部分显示 dig 命令的版本和输入的参数。
第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为
NOERROR 则说明本次查询成功结束。
第三部分中的 “QUESTION SECTION” 显示我们要查询的域名。
第四部分的 “ANSWER SECTION” 是查询到的结果。
第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,
在什么时间进行的查询等等。
熟悉常见 DNS 记录的类型: - host 查询
hosts 文件包含了 IP 地址和主机名之间的映射,还包括主机名的别名。在没有域名服务
器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的 IP 地址。
通常可以将常用的域名和 IP 地址映射加入到 hosts 文件中,实现快速访问。
语法 host [ 选项] name [server]
选项列表
选项 说明
-a 查询所有的信息
-c 设置查询类型
-C 查询完整的 SOA 记录
-d | -v 显示详细过程
-l 列表模式
-t 选择查询类型:CNAME NS SOA SIG KEY AXFR
-w 永久等待-W 设置等待超时