开发者社区> 玄学酱> 正文

如何在CentOS中创建辅域名服务器

简介:
+关注继续查看

如何在CentOS中创建辅域名服务器上篇教程里,我们为一个测试域exmample.tst创建了一个主域名服务器(ns1)。在本篇中,我们会在CentOS中使用bind包为相同的域创建一个辅域名服务器(ns2)。

当创建一个辅DNS服务器的时候,下面的因素需要仔细考虑。

  • 在辅域名服务器中,你不需要手动创建正向和反向区域文件。这些区域文件会定期从主域名服务器上面同步。
  • 当主域名服务器上的任何区域文件被修改的时候,'serial'参数也应当被更新。只有当主服务器上面区域文件的serial被修改之后,辅DNS服务器才会进行同步。

我们假设辅DNS服务器的IP地址是172.16.1.4。让我们来进行安装。

设置主机名

就像主域名服务器一样,辅域名服务器的主机名也应当是一个完全限定域名(FQDN)。


  1. # vim /etc/sysconfig/network

 


  1. HOSTNAME=ns2.example.tst

注意,在该文件中设置的主机名在服务器启动的时候会被使用。因此,如果你在系统启动之后修改该文件,修改结果不会立刻生效。下面的命令可以用来在系统运行的时候修改并及时生效。


  1. # hostname ns2.example.tst

设置之后,可以用下面的命令来查看主机名称。


  1. # hostname


  1. ns2.example.tst

在进行下面的步骤之前,确保所有三台服务器的主机名称已经被正确设置。

安装软件包

就像主服务器一样,配置一台辅域名服务器可以使用chroot或者不用。必须的软件包可以使用yum轻松安装。

不使用 chroot:


  1. # yum install bind

使用 chroot:


  1. # yum install bind-chroot

为区域文件的传输准备配置文件

在CentOS中使用bind创建域名服务器后,默认设置允许所有的区域文件被任意服务器同步。安全起见,我们需要配置主域名服务器,只允许它允许辅域名服务器进行同步。

1. 主域名服务器

不使用chroot:


  1. # vim /etc/named.conf

使用chroot:


  1. # vim /var/named/chroot/etc/named.conf


  1. zone "example.tst" IN {
  2. type master;
  3. file "example-fz"; ## 文件example-fz在主域名服务器上 ##
  4. allow-update { none; };
  5. allow-transfer {172.16.1.4; }; ## 允许辅域名服务器进行传输 ##
  6. };
  7.  
  8. zone "1.16.172.in-addr.arpa" IN {
  9. type master;
  10. file "rz-172-16-1"; ##文件rz-172-16-1在主域名服务器上##
  11. allow-update { none; };
  12. allow-transfer {172.16.1.4; }; ## 允许辅域名服务器进行传输 ##
  13. };

2. 辅域名服务器

软件安装后提供的默认配置文件就可以用来配置辅域名服务器。但是,我们使用会使用另外一个实例配置文件来进行配置,因为这样便于调整。

不使用chroot:


  1. # cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /etc/named.conf

使用chroot:


  1. # cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

当执行完上面的命令进行文件拷贝后,添加下面的内容到刚才那个拷贝后的文件中。


  1. options {
  2. directory "/var/named";
  3. forwarders {8.8.8.8; };
  4.  
  5. };
  6.  
  7. zone "example.tst" IN {
  8. type slave; ## 该主机为辅域名服务器 ##
  9. file "example-fz"; ## 这个文件会被自动创建 ##
  10. //allow-update { none; };
  11. allow-transfer {172.16.1.3; }; ## 定义必要时进行从其传输的主域名服务器 ##
  12. masters {172.16.1.3; }; ## 定义主域名服务器 ##
  13. };
  14.  
  15. zone "1.16.172.in-addr.arpa" IN {
  16. type slave; ## 该主机被定义为辅域名服务器 ##
  17. file "rz-172-16-1"; ## 这个文件会被自动创建 ##
  18. // allow-update { none; };
  19. allow-transfer {172.16.1.3; }; ## 定义主域名服务器 ##
  20. masters {172.16.1.3; };
  21. };

结束工作

为了确保没有权限相关的问题,我们需要做如下调整。

不使用chroot:


  1. chmod 770 /var/named/

