设为首页 收藏本站
查看: 1115|回复: 0

[经验分享] Centos 7.5 部署DNS

[复制链接]

尚未签到

发表于 2019-2-16 07:52:03 | 显示全部楼层 |阅读模式
1   DNS简介
  域名系统(Domain Name System, DNS)是互联网的核心应用层协议之一, 它用于查询域名对应的IP地址.在使用域名访问任何网络资源时都需要先进行域名解析。DNS (Domain Name Server) 域名解析服务,他可以完成域名与IP地址的互换,可以通过IP地址解析到域名,也可以通过域名解析到IP地址,IP地址是平面结构,且不容易记住,DNS是层次化的结构,便于记忆。
2     DNS域名

·   层次型的命名机制
–   FQDN(完全合格域名)=计算机名+主DNS后缀
–   Fully Qualified Domain Name
–   例:   mp3.baidu.com   
andy.ent.sina.com
news.163.com

3     DNS树状结构图

4     DNS查询类型
  4.1   递归查询
DNS请求被服务器接受后,如果属于此服务器管辖范围则请求上级服务器依次传递请求,并且依次传递结果给发出请求的主机。
在一个递归查询中,服务器要么返回客户请求的信息的答案,要么返回一个指出该信息不存在的错误消息,DNS服务器不会尝试联系别的服务器以获取信息

4.2   迭代查询
DNS请求被服务器接受后,如果不是自己管辖范围,让客户端访问根域服务器,然后跟域通知客户端去访问下级服务器,直到最后客户端访问管辖请求域名的服务器为止。

注意:正反向解析是两个不同的名称空间,是两棵不同的解析树,因此,也不是同一个解析库
5     DNS解析的工作原理
  当用户向网络指定的DNS服务器发起一个域名请求时,通常情况下会有本地由此DNS服务器向上级的DNS服务器发送迭代查询请求;如果该DNS服务器没有要查询的信息,则会进一步向上级DNS服务器发送迭代查询请求,直到获得准确的查询结果为止。

6     DNS之BIND解析配置
  BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。DNS域名解析服务作为互联网基础设施服务,其责任之重可想而知,因此建议大家在生产环境中安装部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,以便有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。
操作步骤如下:
6.1   环境准备
[root@DNS-servre ~]# cat /etc/redhat-release #查看系统版本

[root@DNS-servre ~]# uname -r #查看内核版本

[root@DNS-servre ~]# systemctl stop ebtables firewalld    #关闭ebtables firewall防火墙
[root@DNS-servre ~]# systemctl disable ebtables firewalld #重启不启动ebtables firewall防火墙

[root@DNS-servre ~]# vim /etc/sysconfig/selinux 设置selinux 状态为disabled

[root@DNS-servre ~]# setenforce 0 # 临时将selinux设置为disabled
[root@DNS-servre ~]# getenforce #检测selinux是否关闭

[root@DNS-servre ~]#  ifconfig ens33 | awk -F '[ :]+' 'NR==2{print $3}'       #查看IP地址

[root@DNS-servre ~]#  hostname          #查看主机名

6.2   安装bind软件
[root@DNS-servre ~]#  yum -y install bind

6.3   修改主配置文件
在Linux系统中,bind服务程序的名称为named。首先需要在/etc目录中找到该服务程序的主配置文件,然后把第13行和第19行的地址均修改为any,分别表示服务器上的所有IP地址均可提供DNS域名解析服务,以及允许所有人对本服务器发送DNS查询请求。这两个地方一定要修改准确。
[root@DNS-servre ~]# vim /etc/named.conf

6.4   修改解释配置文件
bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。将域名解析为IP地址的正向解析参数和将IP地址解析为域名的反向解析参数

正向解析参数

反向解析参数
编辑vim /etc/named.rfc1912.zones这个配置文件。设置正向解析和反向解析的文件存放位置。
[root@DNS-servre ~]#  vim /etc/named.rfc1912.zones

6.5   修改DNS正向解析文件
[root@DNS-servre ~]# cp -a  /var/named/named.localhost /var/named/vancen.com.zone   #拷贝正向解析文件模板

[root@dns-server ~]#vim /var/named/vancen.com.zone                        #编辑正向解析配置文件

