教你如何进行DNS域名解析

目录

一:DNS系统介绍

1.DNS服务概述

2.DNS域名空间介绍

3.DNS 域名结构

4.DNS解析方式

5.DNS查询方式

(1)递归查询

(2)迭代查询

 6.DNS服务器类型:

(1)主域名服务器

(2)从域名服务器

(3)缓存域名服务器

(4)转发域名服务器

二:构建DNS域名解析服务器

1.配置正向解析

 2.配置反向解析

三:DNS主从服务器实验

1.配置主从服务器

2.配置从服务器

四: DNS与DHCP实验

1.关闭防火墙,安装软件服务

 2.设置DNS配置

3.设置主DNS服务器

 4.设置正反向解析

 5.重启服务,进行正反向解析 

 6.设置从DNS服务器,修改主配置为所有人都可访问,设置正反向 ,重启服务 

 7.编辑DHCP

8. 打开windows客户端进行测试自动获取DNS

​9.另开一台linux系统机验证


一:DNS系统介绍

1.DNS服务概述

DNS(Domain Name System)域名系统,是互联网的一项核心服务,可以作为域名和IP地址相互映射的以个分布式数据库,提供域名与IP地址的解析服务,能够使人们更加方便的使用域名访问互联网而不是记住繁琐的IP地址。

2.DNS域名空间介绍

由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

树状结构最顶层称为根域,用 “.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将 com 域的解析全委派给 com 域服务器,以后但凡跟服务器收到以 com 结尾的域名解析请求,都会转发给com 域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

3.DNS 域名结构

  1. 根域    位于域名空间最顶层,一般用一个 “.” 表示,其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。(全球有13个根(root)服务器)
  2.  顶级域, 一般代表一种类型的组织机构或国家地区,如 net、com、org、edu、gov、mil、cn、jp、hk。

DNS 根域下面是顶级域,也由Internet 域名注册授权机构管理。共有3 种类型的顶级域。

组织域:采用3 个字符的代号,表示DNS 域中所包含的组织的主要功能或活动。比如com 为商业机构组织,edu 为教育机构组织,gov 为政府机构组织,mil 为军事机构组织,net 为网络机构组织,org 为非营利机构组织,int 为国际机构组织。

      地区域:采用两个字符的国家或地区代号。如cn 为中国,kr 为韩国,us 为美国。

反向域:这是个特殊域,名字为in-addr.arpa,用于将IP 地址映射到名字(反向查询)

3.二级域,用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

4.子域,二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

5.主机,主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名。平时上网输入的网址都是 FQDN 名,如 www.sina.com.cn,其实表示我们要访问 “sina.com.cn” 域中一台名为 “www” 的计算机

4.DNS解析方式

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

5.DNS查询方式

(1)递归查询

1.1、主机首先向其本地域名服务器进行递归查询。

1.2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。

1.3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。

1.4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。

(2)迭代查询

2.1、主机首先向其本地域名服务器进行递归查询。
2.2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
2.3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
2.4、本地域名服务器向顶级域名服务器进行迭代查询。
2.5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
2.6、本地域名服务器向权限域名服务器进行迭代查询。
2.7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
2.8、本地域名服务器最后把查询的结果告诉主机

 6.DNS服务器类型:

(1)主域名服务器

负责维护  个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

(2)从域名服务器

 当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果 不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置, 以便服务器能自动同步区域的地址数据库。

(3)缓存域名服务器

只提供域名解析结果的缓存功能, 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服 务器查询的结果, 并将它放在高速缓存中, 以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器, 因为提供的所有信息都是间接 信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

(4)转发域名服务器

负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

二:构建DNS域名解析服务器

1.配置正向解析

(1)安装bind软件包

[root@localhost ~]# yum install -y bind        #安装bind软件包

 

 (2)查看需要修改的配置文件所在的路径

rpm -qc bind                   #查询bind软件配置文件所在路径
/etc/named.conf                #主配置文件
/etc/named/rfc1912.zonrs       #区域配置文件
/var/named/named.localhost     #区域数据配置文件

(3)修改主配置文件

