当前位置:首页 > 行业动态 > 正文

centos7搭建dns解析服务器

搭建DNS服务器环境

1、1 安装Linux操作系统

CentOS 5.3是一个基于RHEL 5的Linux发行版,首先需要在一台已经安装了Linux操作系统的服务器上进行安装,安装完成后,系统会自动更新到最新版本。

1、2 安装Bind软件包

DNS服务器的核心软件是BIND,我们需要在CentOS 5.3上安装BIND,打开终端,输入以下命令:

sudo yum install bind bind-utils -y

1、3 配置named.conf文件

BIND的主配置文件是named.conf,我们需要对其进行配置,在/etc/named.conf文件中,可以设置域名服务器的相关参数,如监听端口、域名解析策略等,一个简单的named.conf配置示例如下:

options {
    listen-on port 53 { any; };
    directory "/var/named";
};
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

配置多个域名解析区域

2、1 创建区域文件

在/var/named目录下,为每个需要解析的域名创建一个区域文件,我们要解析两个域名example.com和test.com,可以分别创建example.com.zone和test.com.zone文件,在这两个文件中,可以设置DNS记录,如A记录、CNAME记录等,一个简单的示例如下:

example.com.zone:

$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                        2011071001        ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400           ; Minimum TTL
                        )
@       IN      NS      ns1.example.com.
ns1     IN      A       192.168.1.1
www     IN      A       192.168.1.2

test.com.zone:

$TTL    604800
@       IN      SOA     ns1.test.com. admin.test.com. (
                        2011071001        ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400           ; Minimum TTL
                        )
@       IN      NS      ns1.test.com.
ns1     IN      A       192.168.2.1
www     IN      A       192.168.2.2

2、2 修改主配置文件

在/etc/named.conf文件中,添加对新创建的区域文件的引用。

zone "example.com" in {
    type master;
    file "example.com.zone";
};
zone "test.com" in {
    type master;
    file "test.com.zone";
};

启动并设置开机自启动DNS服务

3、1 启动DNS服务并设置开机自启动(以systemd为例)

sudo systemctl start named && sudo systemctl enable named --now

3、2 检查DNS服务状态并查看日志(以systemd为例)

sudo systemctl status named && sudo journalctl -u named
0