DNS:域名系统 domain name system
DNS系统中记录了 域名 和 IP地址 的映射关系。
正向解析:实现将域名解析成IP地址。域名àIP地址
反向解析:实现将IP地址解析成域名。IP地址à域名
DNS服务器的身份
主DNS服务器(master):DNS系统中用来记录域名和IP地址的映射关系的权威服务。
辅助DNS服务器(slave):辅助DNS服务器上的资源来自于主DNS服务器,自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮主DNS分担一定的域名解析压力。
缓存DNS服务器(cache缓存):用来缓存域名解析的数据。可以用作于DNS解析加速器
域名命名规则
例.
域名格式: 主机名.二级域名.一级域名[.根域]
根域:用.点表示。根域是域名服务系统的最顶层。
一级域名:用于表示组织机构的类别。
com 企业公司 net网络机构 org非营利组织
cn中国 hk香港 gov政府机构
edu教育机构 tw台湾
二级域名:用于表示组织机构的名称。通常由公司或个人向域名系统管理机构申请一个用于标识身份的名称。
三级域名(或主机名):集团公司会用于标识不同地区的公司。
1、client客户机向本地的DNS 服务器发出解析请求:“你知道www.baidu.com”的IP地址吗?服务器就在自己的DNS数据库中查询是否有www.baidu.com的区域记录和资源记录。2 、如果本地的DNS服务器上有记录,则直接将www.baidu.com的IP地址告诉给客户机。否则,本地DNS服务器就回去问“根”DNS服务器。3、根DNS服务器告诉本地DNS服务器.com的DNS服务器IP地址。4、本地DNS服务器向.com服务器发出请求:“你知道www.baidu.com”的IP地址吗?5、.com的DNS服务器告诉本地DNS服务器baidu.com的DNS服务器IP地址。6、本地DNS服务器向baidu.com服务器发出请求:“你知道www.baidu.com”的IP地址吗?7、baidu.com的DNS服务器告诉本地DNS服务器www.baidu.com的服务器IP地址。 8、本地DNS服务器告诉Client客户机:"www.baidu.com"的IP地址是180.97.33.107。9、Client客户机向IP地址为180.97.33.107的www.baidu.com的WEB服务器发出请求“请给我一个网站的主页文件,例如index.html” 10、WEB服务器180.97.33.107将网站的主页文件使用http协议传送给Client客户机。
DNS正向部署
1、关闭防火墙,设置selinux为宽容模式
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && getenforce
2、查看软件是否安装并启动
rpm –q install bind bind-utils
yum –y install bind bind-utils
systemctl restart named
systemctl enable named
rpm –qc bind
/etc/logrotate.d/named | 日志轮滚策略文件 | |
/etc/named.conf | 主配置文件 | |
/etc/named.rfc1912.zones | 区域配置文件 | |
/var/named/named.localhost | 正向解析例子 | |
/var/named/named.loopback | 反向解析例子 | |
3、修改DNS的配置文件
sed -i 's/127.0.0.1/any/' /etc/named.conf
sed -i 's/localhost/any/' /etc/named.conf
4、配置正向解析区域信息
vim /etc/named.rfc1912.zones
zone "tt.com" IN {
type master;
file "tt.com.zone"; 名字自个定,但后面资源文件名必须一致
allow-update {none;};
};
5、配置正向解析区域的资源记录文件
cd /var/named
cp –av named.localhost tt.com.zone
vim tt.com.zone
named-checkconf 检测配置文件
named-checkzones /var/named/tt.com.zone检测资源记录文件
systemctl restart named 重启服务
7、测试
或nslookup 192.168.11.11
DNS反向部署(准备工作如上)
1、配置反向解析区域信息
vim /etc/named.rfc1912.zones
zone "11.168.192. in-addr.arpa" IN {
type master;
file "tt.fx";
allow-update { none;};
};
2、创建反向解析区域资源记录文件
cd /var/named
cp –av named.loopback tt.fx
systemctl restart named
3、测试(换了一台虚拟机。。。)
DNS主从部署,即在主DNS上声明传递给从的IP,在从DNS上声明主的IP
准备环境如上。。。。。。
192.168.11.12为从 192.168.11.13为主
1、配置主正向解析区域信息
vim /etc/named.rfc1912.zones
zone "bobo.com" IN {
type master;
file "bobo.com.zone";
allow-update { none; };
allow-transfer {192.168.11.12;};
};
2、配置资源文件
cd /var/named
cp –av named.localhost bobo.com.zone
重启服务
systemctl restart named
4、配置辅助DNS服务器正向解析区域信息
zone "bobo.com" IN {
type "slave";
file "slaves/bobo.com.zone";
allow_update { none; };
masters { 192.168.11.13; };
};
重启服务
systemctl restart named
5、测试
再从服务器上ls /var/named
多了一个slaves是从主DNS服务器上同步过来的
在从服务器上做测试
可发现这些信息就是来自己主服务器的配置记录。
DNS视图功能:通过试图功能可以实现内网、外围解析出不同的IP地址。
即解析一个域名时,对于不同网段的客户可查询出不同的IP地址
准备工作如上在加几步
vim /etc/named.conf 在最后注释一些内容如图
vim /etc/named.rfc1912.zones 把所有内容全部注释了
否则后面做了视图就无法重启服务
1、创建视图(在192.168.11.13上操作)
vim /etc/named.rfc1912.zones
acl dianxin { 192.168.11.0/24; }; 定义访问控制列表这个网段可访问
view "dianxin" { 定义视图名称
match-clients { dianxin; }; 可访问的用户为此列表
recursion yes; 递归查询:一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。
zone "test.com" IN {
type master;
file "dianxin.test.com.zone";
};
};
acl yidong { 192.168.10.0/24; };
view "yidong" {
match-clients { yidong; };
recursion yes;
zone "test.com" IN {
type master;
file "yidong.test.com.zone";
};
};
2、配置区域资源记录文件
cp –av bobo.com.zone dianxin.test.com.zone
cp –av bobo.com.zone yidong.test.com.zone
修改如下
3、给网卡多加一个IP进行测试
ifconfig ens33:0 192.168.10.13/24 up 在逻辑接口上临时加一个ip
测试如下
可见不同网段访问得到的结果是不一样的。
DNS子域授权:在父域的DNS服务器上能够查到子域DNS服务器中的域名与IP地址的映射关系。即在父域的DNS器上声明子域DNS的域名和这个域名信息所在的IP地址。
父域只需要解析自己的子域即可,而子域需要完成所有主机的解析。
父域 192.168.11.12 区域名com
子域 192.168.11.13 区域名bobo.com
首先,给子域DNS服务器配一个正向解析
vim /etc/named.rfc1912.zones
zone "bobo.com " IN {
type master;
file "bobo.com.zone";
allow-update { none; };
};
cd /var/named/
cp –av named.localhost bobo.com.zone
vim bobo.com.zone
重启服务,测试
接下来配置父域
vim /etc/named.rfc1912zones
zone "com" IN {
type master;
file "com.zone";
allow-update{ none; };
};
cd /var/named
cp –av named.localhost com.zone
重启服务并测试
注:测试方式是指定父域DNS服务器的IP
DNS转发机
DNS客户端的解析请求------》DNS转发器------》DNS服务器
DNS转发器:负责把内网的DNS解析请求转发给外网的DNS服务器
延续上例子域授权,把父域DNS中的区域配置文件中加的内容注释了。
把它当作转发器使用
vim /etc/named.rfc1912.zons
更改配置文件
#dnssec-enable yes; 注释掉此行#dnssec-validation yes; 注释掉此行#include "/etc/named.root.key"; 注释掉此行
此为无条件转发,加这两行内容192.168.11.13可以看成为外网DNS服务器
only为仅转发
重启服务并测试