配置dns主从服务器,能够实现正常的正反向解析
对DNS域名服务器原理及作用等介绍
1.DNS简介:
DNS是互联网上的一项服务,担任域名和IP地址相互映射的一个分布式数据库,相较于IP,域名更便于记忆能够使人更方便的访问互联网。但是计算机只能基于IP来识别对方,而且要上网或通过网络传输数据,也是基于IP地址完成。
2.原理简单介绍
用户输入域名或IP地址,服务器查找与域名或IP地址相匹配的IP地址或域名,从而去打开我们想要访问的网站。域名解析主要分为正向解析和反向解析。正向解析就是将域名解析成IP地址,反向解析就是将IP地址解析成域名,通常用的最多的是正向域名解析
3.常见域名后缀
(1).edu 教育机构域名后缀
(2).pub 公共大众域名后缀
(3).cn 中国国家顶级域名后缀
(4).org 非盈利组织域名后缀
(5).com 商业组织域名后缀
(6).gov 政府部门域名后缀
(7).net 网络服务商域名后缀
4.DNS域名服务器类型
(1)缓存服务器 负责接收解析器发送过来的DNS解析请求,通过依次查询根域名服务器、顶级域名服务器、耳机域名服务器来获得DNS条目,然后把相应结果发送给解析器,根据DNS条目的TTL进行缓存,多用于企业局域网内部、运营商等领域
(2)转发域名服务器 接受解析器发送过来的DNS请求,转发给指定的上级域名服务器获得DNS解析条目,然后把响应结果发送给解析器,不缓存,仅仅是转发。
(3)权威域名服务器 根域名服务器:是最高层次也是最重要的域名服务器,负责对(.com,.cn等顶级域名向下授权)所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址,从根本上保证了域名解析服务。一般情况下域名服务器并不直接把待查询的域名直接解析出结果返回给用户,会引导本地域名服务器找一个服务器进行查询。
顶级域名服务器:管理在该顶级域名服务器成功注册的二级域名,收到DNS查询时可以立即返回结果。
二级域名服务器:服务于具体域名解析
(4)权限域名服务器 主要作用是负责管理“区”的域名服务器。权限不能无查询结果返回时,就会引导用户下一步该寻找哪一个域名服务器。
(5)本地域名服务器 本地域名服务器对域名系统非常重要。用户发出DNS查询请求时,这个查询请求报文就会先发送给本地域名服务器进行解析。
5.DNS服务器的对应关系查询方式
DNS采用分布式数据结构来存放数据信息。
(1)递归查询 用户发起查询请求后必须向用户返回一个结果,如果此服务器没有结果则会询问查找其他服务器再返回结果,客户端和本地DNS服务器之间是递归查询。开启递归查询等同于将DNS服务器开放,造成大量数据流量流入流出。
2)迭代查询 用户发起查询请求后不直接返回结果,而是引导你到其他服务器上查询,用户再次向其他服务器发起请求,直到查询到结果。DNS服务器之间使用的是迭代查询。
6.具体解析过程
(1)用户输入域名发起域名查询请求。
(2)计算机操作系统先查找本地hosts文件中是否有这个域名与IP的对应关系,有就返回结果给用户,没有就进入下一步。
(3)hosts文件找那个没有此域名与IP的对应关系,前往查找本地DNS解析器中的缓存,有就返回结果,没有就下一步。
(4)查找TCP/IP传输设置的首选DNS服务器(本地DNS服务器)查找到有就返回,没有就进入下一步。本地DNS服务器解析的结果具有较强权威。
(5)根据本地DNS服务器是否设置转发
转发模式下本地DNS服务器把查询请求发往上一级DNS服务器,把任务交给上一级服务器,如果这一级仍然无法解析就将请求再往上一级发或者直接发送给根域名服务器直到查找到结果返回给本地DNS服务器,本地DNS服务器再把结果返回给用户。
不转发模式下本地DNS服务器就将请求直接发送给根域名服务器,根域名服务器先判断是否有哪一级域名该管理此域名,并将管理该域名的服务器的IP返回给本地DNS服务器,本地DNS服务器按照IP地址向该服务器发送查询请求,如果它无法查到结果又将一个同域但低一级的域名服务器IP给本地DNS服务器,重复操作直到查到结果由本地DNS返回结果给用户。 提供DNS服务的软件叫bind,服务名是named。
配置文件介绍:
提供DNS服务的软件叫bind,服务名是named。
[root@localhost ~]# yum install bind -y
[root@localhost ~]# rpm -ql bind
/etc/named.conf # bind主配置文件
/var/named/slaves # 从dns服务器文件夹
[root@localhost ~]# vim /etc/named.conf
options {
#定义监听端口,如果所有地址都监听,则只写端口
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
#定义数据文件目录
directory "/var/named";
#只允许本地主机进行查询
allow-query { localhost; };
};
#定义区域
zone "." IN {
type hint;
file "named.ca";
};
配置正向解析:
1.下载bind服务并开启
[root@localhost ~]# yum install -y bind
[root@localhost ~]# systemctl start named
[root@localhost ~]# systemctl enable named
2.制定配置计划
www.xx.com——分配一个真实ip
dns.xx.com——分配一个真实ip
dhcp.xx.com——可以选择分配虚拟地址
nfs.xx.com——可以选择分配虚拟地址
ntp.xx.com——可以选择分配虚拟地址
3.修改主配置文件/etc/named.conf
修改监听的服务器的地址为真实地址
[root@localhost ~]# vim /etc/named.conf
listen-on port 53 { 192.168.41.132; };
directory "/var/named";
};
zone "baidu.com" IN {
type master;
file "named.baidu.com";
};
4.配置数据配置文件/var/named/
(1)在/var/named/下vim一个“.zone”结尾的区域文件 (2) 目前里面内容为空,格式有点不好把控,可以使用cp命令去将本地数据配置文件拷贝到本文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost named.baidu.zone
(3) 进行配置
[root@localhost ~]# vim /var/named/named.baidu.com
$TTL 1D
@ IN SOA @ admin.baidu.com. ( 0 1D 1H 1W 3H )
IN NS ns.baidu.com.
IN MX 10 mail.baidu.com.
ns IN A 192.168.41.138
mail IN A 192.168.41.138
www IN A 192.168.41.138
ftp IN CNAME www
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl disable firewalld --now
配置反向解析
1.修改主配置文件/etc/named.conf
[root@localhost ~]# vim /etc/named.conf
zone "138.41.168.192.in-addr.arpa" IN {
//倒着写你服务器ip所在网段,最后一位0可以省略,后缀需要加上.in-addr-arpa
type master;
file "138.41.168.192.zone";
};
2.修改数据配置文件
在/var/named/目录下vim一个138.41.168.192.zone 文件
PRT表示反向解析
[root@localhost ~]# vim /var/named/138.41.168.192.zone
//基本格式和正向解析相同
$TTL 1D
@ IN SOA dns.lll.com. test.163.com (
0
1D
1H
1W
3H
)
IN NS dns.ssll.com.
//将域名与IP指向反过来书写,这里的因为都属于是同一网段只需要写末尾一位
160 IN PTR dns.lll.com
161 IN PTR mail.lll.com
160 IN PTR www.lll.com
xx IN PTR ftp
xx IN PTR dhcp
xx IN PTR ntp
3.检查书写并重启服务
[root@localhost ~]# systemctl restart named
4.测试
nslookup 被解析的ip (主服务服务器ip)
[root@localhost named]# nslookup 192.168.41.10
server can't find 10.119.168.192.in-addr.arpa: NXDOMAIN
[root@localhost named]# nslookup 192.168.41.160
160.119.168.192.in-addr.arpa name = dns.lll.com.119.168.192.in-addr.arpa.