各选项解释:
$TTL 1D #生存周期为1天               
@   IN SOA          vancen.com.         root. vancen.com.   (   
#授权信息开始:        #DNS区域的地址       #域名管理员的邮箱(不要用@符号)
0;serial      #更新序列号
1D;refresh  #更新时间
1H;retry    #重试延时
1W;expire   #失效时间
3H;)minimum #无效解析记录的缓存时间
NS      DNS-server. vancen.com.             #域名服务器记录
DNS-server      IN A    192.168.1.242               #地址记录(DNS-server.vancen.com.)
FTP                IN A 192.168.1.112               #地址记录(ftp.vancen.com.)
www               IN A  192.168.1.242               #地址记录(www.vancen.com.)
oa                     IN A 192.168.1.224               #地址记录(oa.vancen.com.)
blog                  IN A  192.168.1.202               #地址记录(blog.vancen.com.)
6.6   修改DNS反向解析文件
[root@DNS-servre ~]#  cp -a /var/named/named.loopback /var/named/192.168.1.arpa        #拷贝反向解析文件模板

[root@DNS-servre ~]#  vim /var/named/192.168.1.arpa         #编辑反向解析文件

各选项解释:
$TTL 1D #生存周期为1天               
@   IN SOA          vancen.com.         root. vancen.com.   (   
#授权信息开始:        #DNS区域的地址       #域名管理员的邮箱(不要用@符号)
0;serial      #更新序列号
1D;refresh  #更新时间
1H;retry    #重试延时
1W;expire            #失效时间
3H;)minimum       #无效解析记录的缓存时间
NS            DNS-server. vancen.com.           #域名服务器记录
DNS-server       IN A       192.168.1.242                   #地址记录(ns. vancen.com.)
242                    PTR      ns.vancen.com.           #PTR为指针记录,仅用于反向解析中。
242                    PTR      www.vancen.com.     #PTR为指针记录,仅用于反向解析中。
200                    PTR      blog.vancen.com.        #PTR为指针记录,仅用于反向解析中。
112                    PTR      ftp.vancen.com.         #PTR为指针记录,仅用于反向解析中。
224                    PTR      oa. vancen.com.       #PTR为指针记录,仅用于反向解析中。
6.7   重启DNS服务
[root@DNS-servre ~]# systemctl start named                 #重启named服务
[root@DNS-servre ~]# systemctl enable named           #下次重启启动named服务
[root@DNS-servre ~]# systemctl status named            #查看named服务状态

Active (running)正在运行状态
6.8   修改网卡DNS解析条目
[root@dns-server ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33

6.9   重启网卡服务
[root@dns-server ~]# systemctl restart network           #重启网卡服务
[root@dns-server ~]# systemctl status network           #查看网卡服务状态

6.10  测试DNS解析
[root@DNS-servre ~]# nslookup

7     部署从服务器
  作为重要的互联网基础设施服务,保证DNS域名解析服务的正常运转至关重要,只有这样才能提供稳定、快速且不间断的域名查询服务。在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率。
在本实验中,主服务器与从服务器分别使用的操作系统和IP地址如下:
主机名称    操作系统    IP地址
主服务器    Centos 7.5  192.168.1.242
从服务器    Centos 7.5  192.168.1.202
第1步:在主服务器的区域配置文件中允许该从服务器的更新请求修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。
[root@dns-server ~]# vim /etc/named.rfc1912.zones
zone "vancen.com" IN {
type master;
file "vancen.com.zone";
allow-update { 192.168.1.202; };
};
  zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.arpa";
allow-update { 192.168.1.202; };
};

重启主服务器的DNS服务程序
[root@DNS-servre ~]# systemctl restart named
[root@DNS-servre ~]# systemctl status named

第2步:在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。
注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。
[root@DNS-slave ~]# vim /etc/named.rfc1912.zones
zone "vancen.com" IN {
type slave;
masters { 192.168.1.242; };
file "slaves/vancen.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters {192.168.1.242; };
file "slaves/192.168.1.arpa";
};

重启DNS服务
[root@DNS-slave ~]# systemctl restart named
[root@DNS-slave ~]# systemctl status named

第3步:检验解析结果。当从服务器的DNS服务程序在重启后,一般就已经自动从主服务器上同步了数据配置文件,而且该文件默认会放置在区域配置文件中所定义的目录位置中。随后修改从服务器的网络参数,把DNS地址参数修改成192.168.1.202,这样即可使用从服务器自身提供的DNS域名解析服务。最后就可以使用nslookup命令顺利看到解析结果了。
[root@DNS-slave ~]# cd /var/named/slaves/
[root@DNS-slave slaves]# ls
192.168.1.arpa vancen.com.zone

修改从DNS服务器的DNS地址
[root@DNS-slave ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

重启network服务
[root@DNS-slave ~]# systemctl restart network
[root@DNS-slave ~]# systemctl status network

测试DNS解析
[root@DNS-slave ~]# nslookup






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672869-1-1.html 上篇帖子: CentOS7命令自动补全 下篇帖子: centos密码有效期
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表