您当前的位置:首页 > 电脑百科 > 站长技术 > 域名

Linux 环境下 DNS 域名解析服务

时间:2021-06-10 10:15:01  来源:掘金  作者:杰哥的IT之旅
DNS系统的作用

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

  • 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。
  • 反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。

DNS系统的类型

  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
  • 主域名服务器:维护某一个域名DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
  • 从域名服务器:与主域名服务器提供完全相同的DNS域名服务,通常用于DNS服务器的热备份。

Bind不是唯一能够提供域名服务的DNS服务程序,可以运行在大多数linux和UNIX主机中。官方:www.isc.org/

Bind服务控制

bind软件包安装完毕以后,会自动增加一个名为named的系统服务,通过脚本文件/etc/init.d/named或service工具都可以控制DNS域名服务的运行。默认监听端口:53

安装步骤

准备工作:首先开启两台服务器,配置静态IP地址,关闭防火墙和selinux并查看系统中所包含bind的rpm包。

1)bind:提供了域名服务的主要程序及相关文件

2)bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等。

3)bind-libs:提供了bind。bind-utils需要使用的库函数

4)bind-chroot为bind服务提供了一个伪装的根目录,已提供安全性。

默认已经安装了bind-utils和bind-libs,所以只需要安装bind和bind-chroot即可。

