5154

Good Luck To You!

centos8上安装dns

CentOS 8上安装DNS,可使用`dnf install bind

在CentOS8上安装DNS服务器(BIND)的详细指南

准备工作

  1. 系统环境

    • 操作系统:CentOS 8
    • 网络配置:确保服务器有静态IP地址
    • 权限要求:root用户或具有sudo权限的用户
  2. 工具准备

    centos8上安装dns

    • 终端工具(SSH客户端)
    • 文本编辑器(推荐使用vinano

安装BIND DNS服务

更新系统软件包

sudo dnf update y

安装BIND软件包

sudo dnf install bind bindutils y
软件包名称 说明
bind BIND DNS服务核心组件
bindutils 包含dig、nslookup等工具

设置BIND服务开机自启

sudo systemctl enable named

配置BIND服务

编辑主配置文件 /etc/named.conf

sudo vi /etc/named.conf

关键配置项说明

  • listenon port 53 { any; }:监听所有接口的53端口
  • directory "/var/named";:指定工作目录
  • allowquery { any; };:允许所有客户端查询
  • recursion yes;:启用递归查询

配置本地回环网接口(可选)

sudo vi /etc/named/localhost.zone
$TTL 86400
@   IN SOA  localhost. root.localhost. (
              2023100101 ; Serial
              3600       ; Refresh
              1800       ; Retry
              604800     ; Expire
              86400 )    ; Minimum TTL
    IN NS    localhost.
localhost. IN A 127.0.0.1

创建正向域名解析文件

创建区域文件目录

sudo mkdir p /var/named/zones

创建示例区域文件 example.com.zone

sudo vi /var/named/zones/example.com.zone
$TTL 86400
@   IN SOA  ns1.example.com. admin.example.com. (
              2023100101 ; Serial
              3600       ; Refresh
              1800       ; Retry
              604800     ; Expire
              86400 )    ; Minimum TTL
    IN NS    ns1.example.com.
ns1 IN A     192.168.1.100
www IN A     192.168.1.100

修改主配置文件引入新区域

/etc/named.conf 中添加:

centos8上安装dns

zone "example.com" {
    type master;
    file "zones/example.com.zone";
    allowupdate { none; };
};

创建反向域名解析文件(可选)

创建反向区域文件 168.192.zone

sudo vi /var/named/zones/1.168.192.zone
$TTL 86400
@   IN SOA  ns1.example.com. admin.example.com. (
              2023100101 ; Serial
              3600       ; Refresh
              1800       ; Retry
              604800     ; Expire
              86400 )    ; Minimum TTL
    IN NS    ns1.example.com.
100 IN PTR   ns1.example.com.

修改主配置文件引入反向区域

/etc/named.conf 中添加:

zone "1.168.192.inaddr.arpa" {
    type master;
    file "zones/1.168.192.zone";
    allowupdate { none; };
};

设置SELinux和防火墙

配置SELinux布尔值

sudo setsebool P named_write_master_zones on

开放防火墙端口

sudo firewallcmd permanent addservice=dns
sudo firewallcmd reload

启动并测试BIND服务

启动服务

sudo systemctl start named

设置开机自启

sudo systemctl enable named

验证服务状态

sudo systemctl status named

测试DNS解析

使用dig命令测试正向解析

dig @localhost www.example.com

使用dig命令测试反向解析

dig x 192.168.1.100 @localhost

使用nslookup测试解析

nslookup www.example.com localhost

常见问题排查

问题现象 可能原因 解决方案
服务无法启动 SELinux限制/防火墙未开放端口/配置文件错误 检查SELinux布尔值/开放端口53/检查配置文件语法
无法解析域名 区域文件未加载/NS记录未配置 检查named.conf配置/确认区域文件路径正确
反向解析失败 PTR记录未配置/反向区域文件错误 检查反向区域文件配置/确认IP地址与PTR记录匹配
客户端无法访问DNS服务器 防火墙未开放UDP 53端口 执行firewallcmd addport=53/udp permanent

相关问题与解答

Q1:如何将CentOS8上的DNS服务器配置为局域网内的权威服务器?

A1:需完成以下步骤:

centos8上安装dns

  1. named.conf中配置实际网络接口(如listenon port 53 { 192.168.1.100; }
  2. 配置正向/反向区域文件时使用真实域名和IP地址
  3. 在路由器/DHCP服务器中将DNS服务器指向该服务器IP
  4. 确保防火墙允许外部访问UDP/TCP 53端口

Q2:如何在CentOS8上配置BIND作为缓存DNS服务器?

A2:需修改named.conf中的配置:

options {
    forwarders { 8.8.8.8; 8.8.4.4; } # 设置上游DNS服务器
    recursion yes;                    # 启用递归查询
    allowquery { any; }              # 允许所有客户端查询
};

发表评论:

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

«    2025年6月    »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.