[root@localhost ~]#vim /etc/named.conf        #修改主配置文件
options {
        listen-on port 53 { 127.0.0.1; };
#监听53端口,ip地址使用提供服务的本地ip,也可以用any表示所有
        listen-on-v6 port 53 { ::1; };       #ipv6行如不使用可以注释掉或者删除
        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     { localhost; };#允许使用本DNS解析服务的网段,也可用any代表所有

 (4)修改区域配置文件,添加正向区域配置

[root@localhost ~]# vim /etc/named.rfc1912.zones      #修改区域配置文件

zone "benet.com" IN {                                #正向解析"benet.com"区域
        type master;                                 #类型为主区域
        file "benet.com.zone";                       #指定区域数据文件为benet.com.zone
        allow-update { none; };
};

(5)配置正向区域数据文件

[root@localhost ~]# cd /var/named                      #切换目录
[root@localhost named]# cp -a named.localhost benet.com.zone#保留源文件的权限和属主的属性复制
[root@localhost named]# vim /var/named/benet.com.zone  #编辑配置文件

$TTL 1D                                                #设置缓存解析结果的有效时间
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.                             #记录当前区域的DNS服务器的名称
        A       192.168.231.102                        #记录主机IP地址
IN     MX 10    mail.benet.com.                        #MX为邮件交换记录,数字越大优先级越低
www    IN A     192.168.231.110                        #记录正向解析www.benet.com对应的IP
news   IN A     192.168.231.120
host   IN CNAME www                                    #CNAME使用别名,news是www的别名
*      IN A     192.168.231.150                        #泛域名解析,“*"代表任意主机名






 ​​​​​

 (6)启动服务,关闭防火墙

[root@localhost named]#systemctl start named            #开启服务
[root@localhost named]#systemctl stop firewalld         #关闭防火墙
[root@localhost named]#setenforce 0                     #临时关闭SElinux
[root@localhost named]# netstat -lntup | grep :53       #查看53端口的状态
[root@localhost named]# systemctl status named          #查看named状态
       
 
tail -f /var/log/ message            #如果服务启动失败,可以查看日志文件来排查错误
vim /var/log/messages                #查看日志文件
journalctl -u named -r               #查看日志文件

 
rndc-confgen -r /dev/urandom -a          #如果服务启动卡住,可以执行此命令解决

 

 (7)在客户端的域名解析配置文件中添加DNS服务器地址

plan 1:
vim /etc/resolv.conf                                      #修改完后立即生效
nameserver 192.168....

cat /etc/resolv.conf


plan 2:
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33         #修改完后需要重启网卡
DNS1=192.168....

systemctl restart network                                 #重启网卡

 

 (8)测试DNS解析(nslookup或者host)

 2.配置反向解析

前面步骤跟正向解析一样:安装bind—>修改主配置文件

(1)修改区域配置文件,添加区域配置


[root@localhost named]# vim /etc/named.rfc1912.zones

zone "231.168.192.in-addr.arpa" IN {       #网段地址反着写,最后一段可不写
        type master;
        file "benet.com.zone.local";       #名字不能重复
        allow-update { none; };
};

(2)备份指定区域数据配置文件,然后编辑指定区域数据配置文件

[root@localhost named]#cd /var/ named/
[root@localhost named]#cp -p named.localhost zhangbin.com.zone.local
[root@localhost named]# vim /var/named/benet.com.zone.local

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
123 IN PTR      www.benet.com.
191 IN PTR      news.benet.com.            #PTR为反向指针

 (3)重启服务,测试DNS反向解析

三:DNS主从服务器实验

1.配置主从服务器

(1)主服务器主配置文件 

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        #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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

(2)主服务器区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "benet.com." IN {
        type master;
        file "benet.com.zone";
        allow-transfer { 192.168.231.100; };
};


zone "231.168.192.in-addr.arpa" IN {
        type master;
        file "benet.com.zone.local";
        allow-transfer { 192.168.231.100; };
};

(3)复制文件,修改主服务器区域数据文件 

[root@localhost named]#cd /var/named
[root@localhost named]# cp -a named.localhost  benet.com.zone
[root@localhost named]#cp -a named.localhost  benet.com.zone.local

[root@localhost named]# vim benet.com.zone 

$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
www IN  A       192.168.231.110
IN  MX  10      mail.benet.com.
mail IN A       192.168.231.120
news  IN CNAME   www
*    IN A       192.168.231.200



[root@localhost named]# vim benet.com.zone.local

$TTL 1D
@       IN SOA  benet.com. admin.benet.com.. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.231.102
150 IN PTR      www.benet.com.
160 IN PTR      mail.benet.com.
170 IN PTR      news.benet.com.



  

 (4)添加主服务器IP地址

2.配置从服务器

(1)安装bind

[root@localhost ~]# yum install -y bind

(2)修改从域名服务器主配置文件

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

 (3)修改从域名服务器区域配置文件,添加正、反区域配置

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "benet.com" IN {
        type slave;
        file "slaves/benet.com.zone";
        masters { 192.168.231.102; };
};


zone "231.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/benet.com.zone.local";
        masters { 192.168.231.102; };
};

 

 (4) 主从服务器都重启服务,并查看区域数据文件是否已下载成功

systemctl restart named
ls -l /var/named/slaves/

 (5)当把主服务器的named服务关掉后,再nslookup后,显示的Server就是从服务器的IP地址了 

四: DNS与DHCP实验

DNS服务器:主 192.168.231.102从 192.168.231.100
DHCP服务器 192.168.231.102 提供192.168.231.0/24 网段的ip地址 子网掩码 默认网关 DNS服务器地址 DNS默认域名配置

1.关闭防火墙,安装软件服务

  

 2.设置DNS配置

3.设置主DNS服务器

 

 4.设置正反向解析

 

 5.重启服务,进行正反向解析 

 

 6.设置从DNS服务器,修改主配置为所有人都可访问,设置正反向 ,重启服务 

[root@localhost named]# vim /etc/named.conf

[root@localhost slaves]# vim /etc/named.rfc1912.zones

 

 7.编辑DHCP

 复制文件

 编辑配置文件

 

 启动DHCP

8. 打开windows客户端进行测试自动获取DNS

选择自动获得IP地址

将NAT模式关掉

 网络关闭再重启

 9.另开一台linux系统机验证

设置dhcp服务 

重启服务后查看 dns配置

 

 进行正反解析

猜你喜欢

转载自blog.csdn.net/A1100886/article/details/130242171