[root@localhost Packages]# mkdir /media/cdrom
[root@localhost Packages]# mount /dev/cdrom /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost Packages]# cd /media/cdrom/Packages/
[root@localhost Packages]# ls | grep "^bind"
bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
bind-dyndb-ldap-2.3-5.el6.x86_64.rpm
bind-libs-9.8.2-0.17.rc1.el6_4.6.i686.rpm
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
[root@localhost Packages]#
[root@localhost Packages]# rpm -qa | grep "^bind"
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64
[root@localhost Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
warning: bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
  1:bind                   ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
warning: bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
  1:bind-chroot            ########################################### [100%]
[root@localhost Packages]#
复制代码

修改主配置文件先备份

主配置文件named.conf通常位于/etc/目录下,在named.conf文件中,主要包括全局配置、区域配置两个部分,每一条配置记录的行尾以分号“;”表示结束,以“#”号或“//”开始的部分表示注释文字。

全局配置参数包括“option { };”的大括号中,可以设置监听的地址和端口、区域数据文件存放的目录、允许哪些客户机查询等。

区域配置参数使用“zone ...... { };”的配置格式,一台DNS服务器可以为多个区域提供解析,因此在named.conf文件中也可以有很多个zone配置段。

每个zone区域都是可选的,包括根域、回环域、反向域,具体根据实际需要而定,zone配置部分的“IN”关键字也可以省略。

反向区域的名称由倒序的网络地址和“.in-addr.arpa”组合而成。

file配置项用于指定实际的区域数据文件,文件名称由管理员自行设置。

区域配置中的部分参数也可以放在全局配置中。

touch named.beifen

cp named.conf named.beifen

[root@localhost etc]# vim /etc/named.conf
options {
directory "/var/named";            #定义区域数据文件的默认存储位置  
};

zone "jt.com" IN {                #正向区域
   type master;                                   #类型为master(主服务器)  
   file "jt.com.zone";           #区域数据文件名为jt.com
   allow-update { none; };
};

zone "3.168.192.in-addr.arpa" IN {  #反向区域
       type master;                                      #类型为master(主服务器)
       file "192.168.3.arpa";     #区域数据文件名为192.168.3.arpa
};
复制代码

修改区域文件

cd /var/named

[root@localhost named]# vim jt.com.zone
$TTL 86400     //TTL配置用于设置默认生存周期。即缓存解析结果的有效时间。
@ SOA jt.com. admin.jt.com. (  //SOA记录部分用于设置区域名称,管理邮箱,以及为从域名服务器指定更新参数。
       20181202 //更新序列号
       4H    //刷新时间:重新下载数据的间隔
       30M   //重试延时:下载失败后的重试间隔
       12H   //失效时间:超过该时间仍无法下载则放弃
       1D   //无效解析记录的生存周期
)


@       IN      NS      jt.
www     IN      A       192.168.3.111 #这里要写DNS服务器的IP地址,也可以是主机名。
hhh     IN      A       192.168.3.112

[root@localhost named]# vim 192.168.3.arpa
$TTL 86400
@ SOA jt.com. admin.jt.com. (
       20181202 //更新序列号
       4H     //刷新时间:重新下载数据的间隔                    
       30M     //重试延时:下载失败后的重试间隔
       12H     //失效时间:超过该时间仍无法下载则放弃
       1D     //无效解析记录的生存周期
)
       IN      NS                      jt.
111     IN      PTR                     www.jt.com.
112     IN      PTR                     hhh.jt.com.
复制代码

在/etc/resolv.conf文件中“服务地址”改为本地IP,配置完成后,用named-checkconf检查,启动named服务,并进行验证域名解析(正向和反向)

[root@localhost named]# vim /etc/resolv.conf

# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.3.111
[root@localhost named]# named-checkconf -z /etc/named.conf
zone jt.com/IN: loaded serial 20181202
zone 3.168.192.in-addr.arpa/IN: loaded serial 20181202
[root@localhost named]# service named start
Generating /etc/rndc.key:                                  [确定]
启动 named:                                               [确定]
[root@localhost named]# nslookup www.jt.com
Server:    192.168.3.111
Address:  192.168.3.111#53

Name:  www.jt.com
Address: 192.168.3.111
[root@localhost named]# nslookup hhh.jt.com
Server:    192.168.3.111
Address:  192.168.3.111#53

Name:  hhh.jt.com
Address: 192.168.3.112

[root@localhost named]# nslookup 192.168.3.111
Server:    192.168.3.111
Address:  192.168.3.111#53

111.3.168.192.in-addr.arpa  name = www.jt.com.

[root@localhost named]# nslookup 192.168.3.112
Server:    192.168.3.111
Address:  192.168.3.111#53

112.3.168.192.in-addr.arpa  name = hhh.jt.com.

[root@localhost named]#
复制代码

在从域名服务器上进行配置

[root@localhost named]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.3.111 jt
192.168.3.110 Python
复制代码

修改区域文件

cd /var/named

[root@localhost named]# vim 192.168.3.arpa
$TTL 86400
@ SOA jt.com. admin.jt.com. (
       20181202
       4H
       30M
       12H
       1D
)
       IN      NS                     jt.
       IN      NS                     python.
1111     IN      PTR                     www.jt.com.
1112     IN      PTR                     hhh.jt.com.
[root@localhost named]# vim jt.com.zone
$TTL 86400
@ SOA jt.com. admin.jt.com. (
       20181202
       4H
       30M
       12H
       1D
)

@       IN      NS     jt.
@       IN      NS     python.
www     IN      A       192.168.11.111
hhh     IN      A       192.168.11.112
复制代码

修改/etc/resolv.conf,并将主域名服务器和从域名服务器进行添加。

[root@localhost named]# vim /etc/resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.3.111
nameserver 192.168.3.110
复制代码

在从服务器添加配置文件

[root@localhost named]# vim /etc/named.conf

options {
directory "/var/named";                                          
};
zone "jt.com" IN {                
   type slave;                              
   masters { 192.168.3.111; };
   file "slaves/jt.com.zone";
};
zone "3.168.192.in-addr.arpa" IN {
       type slave;
       masters { 192.168.3.111; }
       file "slaves/192.168.3.arpa";
};
复制代码

在从服务器上启动服务,查看是否同步。

[root@localhost slaves]# service named restart
停止 named:.                                              [确定]
启动 named:                                               [确定]
[root@localhost slaves]# ls
192.168.3.arpa  jt.com.zone
复制代码

注意:关闭防火墙和selinux

验证结果

在主服务器上停止named服务,用nslookup检查解析是否已经更改到从服务器。

在主服务器上开启named服务,用nslookup检查解析是否已经更改到主服务器。

[root@localhost slaves]# nslookup www.jt.com
Server:    192.168.3.111
Address:  192.168.3.111#53

Name:  www.jt.com
Address: 192.168.3.111
[root@localhost slaves]# service named stop
停止 named:.                                              [确定]
[root@localhost slaves]# nslookup www.jt.com
Server:    192.168.3.110
Address:  192.168.3.110#53

Name:  www.jt.com
Address: 192.168.3.111
[root@localhost slaves]# service named start
启动 named:                                               [确定]
[root@localhost slaves]# nslookup www.jt.com
Server:    192.168.3.111
Address:  192.168.3.111#53

Name:  www.jt.com
Address: 192.168.3.111

[root@localhost slaves]#

作者:杰哥的IT之旅
链接:https://juejin.cn/post/6971933109109391397
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Tags:域名解析   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
DNS域名解析是访问网站的重要环节之一。没有DNS解析,域名便无法翻译成计算机可识别的IP地址,便无法完成网站的访问。但由于网站备案、网络环境、实名认证、域名状态等种种因素...【详细内容】
2021-12-24  Tags: 域名解析  点击:(5)  评论:(0)  加入收藏
最近完善了一下自研发的一款小工具:ZQDDNS,这款工具是用基于.net 5.0,使用C#语言开发。借助.net框架的跨平台特性,该工具支持linux,windows跨平台部署。主要用于满足一些客户需...【详细内容】
2021-07-27  Tags: 域名解析  点击:(109)  评论:(0)  加入收藏
DNS系统的作用DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解...【详细内容】
2021-06-10  Tags: 域名解析  点击:(113)  评论:(0)  加入收藏
虚拟主机怎样设置域名解析?设置域名解析,就是将域名的不同形式绑定在虚拟主机商,并将域名解析到虚拟主机的IP上,完成这些操作之后,就设置好了域名解析。这里我们以主机服务商西部...【详细内容】
2021-06-09  Tags: 域名解析  点击:(133)  评论:(0)  加入收藏
一、BIND简介现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortiu...【详细内容】
2020-04-15  Tags: 域名解析  点击:(103)  评论:(0)  加入收藏
最近有粉丝私信我,很多做技术开发的工程师在开发某个程序时,或者测试人员在做程序测试时,经常需要测试DNS域名解析,那么今天就为大家介绍一下如何搭建自己的DNS域名解析服务器。...【详细内容】
2020-04-14  Tags: 域名解析  点击:(60)  评论:(0)  加入收藏
计算机网络,计算机专业必修科目之一,是专业课,但是,很多的人除了进入浏览器,输入网址,然后回车就看到页面了,然后往下操作,基本没怎么关注过它的原理,但是,你回车之后,网络内部真的是发...【详细内容】
2020-04-13  Tags: 域名解析  点击:(69)  评论:(0)  加入收藏
事情是这样的:周五(2020年3月13日),公司综合部的同事告诉我公司门户网站80端被联通封了,意味着我们公司网站对外已经不能访问了,问一下原因,甩给我一张截图: 看了有点懵逼....浏览...【详细内容】
2020-03-15  Tags: 域名解析  点击:(124)  评论:(0)  加入收藏
前一篇介绍域名已经手动映射到公网IP,运营商提供的公网IP应该都是动态IP,重启拨号或者定时更换公网IP。这就要用到DDNS,Dynamic Domain Name Server,将动态IP映射到固定的域名解...【详细内容】
2020-03-04  Tags: 域名解析  点击:(177)  评论:(0)  加入收藏
我们这篇文章就讲一下域名解析的教程,在讲之前先介绍一些基础的概念,对域名解析过程有一个理解。下面这段看不明白没关系,看不懂直接不看,跟着下面教程操作就可以了。我们都知道...【详细内容】
2020-03-04  Tags: 域名解析  点击:(134)  评论:(0)  加入收藏
▌简易百科推荐
一、什么是域名?域名是由一串用点分隔的字母和数字组成的internet上某台计算机或计算机组的名称,用于在数据传输时对计算机进行定位标识,相当于计算机的门牌号。域名通常由有规...【详细内容】
2021-12-24  中科三方    Tags:一级域名   点击:(6)  评论:(0)  加入收藏
DNS域名解析是访问网站的重要环节之一。没有DNS解析,域名便无法翻译成计算机可识别的IP地址,便无法完成网站的访问。但由于网站备案、网络环境、实名认证、域名状态等种种因素...【详细内容】
2021-12-24  网盾高防IDC    Tags:域名   点击:(5)  评论:(0)  加入收藏
域名,是互联网的基础设施,我们每天办公娱乐都离不开它。但其实域名也并不是这么严肃正经的事物,今天我们就来聊聊它那些不为人知的“冷知识”! 01第一个Emoji表情域名Emoji表情...【详细内容】
2021-12-14  Vname域名    Tags:域名   点击:(12)  评论:(0)  加入收藏
域名是网站的入口,它也有层级结构,不同类型的域名会用点加以区分。有在阿里注册域名的人会看到在域名类型一列,可选择ccTLD或gTLD,那么gTLD与ccTLD是什么意思?有什么不同? 一、...【详细内容】
2021-12-03      Tags:gTLD   点击:(12)  评论:(0)  加入收藏
自11月2日,域名ENS宣布空投之后,近7日,仅仅ENS应用交互GAS费就燃烧了2535 ETH,并在11月9日开放领取后,短时间内造成了以太坊链上拥堵,以太坊每笔交易GAS费用近几天一直维持在0.04 ETH上下,约为150美元,可见域名ENS在近几日的...【详细内容】
2021-11-12  火星财经    Tags:ENS   点击:(24)  评论:(0)  加入收藏
国内在网站这方面管理的比较严格,只要使用的是国内的服务器,上线前都需要备案,备案周期根据地方效率不同,耗时不一样。拿我亲身经历来说,在苏州备案,两周左右时间。在安徽备案用了...【详细内容】
2021-07-14  知不识   企鹅号  Tags:域名   点击:(86)  评论:(0)  加入收藏
我想这个问题,肯定有很多人中小企业老板不懂,在这里小编来说一说这域名价格到底多少钱才合适呢?就拿目前最牛逼的建站服务商来说,阿里云、腾讯云、百度云、西部数码、中企动力等...【详细内容】
2021-07-06  袁文泽    Tags:域名   点击:(82)  评论:(0)  加入收藏
DNS系统的作用DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解...【详细内容】
2021-06-10  杰哥的IT之旅  掘金  Tags:域名解析   点击:(113)  评论:(0)  加入收藏
虚拟主机怎样设置域名解析?设置域名解析,就是将域名的不同形式绑定在虚拟主机商,并将域名解析到虚拟主机的IP上,完成这些操作之后,就设置好了域名解析。这里我们以主机服务商西部...【详细内容】
2021-06-09  恒派互联    Tags:域名解析   点击:(133)  评论:(0)  加入收藏
二手域名怎么选?哪些二手域名值得购买?近期,不少朋友纠结怎么挑选好的二手域名,担心买到有问题的黑域名,为了解决大家的疑问,下面聚名就带大家分析一下值得购买的二手域名有哪些品...【详细内容】
2021-04-21  聚名   企鹅号  Tags:域名   点击:(194)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条