Centos7搭建主从DNS服务器的教程

 更新时间:2019年08月01日 08:34:00   作者:桄椿  
这篇文章主要介绍了Centos7搭建主从DNS服务器的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1、准备

例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com

# 主从DNS服务器均需要安装bind、bind-chroot、bind-utils
yum -y install bind bind-utils bind-chroot
# 如果防火墙开启,配置防火墙,添加服务(防火墙已禁用则忽略)
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

2、主DNS服务器(192.168.11.10)配置

# 编辑配置文件
vim /etc/named.conf
# 找到其中两行
  listen-on port 53 { 127.0.0.1; }; 
  allow-query { localhost; };
# 修改为
  listen-on port 53 { any; };
  allow-query   { any; };

3、配置正向解析

# 编辑文件/etc/named.rfc1912.zones,在末尾添加需要解析的域
  zone "test1.com" IN {
   type master;
   file "data/test1.com.zone";
};
# 创建test1.com.zone解析域
vim /var/named/data/test1.com.zone
  $TTL 3H 
  @     IN SOA test1.com. root (
                        20180928 ; serial 
                        1D ; refresh 
                        1H ; retry 
                        1W ; expire 
                        3H ) ; minimum 
       IN   NS   @
       IN   A   192.168.11.10
  www   IN   A   192.168.11.10
  ftp   IN   A   192.168.11.10
# 编辑/etc/resolv.conf,添加
  search localdomain
  nameserver 192.168.11.10

4、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

5、检查解析是否成功

# ping命令验证
ping -c 4 www.test1.com
# 输出如下即解析成功
  PING www.test1.com (192.168.11.10) 56(84) bytes of data.
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=1 ttl=64 time=0.033 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=2 ttl=64 time=0.058 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=3 ttl=64 time=0.066 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=4 ttl=64 time=0.057 ms
  --- www.test1.com ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.033/0.053/0.066/0.014 ms
# nslookup命令验证
nslookup
>www.test1.com
# 输出如下即解析成功
  Server:    192.168.11.10
  Address:  192.168.11.10#53
  Name:  www.test1.com
  Address: 192.168.11.10

6、配置反向解析

# 编辑文件/etc/named.rfc1912.zones,在末尾添加 
vim etc/named.rfc1912.zones
  zone "11.168.192.in-addr.arpa" IN {
     type master;
     file "data/11.168.192.zone"; 
  };
# 创建11.168.192.zone解析域
vim /var/named/data/11.168.192.zone
  $TTL 3H
  @    IN SOA  web3.com. root (
                    20180928; serial
                    1D   ; refresh
                    1H   ; retry
                    1W   ; expire
                    3H )  ; minimum
  @   IN   NS    www.test1.com.
  10   IN   PTR   www.test1.com.
  10   IN   PTR   ftp.test1.com.

7、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

8、检查解析是否成功

# ping命令验证
ping -c 4 192.168.11.10
# 输出如下即解析成功
  PING 192.168.11.10 (192.168.11.10) 56(84) bytes of data.
  64 bytes from 192.168.11.10: icmp_seq=1 ttl=64 time=0.061 ms
  64 bytes from 192.168.11.10: icmp_seq=2 ttl=64 time=0.058 ms
  64 bytes from 192.168.11.10: icmp_seq=3 ttl=64 time=0.081 ms
  64 bytes from 192.168.11.10: icmp_seq=4 ttl=64 time=0.060 ms
  --- 192.168.11.10 ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.058/0.065/0.081/0.009 ms
# nslookup命令验证
nslookup 192.168.11.10
# 输出如下即解析成功
  Server:    192.168.11.10
  Address:    192.168.11.10#53
  10.11.168.192.in-addr.arpa  name = ftp.test1.com.
  10.11.168.192.in-addr.arpa  name = www.test1.com.

9、配置从DNS服务器(192.168.11.11)

# 先修改主DNS服务器(192.168.11.10)的配置/etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones
  zone "test1.com" IN {
   type master;
   file "data/test1.com.zone";
   allow-transfer {192.168.11.11;};
      notify       yes;
      also-notify {192.168.11.11;};
};
  zone "11.168.192.in-addr.arpa" IN {
   type master;
   file "data/11.168.192.zone";
   allow-transfer {192.168.11.11;}; 
      notify       yes;  
      also-notify {192.168.11.11;}; 
};

10、配置从DNS服务器(192.168.11.11)正向解析

# 编辑named.conf文件
vim /etc/named.conf
  # 找到其中两行  
  listen-on port 53 { 127.0.0.1; };   
  allow-query { localhost; };
  # 修改为
  listen-on port 53 { any; };
  allow-query   { any; };
# 编辑文件/etc/named.rfc1912.zones,在末尾添加需要解析的域 
vim /etc/named.rfc1912.zones
  zone "test1.com" IN { 
      type slave; 
      file "data/test1.com.zone"; }; 
      masters { 192.168.11.10; };
