DNS服务:
DNS:用于域名解析服务,默认使用53号端口,是UDP协议。
一.解析方式:
①正向解析:已知域名去解析为IP
扩展知识:
域名:主机名.二级域名/一级.顶级域名. [最后的“.”是根域,可省略不写]
②反向解析:已知IP查找域名
二.DNS服务器类型:
主服务器:master服务器,用于维护所有的解析文件,其它服务器可以从主服务器下载解析文件
从服务器:slave服务器,作为master服务器的备份,本身无法修改解析文件。
缓存服务器:cache服务器,提高用户的查询速度。
三.DNS查询类型:
(1)递归查询:从客户端触发到DNS服务器进行查询,DNS返回确定的查询结果,有或无。
(2)迭代查询:DNS服务器从根域出发进行一步一步的查询,找到结果后,一层一层的返回结果。
四.DNS协议的发展:
(1)HOSTS:每个主机中都有hosts文件,文件中记录的IP与主机的对应关系。
(2)Windows系统:%systemroot%/system32/dirvers/hosts
(3)Linux系统:/etc/hosts
实验:
hostname dns1
echo “dns1” > /etc/hostname
bash
vim /etc/hosts
192.168.217.125 dns1
192.168.217.133 dns2
五.客户端查找解析记录顺序:
本地DNS缓存—>hosts文件---->首选DNS服务器---->备用DNS服务器
六.DNS服务器搭建
设备配置部署:
1、 配置静态IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network #静态ip配置完成后重启网卡
2、 关闭防火墙或关闭安全模块【selinux=disabled】
systemctl disable firewalld #永久关闭防火墙
vi /etc/selinux/config #永久关闭安全模块
3、 配置yum源环境
vim /etc/yum.repos.d/local.repo
mount /dev/sr0 /mnt #挂载
4、安装bind软件包,但是一定不要安装bind-chroot软件包
yum -y install bind
5、配置DNS配置文件
vi /etc/named.conf
修改配置文件:
options {
listen-on port 53 { 192.168.217.125; }; #设置监听地址,主DNS服务器IP地址
listen-on-v6 port 53 { ::1; };
directory "/var/named"; #区域文件根目录
dump-file "/var/named/data/cache_dump.db"; #缓存文件路径
statistics-file "/var/named/data/named_stats.txt"; #状态文件路径
memstatistics-file "/var/named/data/named_mem_stats.txt"; #内存文件路径
allow-query { any; }; #允许访问的策略,修改为“any”
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
#主服务器添加正向解析配置
zone "lanou.com" IN {
type master; #主服务器
file "lanou.com.zone"; #定义文件名称
allow-transfer { 192.168.217.133; }; #允许从DNS服务下周区域文件,填写从DNS服务器IP
};
#主服务器添加反向解析配置
zone "217.168.192.in-addr.arpa" IN { #注意
type master;
file "192.168.217.arpa";
allow-transfer { 192.168.217.133; }; #允许从DNS服务下找区域文件,填写从DNS服务器IP
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
6.设置解析文件:
cd /var/named #寻找该目录下的named.empty模板文件
cp named.empty lanou.com.zone
cp named.empty 192.168.217.arpa
修改文件属组
chown .named lanou.com.zone
chown :named 192.168.217.arpa
配置正向解析文件数据:
@ IN NS dns1.lanou.com. #前面加@设置DNS主服务器
dns1 IN A 192.168.217.125
dns2 IN A 192.168.217.133
www IN A 192.168.0.202
配置反向解析文件数据
@ IN NS dns1.lanou.com.
125 IN PTR dns1.lanou.com.
133 IN PTR dns2.lanou.com.
202 IN PTR www.baidu.com.
8.启动DNS服务
systemctl start named
查看状态:
netstat -anptu | grep named
验证主服务器配置完成:
设置DNS服务器:
vim /etc/resolv.conf
nameserver 192.168.217.125
安装nslookup软件:
yum -y install bind-utils
nslookup dns1.lanou.com
nslookup
>dns1.lanou.com
从服务器:
在这之前的步骤同上
vim /etc/named.conf
options {
listen-on port 53 { 192.168.217.133; }; #设置监听地址,从DNS服务器IP地址
listen-on-v6 port 53 { ::1; };
directory "/var/named"; #区域文件根目录
dump-file "/var/named/data/cache_dump.db"; #缓存文件路径
statistics-file "/var/named/data/named_stats.txt"; #状态文件路径
memstatistics-file "/var/named/data/named_mem_stats.txt"; #内存文件路径
allow-query { any; }; #允许访问的策略,修改为“any”
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
#从服务器添加正向解析配置
zone "lanou.com" IN {
type slave; #主服务器
file "slaves/lanou.com.zone"; #定义文件名称
masters { 192.168.217.125; }; #允许主DNS服务下周区域文件,填写主DNS服务器IP
};
#从服务器添加反向解析配置
zone "217.168.192.in-addr.arpa" IN { #注意
type slave;
file "slaves/192.168.217.arpa";
masters { 192.168.217.125; }; #允许主DNS服务下找区域文件,填写主DNS服务器IP
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
从服务器不需要正向解析和反向解析
启动DNS服务
systemctl start named
查看状态:
netstat -anptu | grep named
验证主服务器配置完成:
设置DNS服务器:
vim /etc/resolv.conf
nameserver x.x.x.x #写主服务器ip
nameserver x.x.x.x #写从服务器ip
安装nslookup软件:
yum -y install bind-utils
nslookup dns1.lanou.com
nslookup
>dns1.lanou.com