5154

Good Luck To You!

Centos7设置DNS正反

CentOS 7中设置DNS正反向解析需先安装BIND服务,编辑/etc/named.conf配置文件,创建区域文件并重启服务,正向解析实现域名转IP,反向解析则通过IP查域名

CentOS 7设置DNS正反解析详解

在网络环境中,域名系统(DNS)扮演着至关重要的角色,正向解析将域名转换为IP地址,使用户能够通过易于记忆的名称访问网站;反向解析则是把IP地址映射回域名,常用于邮件服务器验证等场景,本文将详细介绍如何在CentOS 7系统上进行DNS的正向和反向区域配置。

安装BIND软件包

(一)更新软件源缓存

打开终端,输入以下命令以更新系统的软件包信息:

sudo yum makecache fast

此操作确保我们获取到最新的可用软件版本列表。

(二)安装BIND及其依赖项

执行如下命令来安装BIND(Berkeley Internet Name Domain):

sudo yum install bind bindutils y

这里同时安装了bind主程序以及实用的工具集bindutils,后者包含如dig这样的诊断工具,方便后续测试配置效果。

配置主配置文件named.conf

BIND的主要配置文件位于/etc/named.conf,我们需要对其进行编辑以满足我们的自定义需求,可以使用任何文本编辑器打开该文件,例如使用vim:

sudo vi /etc/named.conf

以下是一些关键的配置参数及说明: |参数|描述|示例值| |||| |listenon port <port>;|指定监听的网络接口或端口号,默认为53(UDP)、5353(TCP),若只允许本地主机查询,可设为0.0.1;若要对所有网卡开放,则写成any。|listenon port 53 { any; };| |allowquery { ... };|定义哪些客户端可以发起查询请求,出于安全考虑,建议限制为特定的IP范围或子网。|allowquery { localnets; };或者更严格的allowquery { none; }后单独添加允许的IP段| |recursion yes/no;|是否启用递归查询,对于公共DNS服务器通常开启,但内部网络中的缓存DNS可能关闭以提高安全性。|recursion yes;| |forwarders { IP_ADDRESS; };|设置上游DNS服务器地址,当本地无法解析时会转发到这些服务器进一步查找,可以列出多个备用选项。|forwarders { 8.8.8.8; 114.114.114.114; };| |dnssecenable yes/no;|是否支持DNSSEC(域名系统安全扩展),增强数据完整性校验。|dnssecenable yes;| |zone "." IN { ... };|根域的配置部分,一般无需修改除非有特殊需求。|保持默认即可|

Centos7设置DNS正反

修改完成后保存并退出编辑器,注意语法错误可能导致服务启动失败,务必仔细检查每一处改动。

创建正向区域文件

假设我们要为example.com域创建正向解析记录,首先需要在适当目录下新建一个属于这个域的文件,路径一般为/var/named/chroot/etc/named.rfc1912.zones/example.com.zone大致如下:

$TTL 86400      ; Time To Live值,单位秒
@               IN SOA     ns1.example.com. admin.example.com. (
                                        2024052001 ;序列号,每次更新应递增
                                        3600       ;刷新时间
                                        1800       ;重试间隔
                                        604800     ;过期时间
                                        86400 )    ;最小TTL
        IN NS          ns1.example.com.
ns1                 A       192.168.1.100
www                  A       192.168.1.101
mail                A       192.168.1.102

各记录类型含义如下:

  • SOA(Start Of Authority):起始授权机构记录,包含了管理该区域的基本信息,如主名称服务器、负责人邮箱联系方式、各种计时器参数等。
  • NS(Name Server):名称服务器记录,指明负责该区域的权威DNS服务器。
  • A(Address):主机地址记录,将域名映射到一个具体的IPv4地址。

创建反向区域文件

对应上述例子中的IP段192.168.1.0/24,我们还需建立相应的反向解析区域,文件名为/var/named/chroot/etc/named.rfc1912.zones/1.168.192.inaddr.arpa.zone类似这样:

$TTL 86400
@       IN SOA     ns1.example.com. admin.example.com. (
                            2024052001
                            3600
                            1800
                            604800
                            86400 )
        IN NS          ns1.example.com.
100                     PTR     ns1.example.com.
101                     PTR     www.example.com.
102                     PTR     mail.example.com.

其中PTR(Pointer)记录用于实现从IP地址到域名的反向查找。

权限设置与SELinux管理

为了让BIND正常运行并能正确读取相关文件,必须给予合适的权限,执行以下命令调整所有者和组别:

Centos7设置DNS正反

sudo chown root:named /var/named/chroot/etc/named.rfc1912.zones/*.zone
sudo chmod 644 /var/named/chroot/etc/named.rfc1912.zones/*.zone

由于CentOS启用了SELinux机制,可能需要调整策略以允许BIND访问必要的资源,可以通过运行以下命令查看当前状态:

getsebool a | grep named

如果发现某些布尔值被禁用影响了功能,可以使用setsebool命令重新启用它们,

sudo setsebool P allow_named_to_all_zones on

具体需要的调整取决于实际部署环境和安全策略要求。

启动与启用服务

完成以上步骤后,就可以尝试启动BIND服务了,依次执行下列命令:

sudo systemctl start named
sudo systemctl enable named

第一条命令立即启动服务进程,第二条命令将其设置为开机自启,之后可以用以下命令检查运行状况:

sudo systemctl status named

正常的输出应该显示服务正在活跃运行且没有报错信息,还可以使用前面提到的dig工具测试解析是否正常工作,

Centos7设置DNS正反

dig @localhost example.com
dig @localhost 192.168.1.100

前者测试正向解析,后者测试反向解析,如果一切顺利,你应该能看到预期的结果返回。

常见问题与解答

问题1:为什么我按照教程做了所有步骤,但是DNS解析还是失败?

答:这种情况可能是由多种原因造成的,首先检查主配置文件/etc/named.conf是否存在语法错误,可以使用命令namedcheckconf进行验证,其次确认区域文件是否正确放置在指定位置并且格式无误,可用namedcheckzone example.com /var/named/chroot/etc/named.rfc1912.zones/example.com.zone这样的命令检查单个区域的有效性,确保防火墙没有阻挡DNS服务的通信端口(默认UDP 53和TCP 53),查看日志文件/var/log/messagesjournalctl u named寻找线索,里面可能有关于错误的详细描述帮助定位问题所在。

问题2:如何添加更多的子域名或者额外的IP映射?

答:要在现有区域内增加新的子域名或其他记录非常简单,只需编辑对应的区域文件,按照相同的格式添加新的条目即可,如果想给blog.example.com分配一个新的IP地址,就在正向区域文件中加入一行:“blog A 192.168.1.103”,同样地,对于反向解析,也要在相应的反向区域文件中添加一条PTR记录指向这个新域名,保存更改后重启BIND服务使修改生效,记得每次修改都要遵循TTL规则和一致性原则,避免冲突的发生。

通过以上详细的步骤,您已经成功在CentOS 7上配置了DNS的正向和反向解析功能,这不仅有助于提升内部网络的管理效率,还能满足特定应用场景下的定制化

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年9月    »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.