# 创建test1.com.zonek空文件 
touch /var/named/data/test1.com.zone 
# 设置所有者  
chown named:named test1.com.zone
# 编辑/etc/resolv.conf,添加
vim /etc/resolv.conf
  search localdomain
  nameserver 192.168.11.11

11、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

12、检测解析是否成功

# ping命令验证
ping -c 4 www.test1.com
# 输出如下即解析成功
  PING www.test1.com (192.168.11.10) 56(84) bytes of data.
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=1 ttl=64 time=0.033 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=2 ttl=64 time=0.058 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=3 ttl=64 time=0.066 ms
  64 bytes from ftp.test1.com (192.168.11.10): icmp_seq=4 ttl=64 time=0.057 ms
  --- www.test1.com ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.033/0.053/0.066/0.014 ms
# nslookup命令验证
nslookup
>www.test1.com
# 输出如下即解析成功
  Server:    192.168.11.11
  Address:  192.168.11.11#53
  Name:  www.test1.com
  Address: 192.168.11.10

13、配置从DNS服务器(192.168.11.11)反向解析

# 在文件/etc/named.rfc1912.zones中添加 
vim etc/named.rfc1912.zones
  zone "11.168.192.in-addr.arpa" IN {
     type master;
     file "data/11.168.192.zone";
      masters { 192.168.11.10; };   
};
# 创建空文件11.168.192.zone
touch /var/named/data/11.168.192.zone
# 设置所有者  
chown named:named 11.168.192.zone

14、重启DNS服务器

# 重启named
systemctl restart named
# 查看状态
systemctl status named

15、查看文件/var/named/data/test1.com.zone和/var/named/data/11.168.192.zone是否有二进制数据

cat /var/named/data/test1.com.zone
cat /var/named/data/11.168.192.zone

16、检查解析是否成功

# ping命令验证
ping -c 4 192.168.11.11
# 输出如下即解析成功
  PING 192.168.11.11 (192.168.11.11) 56(84) bytes of data.
  64 bytes from 192.168.11.11: icmp_seq=1 ttl=64 time=0.061 ms
  64 bytes from 192.168.11.11: icmp_seq=2 ttl=64 time=0.058 ms
  64 bytes from 192.168.11.11: icmp_seq=3 ttl=64 time=0.081 ms
  64 bytes from 192.168.11.11: icmp_seq=4 ttl=64 time=0.060 ms
  --- 192.168.11.11 ping statistics ---
  4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  rtt min/avg/max/mdev = 0.058/0.065/0.081/0.009 ms
# nslookup命令验证
nslookup 192.168.11.11
# 输出如下即解析成功
  Server:    192.168.11.11
  Address:    192.168.11.11#53
  10.11.168.192.in-addr.arpa  name = ftp.test1.com.
  10.11.168.192.in-addr.arpa  name = www.test1.com.

总结

以上所述是小编给大家介绍的Centos7搭建主从DNS服务器的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • linux下如何搭建时间服务器

    linux下如何搭建时间服务器

    本文介绍了如何在Linux系统中使用chronyd服务配置时间服务器,包括时间同步和状态检查,首先配置一台虚拟机作为时间服务器,不从网络同步时间而使用本地时间,另一台虚拟机作为客户端,从时间服务器同步时间,详细步骤包括编辑chrony.conf文件
    2024-09-09
  • 浅析ARM架构下的函数的调用过程

    浅析ARM架构下的函数的调用过程

    本文主要介绍了linux程序运行的状态以及如何推导调用栈。
    2021-05-05
  • CentOS7配置httpd虚拟主机教程

    CentOS7配置httpd虚拟主机教程

    这篇文章主要为大家详细介绍了CentOS7配置httpd虚拟主机教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • ubuntu20.04设置静态ip地址(包括不同版本)

    ubuntu20.04设置静态ip地址(包括不同版本)

    这篇文章主要介绍了ubuntu20.04设置静态ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • CentOS基于nginx反向代理实现负载均衡的方法

    CentOS基于nginx反向代理实现负载均衡的方法

    这篇文章主要介绍了CentOS基于nginx反向代理实现负载均衡的方法,简单分析了CentOS环境下nginx负载均衡的原理及nginx安装与相关设置操作技巧,需要的朋友可以参考下
    2018-04-04
  • Linux使用tcpdump进行网络分析详解

    Linux使用tcpdump进行网络分析详解

    tcpdump 是一个命令行数据包分析器,可实时捕获和检查网络流量,下面就跟随小编一起学习一下Linux如何使用tcpdump进行网络分析吧
    2025-03-03
  • Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示

    Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。这篇文章主要介绍了Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示 ,需要的朋友可以参考下
    2019-07-07
  • Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)

    这篇文章主要介绍了Ubuntu20的tzselect设置时间失效的问题,树莓派服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • linux下多线程中的fork介绍

    linux下多线程中的fork介绍

    大家好,本篇文章主要讲的是linux下多线程中的fork介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Linux cut 命令详解

    Linux cut 命令详解

    我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。这篇文章主要介绍了Linux cut 命令的相关知识,需要的朋友可以参考下
    2020-07-07

最新评论