自建dns解析服务器基本步骤 如何自建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中的部分内容,得到如下配置:
/*Sample named.conf BIND DNS server 'named' configuration filefor the Red Hat BIND distribution.See the BIND Administrator's Reference Manual (ARM) for details about the configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html*/options{// Put files that named is allowed to write in the data/ directory:directory"/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


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: