DNS服务及其管理

本文详细介绍了DNS服务的工作流程,包括从浏览器输入域名到解析的过程。接着,讲解了DNS服务器的安装部署,如通过yum安装bind并启动服务,以及如何配置高速缓存DNS以提高查询效率。此外,还涵盖了权威DNS的正向解析、反向解析、双向解析的设置方法,以及从属DNS的配置和远程更新的安全操作,强调了在不同场景下DNS配置的关键步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DNS

dns解析过程:

1、在浏览器中输入www.qq.com域名,操作系统会先检查本地的hosts文件是否有这个网址映射关系,有就调用这个IP地址映射

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,会去查找本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析 

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。 

 

1.安装部署DNS
yum insatll bind.x86_64 -y
systemctl start named 
sytemctl enable named
systemctl stop firewalld
systemctl disable firewalld
主配置文件: /etc/named.conf
子配置文件: /etc/named.rfc1912.zones
数据目录: /var/named


2.高速缓存dns
vim /etc/named.conf

options {
 11         listen-on port 53 { any; }; 53端口允许任何人访问这个dns(原本端口是只在内部开启) ss -anutple | grep named
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt"    ;
 17         allow-query     { any; };              查询当前dns的客户群体

 

 18         forwarders {172.25.254.68;};   若本机不知道,去向68主机寻找

systemctl restart named

测试:ping www.baidu.com

第一次:此时用时72毫秒

 

第二次:用时8毫秒

 

因为已经搜索过百度,并且缓存,所以第二次时间大大缩短,这就是高速缓存的意义,在企业中

可以缓解用户网络的压力

 

3、权威dns的正象解析

 

删除/etc/named.conf文件中的172.25.254.250那行
vim /etc/named.rfc1912.zones
 42 zone "westos.com" IN {
 43         type master;
 44         file "westos.com.zone";
 45         allow-update { none; };

 

 46 };

 

cd /var/named
cp -p named.localhost westos.com.zone   注意要加-p,复制文件的权限
vim westos.com.zone

 

 

systemctl  restart  named   重启named

测试:ping www.westos.com

 

4、反向解析
vim /etc/named.rfc1912.zones
 38 zone "254.25.172.in-addr.arpa" IN {
 39         type master;
 40         file "westos.com.ptr";
 41         allow-update { none; };
 42 };

cd /var/named
cp -p named.localhost westos.com.ptr
vim westos.com.ptr
 
systemctl restart named    重启named
测试:  dig -x 172.25.254.200




5、双向解析
vim /etc/named.conf
 48 view localnet {
 49         match-clients { 172.25.254.68; };   #内网能连接的人是172.25.254.68
 50         zone "." IN {
 51                 type hint;
 52                 file "named.ca";
 53 };
 54
 55 include "/etc/named.rfc1912.zones";         #内网访问的是/etc/named.rfc1912.zones这个文件
 56 include "/etc/named.root.key";
 57 };
 58 view any {
 59         match-clients { any; };            #其他人都能访问
 60         zone "." IN {
 61                 type hint;
 62                 file "named.ca";
 63 };
 65 include "/etc/named.rfc1912.zones.inter";   #外网访问的是/etc/named.rfc1912.zones.inter
 66 include "/etc/named.root.key";
 67 };

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter     #-p的意思是peimission
vim  /etc/named.rfc1912.zones.inter
 42 zone "westos.com" IN {
 43         type master;
 44         file "westos.com.inter";
 45         allow-update { none; };
 46 };

cp -p westos.com.zone westos.com.inter
vim westos.com.inter
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. root.westos.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.westos.com.
  9 dns     A       1.1.1.126
 10 www     A       1.1.1.111
重启服务
测试:
172.25.254.68主机  dig www.westos.com (内网)

 

vim /etc/resolv.conf

nameserver 172.25.254.200

 

 

 

172.25.254.200主机,dig www.westos.com    (外网)

vim /etc/resolv.conf

nameserver 172.25.254.200






6、从属dns

从属dns
yum install bind -y
systemctl stop firewalls
systemctl start named

vim /etc/named.conf

 

vim  /etc/named.rfc1912.zones
zone "westos.com" IN {
        type slave;
        masters { 172.25.254.200; };
        file "slavec/westos.com.inter";
        allow-update { none; };
};

systemctl restart named
####注意westos.com.inter里面的serial值最大为10位
若/var/named/slaves中没有改有的文件,则是selinux没有关闭

主dns:
vim /etc/named.rfc1912.zones.inter
 42 zone "westos.com" IN {
 43         type master;
 44         file "westos.com.inter";
 45         allow-update { none; };
 46         also-notify { 172.25.254.168; };
 47 };

改变主dns上westos.com.inter

vim  westos.com.inter

systemctl restart named

测试:从属机dig www.westos.com

 

7、dns的远程更新

做这个的时候把selinux改为disabled
主dns主机
vim /etc/named.rfc1912.zones.inter
 42 zone "westos.com" IN {
 43         type master;
 44         file "westos.com.inter";
 45         allow-update { 172.25.254.168; };    #允许168主机远程更新
 46         also-notify { 172.25.254.168; };        #更新通知168主机
 47 };

远程主机上作更新动作:
[root@dns-slave ~]# nsupdate
> server 172.25.254.200
> update add bbs.westos.com 86400 A 1.1.1.111    #添加
> send
>

[root@dns-slave ~]# nsupdate
> server 172.25.254.200
> update delete bbs.westos.com    #删除
> send
打开主dns主机,重启named,内容更新

 

8、key的制作

为了远程更新能够更安全的进行,我们需要制作钥匙并分配给远程登陆更新的用户

(1)制作key:

cp -p /etc/rndc.key  /etc/westos.key

dnssec-keygen -a HMAC-MD5 -b 128 HOST westos

重新打开一个虚拟机,敲键盘,得到钥匙Kwestos.+157+48551.key

(2)查看key         cat Kwestos.+157+48551.key

(3)vim /etc/westos.key   更改钥匙名,并把上面的那串字符复制进去 ,如下:

(4)vim  /etc/name.conf     更改里面的内容

 

(5)然后把钥匙发送给要远程更新的用户

 

(6)重启服务进行测试:

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值