使用chroot,你需在named服务启动后按照下面的命令修改权限。


  1. # chmod 770 /var/named/chroot/var/named

现在万事俱备,我们可以重启named服务。或者,确保named服务已经被加到了开始列表中。


  1. # service named restart
  2. # chkconfig named on

如果不出意外,辅域名服务器应该会向主域名服务器请求一个区域的传输,并且产生自己的/var/named目录。日志文件/var/log/messages会包含一些named服务的有用信息,包括区域文件传输过程中的信息。

测试一个辅域名服务器

我们可以使用dig或者nslookup进行DNS测试操作。在本篇教程中我们会使用nslookup来进行演示。必要的软件包可以通过yum进行安装。


  1. # yum install bind-utils
  2. # nslookup


  1. > server 172.16.1.4
  2. Default server: 172.16.1.4
  3. Address: 172.16.1.4#53
  4.  
  5. > example.tst
  6. Server: 172.16.1.4
  7. Address: 172.16.1.4#53
  8.  
  9. Name: example.tst
  10. Address: 172.16.1.3
  11.  
  12. > set type=mx
  13. > example.tst
  14. Server: 172.16.1.4
  15. Address: 172.16.1.4#53
  16.  
  17. example.tst mail exchanger = 10 mail.example.tst.
  18.  
  19. > exit

排错提示

  1. 我们无需在辅域名服务器上创建任何区域文件。所有的区域文件都会与主域名服务器进行同步。

  2. 辅域名服务器上的named服务会定期与主服务器进行同步。如果你想来一次及时的同步,可以使用命令"rncd retransfer "。如下:

    
    
    1. # rndc retransfer example.tst
  3. 只有当主服务器上区域文件的serial数字被修改变大的时候,辅域名服务器才会进行更新。

  4. 确保用户named可以对文件夹/var/named或者/var/named/chroot/var/named(使用chroot的情况下)进行写操作。

  5. /var/log/messages会包含有用的信息。

  6. 我已经将SELinux关闭了。

  7. 确保防火墙对UDP53端口开放。

希望这个可以帮到你。

原文发布时间:2014-05-26

本文来自云栖合作伙伴“linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS7安装MySQL5.7太慢了
CentOS7安装MySQL5.7太慢了
570 0
CentOS8 服务器安装MySQL
安装 查看状态 开启: 使用MySQL 设置密码&&外部访问
222 0
centos7安装mysql5.6.38史上最详细的安装步骤
最近由于要用到mysql,就想着装一个mysql,但是因为我的虚拟机是centos7的,centos7将默认数据库mysql替换成了Mariadb安装起来就比较的麻烦,遇到各种各样的问题,网上的教程很多,但是基本没有好使的,按照他们的步骤到最后没有一个成功的,搞了很长时间才装好,我记得之前在centos6.5上面安装也没那么复杂啊,但是在7上面不管是用yum方式,还是安装包的方式都搞了好几遍,最后用安装包的方式安装成功了,今天就来总结一下安装的过程.为了方便大家看整个过程,我又重新装了一遍.过程写的比较详细,建议大家先收藏在观看.
175 0
阿里云centos安装mysql
阿里云centos安装mysql
263 0
centos7 安装指定版本的mysql8.0
centos7 安装指定版本的mysql8.0
456 0
三十五、Centos安装mysql(rpm终结版)
三十五、Centos安装mysql(rpm终结版)
162 0
centos8重装MySQL8
前言: 本来也不想卸载的,因为之前有往db里插入一千多万的数据了。。但是这个数据库好像被我弄坏了。。 输入正确的账号密码一直进不了 很无奈。。 😵 一开始是启动不了,后来发现用户的权限不对(要通过 chgrp 和 chown 去修改),改了之后可以启动,但是就无法登录成功了。。出此下策,顺便换个方式再去插入数据试试 😄
98 0
mysql问题记录:centos7无法启动mysql
mysql问题记录:centos7无法启动mysql
75 0
CentOS7 部署 MySQL 主从复制,读写分离
在实际的生产环境中,如果对数据库的读写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力这样的方案来进行部署与实施的。
215 0
CentOS7 MySQL 增量备份与恢复
CentOS7 MySQL 增量备份与恢复
157 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像