最近有粉丝私信我,很多做技术开发的工程师在开发某个程序时,或者测试人员在做程序测试时,经常需要测试DNS域名解析,那么今天就为大家介绍一下如何搭建自己的DNS域名解析服务器。
如果你对DNS域名解析原理还不够了解,建议你首先去阅读一下我上篇关于DNS基本概念的讲解文章《DNS域名解决原理你真的了解吗?》
现在我们进入主题,Linux上搭建DNS服务的软件有bind9、NSD(Name server domain)和unbound,其中bind9是市场占有率更高的软件。本文也以此软件来介绍DNS服务。bind实现DNS的更佳最详细说明文档是”DNS & BIND”和”Bind97 Manual”,网上都有中文版本的资源,推荐大家可以去读一读。
一、BIND简介
现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortium)编写和维护。
BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)。
BIND服务的名称称之为named。
DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)。
二、BIND安装
本例使用的环境是CentOS 7.0的Linux操作系统(非CentOS 7.0系统,安装会有所区别),所以直接采用命令: yum install -y bind bind-chroot bind-utils其中bind-chroot和bind-utils是bind的相关包。
二、BIND配置
1、BIND配置文件保存在两个位置: /etc/named.conf - BIND服务主配置文件 /var/named/ - zone文件(域的dns信息) 如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为: /var/named/chroot/etc/named.conf - BIND服务主配置文件 /var/named/chroot/var/named/ - zone文件 chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录。
2、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来: cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/ cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/ 3、配置BIND服务的主配置文件(/var/named/chroot/etc/named.conf),命令:vim /var/named/chroot/etc/named.conf;内容很多使用简单配置,删除文件中logging以下的全部内容,以及option中的部分内容,得到如下配置:options{// Put files that named is allowed to write in the data/ directory:di好文分享rectory”/var/named”;// “Working” directory//listen-on port 53{ any; };listen-on port 53{ 127.0.0.1; };//listen-on-v6 port 53{ any; };listen-on-v6 port 53{ ::1; }; };4、在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone参数:
5、新建example.net.zone文件,example.net的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以以/var/named/chroot/var/named/named.localhost为模板。命令:cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/example.net.zone文件example.net.zone的内容如下:
6、禁用bind默认方式启动,改用bind-chroot方式启动。命令如下:[root@iZ2806l73p6Z named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on[root@iZ2806l73p6Z named]
# systemctl stop named
[root@iZ2806l73p6Z named]
# systemctl disable named
[root@iZ2806l73p6Z named]
# systemctl start named-chroot
[root@iZ2806l73p6Z named]
# systemctl enable named-chroot
[root@iZ2806l73p6Z named]
#
图:
注意:如果是CentOS 6.5的系统,这个步骤回有所区别,直接使用默认的service named start 启动服务,bind就直接运行在chroot包中,如下图:
7、查看是否启动,命令:ps -ef|grep named 8、测试DNS服务,本例在本机上测试,也可在其他电脑上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.example.net)测试。
内容如下:
测试结果:
注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器。
三、BIND从服务器
从服务器就是在bind的主配置文件中添加从域example.net的配置信息即可:
1、配置文件位置/var/named/chroot/etc/named.conf2、在主配置文件中添加一行域的zone定义:zone “example.net” {type slave; masters { 120.27.99.64; }; file “slaves/example.net.zone”; 3、由于bind是以named用户来运行的,所以要给存放zone文件的文件夹(/var/named/chroot/var/named/slaves)授权。未授权前:
授权:
4、启动bind服务,service named start,在存放zone文件夹(/var/named/chroot/var/named/slaves)中查看,已经把example.net.zone文件下下来了。
5、修改dns服务器ip地址,测试dig www.example.net。
四、缓存服务器及转发服务器
一个DNS服务器可以即不是某个域的master服务器,也不是某个域的slave服务器,一个服务器可以不包含任务域的配置信息,它将接手到所有DNS查询进行递归解析,将解析结果返回给查询客户端,并且将查询结果缓存下来,这样的DNS服务器称之为caching name server。
通常一个局域网中配置缓存服务器是为了加速 *** 访问。
也可以为缓存服务器配置一个上游DNS服务器地址,缓存服务器可以给客户提供一个上游DNS服务器的地址,我们可以通过 以下设置完成:
在主配置文件中的option中加入:forwarders { 192.168.0.168;};还可以通过一下选项让服务器转发所有DNS查询到forwarders服务器:
在主配置文件中的option中加入:forward only;到此DNS域名解析搭建教程结束,你学会了吗?
FBI日前警告称,勒索软件集团正在瞄准涉及重大的、时间敏感的金融事件–如兼并和收购的公司,以此来胁迫受害者支付其赎金要求。FBI在本周写给私营公司的一份咨询中指出,网络犯罪分子在针对参与重大金融事件的公司时往往试图找到非公开信息,如果他们不支付赎金要求网络犯罪分子就会威胁公布这些信息。 “在最初的...
相比较传统密码,在业内指纹被认为是更安全的数据保护形式。但事实上,指纹欺骗可能要比电影情节中所描述的操作要简单得多。根据 Kraken 安全实验室的说法,你所需要的只是一点木头胶水、一台激光打印机和一张醋酸纤维板。 几天前,这家加密货币交易公司在其官方博客上发表了一份报告,描述了如何进行“指纹破解...
根据微软蜜罐服务器网络收集的数据,大多数暴力攻击者主要试图猜测短密码,很少有攻击是针对长密码或包含复杂字符的凭证的。”我分析了超过2500万次针对SSH的暴力攻击所输入的凭证。这大约是微软安全传感网络中30天的数据,”微软的安全研究员罗斯·贝文顿说。 “77%的尝试使用了1到7个字符的密码。超过1...
援引 KBS World 报道,韩国原子能研究所(KAERI)近日遭到了长达 12 天的网络攻击,并基本确认攻击方来自朝鲜。在 8 日举行的国会情报委员会会议上,韩国国会情报委员会(NIS)两名干事金炳基和河泰庆表示今年上半年因黑客攻击造成的损失环比增加 9%,其中 KAERI 疑似遭到了朝鲜黑客组...
近日微软发布威胁警报,称一款名为 RevengeRAT 的远程访问工具正针对航空航天和旅游行业发起鱼叉式钓鱼攻击。这种特殊的威胁是通过电子邮件传递的,在骗取收件人的信任之后诱导受害者打开 Adobe PDF 格式附件,并继续下载恶意文件。 微软解释道,攻击者利用这类远程访问木马盗取用户数据,而且...
由 Epic 与苹果在法庭上展开交锋期间披露的电子邮件信息可知,2015 年的时候,共有 1.28 亿 iOS 用户下载了被 XcodeGhost 恶意软件感染的应用程序。当时逃过官方检测的 XcodeGhost,旨在通过挖掘用户数据来牟利。尽管苹果很快采取了行动,但有关 XcodeGhost 攻击...