5154

Good Luck To You!

centos7.0配置dns服务

CentOS 7.0中配置DNS服务,需安装BIND软件包,编辑配置文件,创建区域文件,并启动服务

CentOS 7.0配置DNS服务

安装BIND软件包

在CentOS 7.0中,使用yum命令来安装BIND(Berkeley Internet Name Domain)软件包及其相关工具,以root用户登录系统后,执行以下命令:

sudo yum install bind bindutils y

这将安装BIND主程序(bind)以及一些实用工具(如nslookupdig等),用于后续的配置和测试。

配置BIND主配置文件

BIND的主配置文件是/etc/named.conf,使用文本编辑器(如vinano)打开该文件:

sudo vi /etc/named.conf

修改监听地址

找到options部分,将listenon port 53改为listenon port 53 { any; };,使DNS服务器监听所有网络接口的53端口。

options {
    listenon port 53 { any; };
    ...
};

允许查询

allowquery改为allowquery { any; };,允许任何客户端进行DNS查询。

options {
    ...
    allowquery { any; };
    ...
};

其他可选设置

  • 转发器(Forwarders):如果需要将无法解析的请求转发给上游DNS服务器,可以添加forwarders指令,使用Google的公共DNS服务器:
    options {
      ...
      forwarders { 8.8.8.8; 8.8.4.4; };
      ...
    };
  • 递归查询:确保recursion设置为yes,允许递归查询。
    options {
      ...
      recursion yes;
      ...
    };

配置正向解析区域

正向解析区域用于将域名解析为IP地址,需要在主配置文件中定义一个区域,然后创建一个区域文件来存储具体的记录。

定义正向解析区域

编辑/etc/named.rfc1912.zones文件,添加以下内容(以example.com为例):

zone "example.com" IN {
    type master;
    file "/var/named/zone.example.com";
    allowupdate { none; };
};

创建区域文件

根据上一步定义的文件路径,创建并编辑/var/named/zone.example.com文件:

sudo vi /var/named/zone.example.com
$TTL 86400
@   IN SOA ns1.example.com. root.example.com. (
        2025072201 ; Serial
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400      ; Minimum TTL
)
@   IN NS ns1.example.com.
ns1 IN A yourdnsserverip
www IN A yourwebserverip
  • $TTL:Time to Live,记录的存活时间。
  • SOA记录:起始授权机构记录,包含区域的版本号(Serial)、刷新时间(Refresh)、重试时间(Retry)、过期时间(Expire)和最小TTL。
  • NS记录:命名服务器记录,指定区域的权威DNS服务器。
  • A记录:将主机名映射为IPv4地址。

配置反向解析区域(可选)

反向解析区域用于将IP地址解析为域名,如果需要反向解析,可以按照以下步骤操作。

定义反向解析区域

/etc/named.rfc1912.zones文件中添加以下内容(以168.0为例):

zone "0.168.192.inaddr.arpa" {
    type master;
    file "/var/named/zone.192.168.0";
    allowupdate { none; };
};

创建区域文件

创建并编辑/var/named/zone.192.168.0文件:

sudo vi /var/named/zone.192.168.0
$TTL 86400
@   IN SOA ns1.example.com. root.example.com. (
        2025072201 ; Serial
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400      ; Minimum TTL
)
@   IN NS ns1.example.com.
yourreverseip IN PTR ns1.example.com.
  • PTR记录:将IP地址映射为域名。

启动和配置自动启动BIND服务

完成配置后,启动BIND服务并设置为开机自启:

sudo systemctl start named
sudo systemctl enable named

检查服务状态

使用以下命令检查服务是否正常运行:

sudo systemctl status named

如果显示active (running),则表示服务已成功启动。

防火墙配置

如果系统启用了防火墙,需要允许DNS流量通过,执行以下命令:

sudo firewallcmd permanent addservice=dns
sudo firewallcmd reload

这将开放UDP和TCP的53端口。

测试DNS配置

使用nslookupdig命令测试DNS解析是否正常,测试www.example.com的解析:

nslookup www.example.com

如果配置正确,应该返回www.example.com对应的IP地址。

常见问题与解答

如何更改DNS服务器的监听地址?

/etc/named.conf文件中,找到listenon port 53指令,并将其修改为listenon port 53 { any; };,使DNS服务器监听所有网络接口,如果需要限制监听地址,可以将any替换为具体的IP地址或接口名称(如0.0.1eth0)。

如何设置DNS转发?

/etc/named.conf文件的options部分,添加forwarders指令,指定上游DNS服务器的IP地址。

options {
    ...
    forwarders { 8.8.8.8; 8.8.4.4; };
    ...
};

这将使本地DNS服务器无法解析的请求转发到指定的上游DNS服务器

发表评论:

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

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.