dns服务器怎么设置(适用于路由器、PC、手机等设备)


搭建您的DNS域名解析服务器
这段文字为那些在开发程序时或在进行程序测试时需要测试DNS域名解析的工程师和测试人员提供了一个指南。本文将介绍如何使用BIND软件在Linux系统中设置一个DNS域名解析服务器。
关于DNS域名解析的基础知识
为了对DNS域名解析服务有更好的理解,建议先阅读关于DNS基本概念的文章,了解其工作原理。
使用BIND设置DNS服务器
本文将使用BIND(Berkeley Internet Name Domain)来建立DNS服务器。
一、安装BIND
以CentOS 7.0为例,使用以下命令安装BIND及相关软件包:

sudo yum install bind bind-utils bind-chroot

二、配置BIND
1. 配置文件位置
BIND的配置文件位置取决于是否安装了bind-chroot软件包:
已安装:/var/named/chroot/etc/named.conf
未安装:/etc/named.conf
2. 主配置文件
拷贝配置文件模板到主配置文件中:

sudo cp /usr/share/doc/bind-9.9.4/named.conf.default /var/named/chroot/etc/named.conf

删除多余的配置并进行必要的修改:

basic named.conf with Google Public DNS forwarders
options {
listen-on port 53 { any; };
forwarders { 8.8.8.8; 8.8.4.4; };
allow-recursion { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
};
zone "." {
type hint;
file "named.ca";
};

3. Zone文件
创建Zone文件来定义您的域名解析规则:

sudo touch /var/named/chroot/var/named/example.net.zone

添加以下内容到Zone文件中:

$TTL 86400
example.net. IN SOA sns.corp.example.net. root.example.net. (
2023040106 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
example.net. IN NS sns.corp.example.net.
sns.corp.example.net. IN A 192.168.1.100

4. 启动DNS服务
使用bind-chroot启动BIND服务:

sudo /usr/sbin/named -u bind -g named

5. 测试DNS服务
在本地或其他计算机上修改DNS服务器IP地址,然后使用dig命令测试DNS解析:

dig www.example.net

注意:
其他版本的Linux系统可能需要不同的安装和配置步骤。为了允许从其他计算机访问DNS服务,需要修改主配置文件以允许外部访问。

DNS 服务器设置步骤

BIND 从服务器

配置 BIND 的从服务器非常简单,只需在主配置文件中添加从域的信息即可。

  1. 配置文件位置:
    /etc/bind
  2. 在主配置文件中添加一行域定义:
    zone example.net {
    type slave;
    file "/var/named/slaves/example.net.zone";
    masters { 192.168.1.10; };
    };
  3. 授权:
    由于 BIND 以 named 用户运行,因此需要给存放区域文件的文件夹(/var/named/chroot/var/named/slaves)授予权限。
    授权前
    授权后:
    授权后
  4. 启动 BIND 服务并检查结果:
    启动 BIND 服务: service named start
    检查区域文件夹:/var/named/chroot/var/named/slaves
    检查结果
  5. 修改 DNS 服务器 IP 地址并测试:
    更改 DNS 服务器的 IP 地址。
    测试解析:dig www.example.net
    测试解析

缓存服务器和转发服务器

缓存服务器不存储任何域的权威配置信息,而是接受所有 DNS 查询,将解析结果返回给客户端,并缓存结果以提高速度。

转发服务器将查询转发到另一个 DNS 服务器。

配置缓存服务器:在主配置文件的 options 部分中加入:forward only;

配置转发服务器:在主配置文件的 options 部分中加入:forwarders { 8.8.8.8; 8.8.4.4; };
转发服务器配置示例

至此,DNS 名称解析服务器的搭建教程结束。如果你喜欢这篇文章,请关注、转发和点赞。我会定期发布技术干货,帮助大家解决工作中的问题。

下期预告

如何开发自己的 DNS 服务系统
下期预告:开发 DNS 服务系统