教你如何进行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 域名结构
根域 位于域名空间最顶层,一般用一个 “.” 表示,其记录着Internet 的重要DNS 信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到Internet 的各个组织。(全球有13个根(root)服务器) 顶级域, 一般代表一种类型的组织机构或国家地区,如 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配置
进行正反解析