一、DNS介绍
DNS应用层协议
Domain Name System 域名系统
作用
正向解析
根据主机名解析查询对应的IP
反向解析
根据IP查询对应的主机名
DNS服务器层级的概念

1、区域的概念
正向区域
一般就是二级域名
jd.com
baidu.com
taobao.com
反向区域
x.x.x.in-addr.arpa
1.168.192.in-addr-arpa
1.1.10.in-addr-arpa
2、记录文件Record
A记录
记录主机名与IP地址的对应关系
www.baidu.com A 3.3.3.3
PTR记录
反向指针记录
记录IP地址、主机名的对应关系
10.168.192.in-addr.arpa
8 PTR test1.linux.com
12 PTR test2.linux.com
CNAME记录
别名记录
MX记录
标识邮件服务器
必须配合A记录同时使用
MX 5 mail0.linux.com
mail0.linux.com A 5.5.5.5
MX 6 mail1.linux.com
mail1.linux.com A 6.6.6.6
数字5:邮件服务器的优先级、数字越小、优先级越高
NS记录
标识DNS服务器
必须配合A记录同时使用
NS ns01.linux.com
ns01.linux.com A 6.6.6.6
3、DNS服务端
软件
bind、bind-chroot
bind-chroot可增强系统安全性
配置文件
主配置文件
/var/named/chroot/etc/named,conf //主配置文件主要用来 指定记录文件的存放位置+指定区域名字所对应的文件记录名称
数据记录文件
/var/named/chroot/var/named/*
*:代表的是所指定的区域名字对应的文件记录名称
二、配置DNS实现正向解析
1、要求:
二级域名: linux.com
DNS服务器 192.168.140.10 ns01.linux.com
FTP服务器 10.1.1.1 ftpserver.linux.com
WEB服务器 10.1.1.2 web.linux.com
MAIL服务器 10.1.1.3 mail01.linux.com
2、关闭防火墙、SElinux、时间同步服务器打开
3、安装DNS相关软件
[root@dns_server ~]# yum install bind bind-chroot
4、在主配置文件中创建正向区域
[root@dns_server ~]# vim /var/named/chroot/etc/named.conf
options {
directory "/var/named"; //指定记录文件的存放位置
};
zone "linux.com" { // 指定正向区域名
type master; // 指定区域类型为主区域
file "linux.com.zone"; // 指定linux.com区域对应的记录文件名称,这个文件的位置就是上边指定的位置
};5、创建记录文件、添加记录
//存在记录文件模板,复制粘贴即可 [root@dns_server ~]# cp /usr/share/doc/bind-9.11.4/sample/var/named/named.localhost /var/named/chroot/var/named/linux.com.zone [root@dns_server ~]# vim /var/named/chroot/var/named/linux.com.zone $TTL 1D @ IN SOA linux.com. 454452000.qq.com. ( //其中linux.com 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns01.linux.com. ns01 A 192.168.140.10 ftpserver A 10.1.1.1 web A 10.1.1.2 MX 5 mail01.linux.com. mail01 A 10.1.1.3
6、启动DNS服务
[root@dns_server ~]# systemctl start named named-chroot [root@dns_server ~]# systemctl enable named named-chroot //进程和端口都能查到即可 [root@dns_server ~]# ps -elf | grep name [root@dns_server ~]# netstat -tunlp | grep name
7、验证DNS---nslookup工具
C:\>nslookup 默认服务器: gjjline.bta.net.cn Address: 202.106.0.20 > server 192.168.140.10 默认服务器: [192.168.140.10] Address: 192.168.140.10 > ftpserver.linux.com 服务器: [192.168.140.10] Address: 192.168.140.10 名称: ftpserver.linux.com Address: 10.1.1.1 > web.linux.com 服务器: [192.168.140.10] Address: 192.168.140.10 名称: web.linux.com Address: 10.1.1.2 > mail01.linux.com 服务器: [192.168.140.10] Address: 192.168.140.10 名称: mail01.linux.com Address: 10.1.1.3
三、配置DNS实现反向解析
1、添加反向域
//反向域和正向域在同一个named.conf文件中,用不同的zone隔开
[root@dns_server named]# vim /var/named/chroot/etc/named.conf
zone "linux.com" {
type master;
file "linux.com.zone";
zone "1.1.10.in-addr.arpa" {
type master;
file "10.1.1.zone";
};
2、添加记录文件
//直接将正向域的记录文件拷贝修改即可 [root@dns_server named]# cp linux.com.zone 10.1.1.zone [root@dns_server named]# vim 10.1.1.zone $TTL 1D @ IN SOA linux.com. 454452000.qq.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns01.linux.com. ns01 A 192.168.140.10 1 PTR ftpserver.linux.com. 2 PTR web.linux.com. 3 PTR mail01.linux.com.
3、重启并验证反向解析
[root@dns_server named]# systemctl restart named named-chroot C:\Users\admin>nslookup 默认服务器: gjjline.bta.net.cn Address: 202.106.0.20 > server 192.168.140.10 默认服务器: [192.168.140.10] Address: 192.168.140.10 > > 10.1.1.1 服务器: [192.168.140.10] Address: 192.168.140.10 名称: ftpserver.linux.com Address: 10.1.1.1 > 10.1.1.2 服务器: [192.168.140.10] Address: 192.168.140.10 名称: web.linux.com Address: 10.1.1.2 > 10.1.1.3 服务器: [192.168.140.10] Address: 192.168.140.10 名称: mail01.linux.com Address: 10.1.1.3 > exit
四、测试DNS的常用工具
nslookup
dig
dig需要在网卡指定DNS服务器地址
[root@localhost ~]# dig -t A mail01.linux.com
五、配置DNS主从
1、环境描述
192.168.152.10 主DNS
192.168.152.11 备DNS
2、两台服务器关闭防火墙、SELinux、时间同步
3、修改主DNS配置文件、添加从服务器地址
options {
directory "/var/named";
};
zone "linux.com" {
type master;
file "linux.com.zone";
allow-transfer { 192.168.152.11; };
};
zone "1.1.10.in-addr.arpa" {
type master;
file "10.1.1.zone";
};4、修改主DNS配置文件,添加主、从两台服务器NS记录
[root@dns_server ~]# vim /var/named/chroot/var/named/linux.com.zone
NS ns01.linux.com.
NS ns02.linux.com.
ns01 A 192.168.140.10
ns02 A 192.168.140.11
[root@dns_server ~]# systemctl restart named named-chroot5、在服务器安装DNS软件
[root@localhost ~]# yum install bind bind-chroot
6、在从服务器上创建相同的区域
[root@localhost ~]# cat /var/named/chroot/etc/named.conf
options {
directory "/var/named";
};
zone "linux.com" {
type slave; //指定区域类型为从,代表要从主服务器上复制记录文件,不能自己修改
file "slaves/linux.com.zone"; //记录文件的存放位置
masters { 192.168.140.10; }; // 指定主服务器地址
};7、验证主从同步成功
[root@localhost ~]# ls /var/named/chroot/var/named/slaves/ linux.com.zone
测试使用从服务器解析:
C:\Users\admin>nslookup
默认服务器: gjjline.bta.net.cn
Address: 202.106.0.20
>
> server 192.168.140.11
默认服务器: [192.168.140.11]
Address: 192.168.140.11
>
> ftpserver.linux.com
服务器: [192.168.140.11]
Address: 192.168.140.11
名称: ftpserver.linux.com
Address: 10.1.1.1
> web.linux.com
服务器: [192.168.140.11]
Address: 192.168.140.11
名称: web.linux.com
Addresses: 10.1.1.2
10.1.1.10
> mail01.linux.com
服务器: [192.168.140.11]
Address: 192.168.140.11
名称: mail01.linux.com
Address: 10.1.1.38、测试同步变化的记录信息
[root@dns_server ~]# cat /var/named/chroot/var/named/linux.com.zone
$TTL 1D
@ IN SOA linux.com. 454452000.qq.com. (
37 ; serial
// 序列号,让从服务器识别记录变化
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns01.linux.com.
NS ns02.linux.com.
ns01 A 192.168.140.10
ns02 A 192.168.140.11
AA A 10.1.1.100
BB A 10.1.1.200六、DNS查询类型
1、递归查询
只发送一次DNS查询请求
客户端和DNS服务器间
2、迭代查询
发送多次DNS请求
多个不同的DNS服务器间发送请求

3、本地hosts文件
记录主机名、IP地址的对应关系
格式
IP地址 主机名
Linux:
/etc/hosts
Windows
C:\Windows\System32\drivers\etc