Centos7系统DNS服务
DNS服务介绍:DNS(domain name system): 域名系统 , 记录的是域名 和 IP的对应关系 , 实现将域名解析成IP , IP解析成域名 .
正向解析 : 实现将域名解析成IP
反向解析 : 实现将IP解析成域名
DNS服务器的身份:
1. 主DNS服务器(master): DNS系统中用来记录域名和IP地址对应关系(资源配置文件)的权威服务。
2. 辅助DNS服务器(slave备):辅助DNS服务器上的资源配置文件来源于主DNS服务器。会自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮助主DNS服务器分担一定的域名解析压力。
3. 缓存DNS服务器(cache缓存):用来缓存域名解析的数据。可以用来作为DNS解析加速器。
4. 端口号 : 53
域名的命名规则:
格式: 主机名 . 二级域名 .一级域名.[根域] 例如: www.baidu.com
根域:用.点表示。根域是域名系统的最顶层。全球有13台根域服务器。大部分的根域服务器在美国。
一级域名:用于标识组织机构的类别。例如:
com企业、公司 net网络机构 org非盈利组织 cn中国 hk香港 gov政府机构 edu教育机构
二级域名:用于标识组织机构名称。通常有公司或个人向域名系统管理机构申请一个用于标识身份的名称。常见的互联网公司二级域名代号例如:
阿里:ali 淘宝 taobao 58同城 58 腾讯 qq、tencent 网易163 新浪sina
三级域名(或主机名):集团公司通常用于标识不同地区的公司。如58同城的公司有:
wh.58.com、hz.58.com、bj.58.com。(wh武汉 ,hz 杭州 ,bj 北京)
DNS工作原理及解析过程:
https://s1.运维网.com/images/20190218/1550491132249608.png
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。
DNS服务器的部署流程:
环境 : systemctl stop firewall #关闭防火墙 setenforce #关闭selinux
1. 查看软件是否安装 : rpm -q bind bind-utils
2. 安装DNS服务器所需要的软件: yum install -y bind bind-utils(客户端软件)
3. 启动服务并设置开机自启动: systemctl restart named && systemctl enable named
4. 查看配置文件: rpm -qc bind
https://s1.运维网.com/images/20190218/1550491791556565.png
其中, /etc/named.conf 为主配置文件 , /etc/named.rfc1912.zones 为DNS的区域配置文件(正向解析、反向解析的区域设置)
主配置文件 /etc/named.conf 内容:
options {
listen-on port 53 { any; }; # 监听端口为 53 , any 允许为ipv4 的任意IP访问
listen-on-v6 port 53 { ::1; };
directory "/var/named"; # DNS服务的工作目录
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; }; # 允许查询,localhost表示仅允许本机自己查,如果要让网络中的任何主机查询就用any。(白名单)
recursion yes; # 允许递归查询
dnssec-enable yes; # 启用DNS安全功能
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid"; # DNS的pid文件
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { # 根域设置
type hint; #类型为hint
file "named.ca"; 文件路径是/var/named/named.ca #主机名和IP映射关系的资源记录文件名
};
include "/etc/named.rfc1912.zones"; # 指定包含的配置文件 , 区域配置文件
include "/etc/named.root.key";
区域配置文件内容, 以/var/named/named.localhost 为例:
$TTL 1D #缓存数据的生命周期值为一天
@ IN SOA @ rname.invalid. ( #soa记录 , 指权威的DNS服务器名称和管理员邮箱
0 ; serial #文件的版本编号 , 通常用年月日来编写 , 例20190218001
1D ; refresh #刷新时间为一天
1H ; retry #重试时间为一小时
1W ; expire #过期时间为一周
3H ) ; minimum #默认缓存时间为三分钟
NS @ #ns记录 ,即name server记录 ,记录是dns服务器的名称
A 127.0.0.1 # A 记录指定域名对应的IP
AAAA ::1
配置DNS服务的正向解析(域名-->ip):
以自身IP为例(192.168.11.11) , 搭建一个名称为gj.com的正向解析服务
第一步 : 首先将主配置文件 /etc/named.conf 中的localhost 和 127.0.0.1 改为 any
https://s1.运维网.com/images/20190218/1550493244105062.png
第二步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的正向解析配置文件 ,在文件最后一行写入如下所示:
zone "gj.com" IN { # 配置名称区域
type master; # 类型为master 主
file "gj.com.zone"; #资源记录文件名 , 完整路径为 /var/named/gj.com.zone
allow-update { none; }; # 允许跟新 , none 为不允许跟新
};
第三步 : 创建qf.com正向解析区域的资源记录(域名和IP地址的映射关系)文件gj.com.zone。
cd /var/named # 进入到 /etc/named 目录下面
cp -av named.localhost gj.com.zone #复制 named.localhost 文件里面的内容到 gj.com.zone 文件中
vim gj.com.zone #编辑此文件 ,添加图中最后四行内容
https://s1.运维网.com/images/20190218/1550495026764604.png
第四步 : 重启服务 ,用nslookup 命令进行本地检测:
https://s1.运维网.com/images/20190218/1550495277653862.png
mail.gj.com 同上www.gj.com , 解析出来的IP为192.168.11.22
*在区域配置文件 /var/named/gj.com.zone 中添加 * A 192.168.11.23 , 即为泛域名解析 , * 代表任意主机名
配置DNS服务的反向解析(ip-->域名):
第一步 : 同上正向解析
第二步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的反向解析配置文件 ,在文件最后一行写入如下所示:
zone "12.168.192.in-addr.arpa" IN { #配置ip区域 , IP反正写
type master; #类型为master 主
file "192.168.12.zone"; #资源记录文件名 , 完整路径为 /var/named/192.168.12.zone
allow-update { none; }; # 允许跟新 , none 为不允许跟新
};
https://s1.运维网.com/images/20190220/1550661638706403.png
第三步 : 创建gj.com反向解析区域的资源记录(域名和IP地址的映射关系)文件192.168.12.zone。
cd /var/named # 进入到 /etc/named 目录下面
cp -av named.localhost 192.168.12.zone #复制 named.localhost 文件里面的内容到 192.168.12.zone 文件中
vim 192.168.12.zone #编辑此文件 ,添加内容如图所示:
https://s1.运维网.com/images/20190220/1550661964338787.png
第四步 : 重启服务 , 用nslookup 进行本来检测 :
https://s1.运维网.com/images/20190220/1550662109787640.png
使用nslookup 切换服务器到192.168.11.11 上 , 输入IP:192.168.12.2 ,从图看出成功解析出www.gj.com , ip:192.168.12.3 解析出相对应的 mail.gj.com
辅助DNS服务器配置:
功能及作用 : 辅助DNS服务器上的资源配置文件来源于主DNS服务器。会自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮助主DNS服务器分担一定的域名解析压力 .
部署实验环境 : 准备第二台虚拟机主机(IP:192.168.11.13) , 按上述文章内容创建好正向解析区域和反向解析区域并测试成功之后 , 在192.168.11.13开始部署辅助DNS服务:
第一步,安装软件:
rpm -q bind bind-utils
yum install -y bind bind-utils
systemctl restart named && systemctl enable named
rpm -qc bind
第二步,备份指定的配置文件:
cd /etc
ls named*
cp -v named.conf{,.bak}
cp -v named.rfc1912.zones{,.bak}
第三步,修改/etc/named.conf主配置文件,将文件中的127.0.0.1和localhost全部改成any。
vim /etc/named.conf 修改如下两行内容的{}中的内容为any
listen-on port 53 { any; };
allow-query { any; };
------- 以上操作不做过多解释 , 上文有详细解释-----------------------------------
第四步 : 编辑区域配置文件 /etc/named.rfc1912.zones , 创建 gj.com 的辅助DNS解析配置文件 ,在文件最后一行写入如下所示:
https://s1.运维网.com/images/20190220/1550663190832322.png
type slave #设置类型为从
file "slaves/gj.com.zone" #声明辅助配置区域文件
masters { 192.168.11.11;}; #声明主DNS服务器为192.168.11.11这台机器
第五步 : 重启服务 , 查看 /var/named/slaves 下面是否存在文件:
https://s1.运维网.com/images/20190220/1550663642497240.png
可以看出一开始没有 , 重启服务后 , /var/namd/slaves 下面存在 gj.com.zone 区域配置文件 , 这个文件是从主DNS服务器192.168.11.11下载过来的
https://s1.运维网.com/images/20190220/1550664414900053.png
从辅助DNS服务器检测也能解析出www.gj.com ,如上图
DNS服务器视图功能及部署:
视图功能作用 : 通过视图功能可以实现内网、外网解析出不同的IP地址。即解析同一个域名时,对于不同网段的客户机查询出不同结果的IP地址。
(警告:在使用DNS视图功能的 DNS服务器上要在/etc/named.conf中删除或注释掉根域的配置信息,注释掉named.rfc1912.zones和root.key这些代码.否则会出错.)
---------------------------------------------------------------------------------------------------------------------
附: dns视图配置代码:
acl dianxin { #定义访问控制列表名称为dianxin电信
192.168.11.0/24; #指定网络地址和子网掩码,24是255.255.255.0这个子网掩码
};
view "dianxin" { # 定义视图名称为dianxin电信
match-clients { dianxin; }; #匹配客户端的网段为dianxin(即acl定义的名称)
recursion yes; # 启用递归查询
zone "test.com" IN { # 登记test.com匹配配置
type master; #类型为master主DNS服务器
file "dianxin.test.com.zone"; #区域的解析资源配置文件
};
};
-----------------------------------------------------------------------------------------------------------------
实验:给192.168.11.11[电信]这台主机的ens33网卡临时添加2个IP地址(192.168.100.7[移动]、192.168.110.7[联通])。创建一个dianxin的视图,在视图中定义test.com区域,并创建解析资源记录文件,主机名和IP地址随便定,但IP必须是192.168.11.0这个网段的。做解析测试。
部署如下:
首先 ,修改主配置文件 : /etc/named.conf , 如图所示 ,注释文件并添加视图代码:
https://s1.运维网.com/images/20190220/1550667007825956.png
临时添加网卡并用ifconfig 查看::
ifconfig ens33:1 192.168.100.9 up
ifconfig ens33:1 192.168.110.9 up
https://s1.运维网.com/images/20190220/1550666288759880.png
创建/var/named/dianxin.test.com.zone这个解析区域配置文件:
cd /var/named
cp -av named.localhost dianxin.test.com.zone
vim dianxin.test.com.zone 编辑此文件输入以下内容 ,如图:
https://s1.运维网.com/images/20190220/1550667038453997.png
本地测试 : nslookup dns1.test.com 192.168.11.11
https://s1.运维网.com/images/20190220/1550667113830059.png
而其他网段解析不了 , 同上原理可创建移动dns , 联通dns服务 ,实现不同网段解析不同网段的功能
DNS子域授权:
子域 : 出了根域之外的服务器都称为子域 ,一般在公司内部使用 ,
为什么使用子域? 为的是能够减轻父域的负担 , 且不受dns服务商的影响
父域只需解析出自己的子域即可 , 子域解析的是子域中的所有主机 .
实验 : 搭建父域和子域
实验拓扑 : 配置二级域名(子域)服务器 qq.com . (ip:192.168.11.13)
配置一级域名(子域)服务器 www. (ip:192.168.11.11)
首先 , 在两台虚拟主机(192.168.11.11 192.168.11.12)上安装好DNS服务 , 安装详细部署见上文(记得关闭防火墙和seLinux):
配置二级域名: vim /etc/named.rfc1912.zones 编辑此文件添加内容如图:
https://s1.运维网.com/images/20190220/1550668570261170.png
再创建区域配置文件 /var/named/qq.com.zone , 内容如下
https://s1.运维网.com/images/20190220/1550668644657021.png
重启服务 , 用nslookup www.qq.com 192.168.11.13 检测是否解析成功
配置一级域名服务器:
vim /etc/named.rfc1912.zones 编辑文件添加如图所示内容:
https://s1.运维网.com/images/20190220/1550668858848416.png
再创建区域配置文件 /var/named/com.zone , 内容如下
https://s1.运维网.com/images/20190220/1550669435954962.png
重启服务 , 再父域上检测 : nslookup www.qq.com 192.168.11.13
https://s1.运维网.com/images/20190220/1550669515143502.png
到此 ,子域授权结束
页:
[1]