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

如何在CentOS 7中配置网络以使用DNS?

在CentOS 7中配置DNS服务器,可以通过安装BIND软件包并编辑相关配置文件来实现。具体步骤包括:安装bind和bind-utils,修改/etc/named.conf文件以设置监听端口和允许查询的地址,创建正向和反向区域文件,并启动named服务。

在 CentOS 7 中,DNS(域名系统)的配置和管理对于网络通信至关重要,DNS 的主要功能是将人类易于记忆的域名转换为计算机可识别的 IP 地址,本文将详细介绍如何在 CentOS 7 中配置和管理 DNS。

如何在CentOS 7中配置网络以使用DNS?  第1张

一、DNS 的基本概念

1、正向解析:将域名解析为 IP 地址,将www.example.com 解析为93.184.216.34。

2、反向解析:将 IP 地址解析为域名,将93.184.216.34 解析为www.example.com。

二、配置 DNS

1. 安装 Bind

Bind 是最常用的 DNS 服务器软件之一,可以通过以下命令安装:

sudo yum install bind bind-utils -y

2. 修改配置文件

主要修改以下几个文件:

(1)/etc/named.conf:主配置文件。

(2)/etc/named.rfc1912.zones:区域配置文件。

(3)/var/named/named.localhost:本地主机的区域文件。

(4)/etc/sysconfig/network-scripts/ifcfg-ens33:网卡配置文件,设置静态 IP 和 DNS。

(1)修改 /etc/named.conf

[root@centos ~]# vi /etc/named.conf

添加或修改以下内容:

options {
    directory "/var/named";
    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; };
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic";
};
logging {
    channel default_logging {
        file "data/named.log" versions 3 size 5m;
        severity info;
        print-time yes;
        print-severity yes;
        print-category yes;
    };
};
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

(2)修改 /etc/named.rfc1912.zones

[root@centos ~]# vi /etc/named.rfc1912.zones

添加以下内容:

zone "example.com" IN {
    type master;
    file "forward";
    allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
    type master;
    file "reverse";
    allow-update { none; };
};

(3)创建正向解析文件 /var/named/forward

[root@centos ~]# vi /var/named/forward

添加以下内容:

$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
        IN      NS      ns1.example.com.
ns1     IN      A       192.168.1.2
www     IN      A       192.168.1.2

(4)创建反向解析文件 /var/named/reverse

[root@centos ~]# vi /var/named/reverse

添加以下内容:

$TTL    604800
@       IN      SOA     ns1.example.com. admin.example.com. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
        IN      NS      ns1.example.com.
1       IN      PTR     ns1.example.com.

3. 启动并启用 DNS 服务

[root@centos ~]# systemctl start named
[root@centos ~]# systemctl enable named

三、常见问题解答(FAQs)

Q1:如何更改 CentOS 7 中的 DNS 服务器?

A1:可以通过编辑/etc/resolv.conf 文件来更改 DNS 服务器,要使用 Google 的公共 DNS,可以添加以下内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

保存并退出,然后重新启动 NetworkManager 服务:

[root@centos ~]# systemctl restart NetworkManager

或者,通过 nmcli 命令行工具修改:

nmcli con mod YourConnectionName ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con up YourConnectionName

Q2:如何测试新的 DNS 设置是否生效?

A2:可以使用ping 命令来测试新的 DNS 设置是否生效,要测试是否能解析www.google.com,可以运行:

ping www.google.com

如果返回正确的 IP 地址,则说明 DNS 设置已生效。

0