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

如何在CentOS 7中配置DNS?

CentOS 7的DNS配置步骤如下:安装bind和bind-utils,修改/etc/named.conf和/etc/named.rfc1912.zones文件,编辑正向和反向解析区域文件,重启网络服务和named服务。

在CentOS 7上配置DNS服务是一个涉及多个步骤的过程,主要包括安装BIND软件、修改配置文件以及测试DNS解析,以下将详细介绍每个步骤:

如何在CentOS 7中配置DNS?  第1张

CentOS 7 DNS配置详解

一、实验环境

DNS服务端

内存:2G

硬盘:80G

网络模式:NAT

IP:192.168.180.132

DNS客户端

内存:2G

硬盘:40G

网络模式:NAT

IP:192.168.180.135

二、关闭防火墙和SELinux

在进行DNS配置之前,首先需要关闭防火墙和SELinux,以避免它们干扰后续的DNS服务配置。

systemctl disable firewalld
systemctl stop firewalld
setenforce 0  # 临时关闭SELinux
vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled 然后保存并退出

三、安装BIND软件

BIND(Berkeley Internet Name Domain)是实现DNS服务的软件包,可以通过yum命令进行安装。

yum install -y bind bind-utils

四、修改主配置文件/etc/named.conf

编辑/etc/named.conf文件,进行以下修改:

vi /etc/named.conf
将 listen-on port 53 { 127.0.0.1; }; 改成 listen-on port 53 { any; };
将 allow-query { localhost; }; 改成 allow-query { any; };

五、修改扩展配置文件/etc/named.rfc1912.zones

在/etc/named.rfc1912.zones文件中添加正向解析区域配置。

vi /etc/named.rfc1912.zones
添加如下信息:
zone "kaisa.com" IN {
    type master;
    file "kaisa.com.zone";
};

六、创建区域文件

进入/var/named目录,复制并重命名named.localhost文件为kaisa.com.zone,然后编辑该文件以配置正向解析。

cd /var/named
cp -p named.localhost kaisa.com.zone
vi kaisa.com.zone
修改内容如下:
$TTL 86400
@       IN      SOA     ns1.kaisa.com. root.kaisa.com. (
                          2         ; Serial
                    604800     ; Refresh
                     86400     ; Retry
                   2419200     ; Expire
                    86400 ) Negative Cache TTL
)
;
@       IN      NS      ns1.kaisa.com.
ns1     IN      A       192.168.180.132
www     IN      A       192.168.180.132

七、配置网卡信息

编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,将BOOTPROTO设置为static,并添加IP地址、网关、子网掩码和DNS信息。

vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下:
BOOTPROTO="static"
IPADDR=192.168.180.132
GATEWAY=192.168.180.2
NETMASK=255.255.255.0
DNS1=192.168.180.132

八、重启网络服务和named服务

systemctl restart network
systemctl restart named

九、在客户端测试

修改客户端的网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,将DNS1设置为DNS服务器端的IP地址,然后重启网络服务。

vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改DNS1为DNS服务器端的IP地址,如192.168.180.132
DNS1=192.168.180.132
systemctl restart network

使用ping命令测试域名解析是否成功。

ping www.kaisa.com

如果能够成功解析出域名对应的IP地址,则说明DNS配置成功。

十、反向解析配置(可选)

反向解析的配置步骤与正向解析类似,只需修改两个配置文件的信息即可,具体步骤如下:

1、在/etc/named.rfc1912.zones文件中添加反向解析区域配置。

   vi /etc/named.rfc1912.zones
   # 添加如下信息:
   zone "180.168.192.in-addr.arpa" IN {
       type master;
       file "hzl.com.zone";
   };

2、创建反向解析区域文件hzl.com.zone并编辑其内容。

   cd /var/named
   cp -p kaisa.com.zone hzl.com.zone
   vi hzl.com.zone
   # 修改内容如下(注意com后面还有一个.):
   $TTL 86400
   @       IN      SOA     ns1.hzl.com. root.hzl.com. (
                            2         ; Serial
                        604800     ; Refresh
                        86400     ; Retry
                        2419200     ; Expire
                         86400 ) Negative Cache TTL
   )
   ;
   @       IN      NS      ns1.hzl.com.
   ns1     IN      A       192.168.180.132
   132     IN      PTR     ns1.hzl.com.

3、重启named服务使配置生效。

   systemctl restart named

4、在客户端测试反向解析。

   nslookup 192.168.180.132

如果能够成功解析出域名,则说明反向解析配置成功。

常见问题FAQs

Q1: 如何更改CentOS7的DNS设置?

A1: 你可以通过修改/etc/resolv.conf文件来直接更改DNS设置,但这种方法可能不持久,建议使用nmcli命令或编辑网卡配置文件来实现更持久的更改,使用nmcli命令可以这样操作:nmcli con mod YourConnectionName ipv4.dns "DNS1 DNS2",然后重新启动网络连接:nmcli con up YourConnectionName,或者,你可以编辑网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),添加或修改DNS相关的行,然后重启网络服务:systemctl restart network。

Q2: CentOS7中如何设置静态IP和DNS?

A2: 要设置静态IP和DNS,你需要编辑网卡的配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0),将BOOTPROTO设置为static,并指定IPADDR、NETMASK、GATEWAY和DNS1等参数,重启网络服务以使更改生效:systemctl restart network,这样,你就可以为系统设置固定的IP地址和DNS服务器了。

Q3: CentOS7下如何修改DNS服务器地址?

A3: 你可以通过多种方式修改DNS服务器地址,一种简单的方法是直接编辑/etc/resolv.conf文件,添加或修改nameserver行以指定新的DNS服务器地址,这种方法可能不持久,因为NetworkManager可能会覆盖这些更改,为了更持久地更改DNS服务器地址,你可以使用nmcli命令或编辑网卡配置文件(如上所述),使用nmcli命令时,你可以先查看当前的网络连接名称(nmcli con show),然后使用相应的命令修改DNS服务器地址并重新启动网络连接。

0