centos 7 使用bind 搭建IPv4 DNS解析服务器

文章目录

  • bind安装下载
  • 检测bind 安装
  • 配置域名区域
  • 配置区域数据库
  • 启动服务
  • 测试

bind安装下载

首先需要一台centos 7 虚拟机然后更新安装yum镜像

[root@localhost ~]# rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

下载bind以及相关工具

yum install bind bind-utils

检测bind 安装

看到running就是在运行

[root@localhost ~]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-03-15 03:19:06 PDT; 4s ago

配置域名区域

编辑Bind软件的主配置文件,创建一个解析域名区域,指定服务器类型,指定区域数据库文件路径。

[root@localhost ~]# vim /etc/named.conf
#==全局配置==#
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        #设置服务监听地址和端口,"any"表示监听所有网卡地址。
        directory       "/var/named";
        #设置Bind的主工作目录路径。
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        #设置查询权限,允许所有客户端在Bind服务器进行域名查询解析。
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
#==日志配置==#
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
#==区域配置==#
zone "." IN {
        type hint;
        file "named.ca";
};
#根区域配置,这里配置不需要做任何修改,客户端进行域名查询,第一次会去"."根域去查询,然后依次迭代查询。
#"type hint"表示域名区域的服务器类型为根提示服务器,"."根域服务器专属区域服务器类型。
zone "test.com" IN {
        type master;
        file "test.com.zone";
};
#创建一个新的正向解析域名区域,一般都是一个二级域名。
# type   设置域名区域的服务器类型,"master"表示为主域名解析服务器。
# file   设置区域数据库文件存放路径,区域数据库即域名解析记录存储位置,若为相对路径,则表示在Bind主工
#        作目录下。
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置区域数据库

我们需要先从模板中拷贝一份区域数据库文件,在进行配置,拷贝的区域数据库文件需要给"named"用户读取和写入的权限

[root@localhost ~]# cp /var/named/named.empty /var/named/test.com.zone
[root@localhost ~]# chown named.named /var/named/test.com.zone
[root@localhost ~]# vim /var/named/test.com.zone
$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
        NS      www
www     A       192.168.1.87
#添加解析记录,在区域数据库配置文件中,"@"和"空白"都表示主域名。
#第一条添加的NS解析记录,表示将"test.com"主域名解析成"www.test.com"。
#第二条添加的A解析记录,表示将"www.test.com"三级域名解析成对应的主机地址"192.168.1.87"。

检查域名区域配置和区域数据库配置是否正确

[root@localhost ~]# named-checkconf /etc/named.conf
[root@localhost ~]# named-checkzone test.com /var/named/test.com.zone
zone test.com/IN: loaded serial 0
OK

启动服务

[root@localhost ~]# systemctl start named
[root@localhost ~]# netstat -lnupt |grep named
tcp        0      0 192.168.1.130:53   0.0.0.0:*      LISTEN      8871/named
tcp        0      0 127.0.0.1:53       0.0.0.0:*      LISTEN      8871/named
tcp        0      0 127.0.0.1:953      0.0.0.0:*      LISTEN      8871/named
tcp6       0      0 :::53              :::*           LISTEN      8871/named
tcp6       0      0 ::1:953            :::*           LISTEN      8871/named
udp        0      0 192.168.1.130:53   0.0.0.0:*                  8871/named
udp        0      0 127.0.0.1:53       0.0.0.0:*                  8871/named
udp6       0      0 :::53              :::*                       8871/named

测试

使用客户端测试
centos 7 使用bind 搭建IPv4 DNS解析服务器_第1张图片

centos 7 使用bind 搭建IPv4 DNS解析服务器_第2张图片

也可能ping不通记得把防火墙关了,服务器的也要关掉

systemctl  stop  firewalld

你可能感兴趣的:(Linux,服务器,centos,linux)