linuxdns服务器配置
- 云服务器
- 2025-09-02
- 9
以下是Linux DNS服务器的配置方法:
安装DNS服务器软件
在Linux系统中,常用的DNS服务器软件是BIND(Berkeley Internet Name Domain),可以通过包管理器来安装,以CentOS为例,使用yum命令安装:
sudo yum install bind bind-utils -y
对于Ubuntu系统,可使用apt命令安装:
sudo apt-get update sudo apt-get install bind9 bind9utils bind9-doc -y
配置DNS服务器
(一)主配置文件
- CentOS:主配置文件通常为/etc/named.conf,可以使用文本编辑器打开并编辑该文件,
sudo vi /etc/named.conf
- Ubuntu:主配置文件一般为/etc/bind/named.conf,同样使用文本编辑器进行编辑:
sudo nano /etc/bind/named.conf
在主配置文件中,可以进行一些基本的配置,如设置监听地址、允许的查询类型等,将listen-on port 53前面的注释去掉,表示监听53端口;将allow-query设置为any,允许任何客户端查询。
(二)区域配置文件
- 正向区域文件:用于定义域名到IP地址的映射,在/etc/named(CentOS)或/etc/bind(Ubuntu)目录下创建正向区域文件,文件名通常为yourdomain.com.zone(将yourdomain.com替换为实际的域名)。
sudo vi /etc/named/yourdomain.com.zone
在文件中添加以下内容(以示例域名为例):
| 字段 | |
|---|---|
| $TTL | 86400 |
| @IN SOA ns1.yourdomain.com. admin.yourdomain.com. ( | |
| 2024101501 ;序列号 | |
| 3600 ;刷新时间 | |
| 1800 ;重试时间 | |
| 1200 ;过期时间 | |
| 86400 );最小TTL | |
| @ IN NS ns1.yourdomain.com. | |
| @ IN NS ns2.yourdomain.com. | |
| ns1 IN A 192.168.1.100 | |
| ns2 IN A 192.168.1.101 | |
| www IN A 192.168.1.102 |
$TTL表示默认的生存时间;SOA记录定义了起始授权机构、管理员邮箱等信息;NS记录指定了名称服务器;A记录将域名映射到IP地址。
- 反向区域文件:用于将IP地址解析为域名,在相同的目录下创建反向区域文件,文件名通常为168.192.in-addr.arpa.zone(根据网络段进行调整)。
sudo vi /etc/named/1.168.192.in-addr.arpa.zone
在文件中添加以下内容(以示例网络段为例):
| 字段 | |
|---|---|
| $TTL | 86400 |
| @IN SOA ns1.yourdomain.com. admin.yourdomain.com. ( | |
| 2024101501 ;序列号 | |
| 3600 ;刷新时间 | |
| 1800 ;重试时间 | |
| 1200 ;过期时间 | |
| 86400 );最小TTL | |
| @ IN NS ns1.yourdomain.com. | |
| @ IN NS ns2.yourdomain.com. | |
| 100 PTR ns1.yourdomain.com. | |
| 101 PTR ns2.yourdomain.com. | |
| 102 PTR www.yourdomain.com. |
PTR记录将IP地址反向解析为域名。
(三)修改主配置文件引用区域文件
在主配置文件中,需要添加对正向和反向区域文件的引用,在CentOS的/etc/named.conf中添加:
zone "yourdomain.com" { type master; file "yourdomain.com.zone"; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; };
在Ubuntu的/etc/bind/named.conf中添加类似内容。

启动和测试DNS服务器
(一)启动DNS服务器
在CentOS中,使用以下命令启动DNS服务器:
sudo systemctl start named.service
在Ubuntu中,使用以下命令启动DNS服务器:
sudo systemctl start bind9.service
(二)设置开机自启
在CentOS中,执行:
sudo systemctl enable named.service
在Ubuntu中,执行:
sudo systemctl enable bind9.service
(三)测试DNS服务器
可以使用dig或nslookup命令来测试DNS服务器是否正常工作,使用dig命令查询域名:

dig www.yourdomain.com
如果配置正确,将返回域名对应的IP地址等信息。
配置DNS客户端
编辑客户端的/etc/resolv.conf文件,添加或修改nameserver行来指定DNS服务器的IP地址,如果DNS服务器的IP地址为192.168.1.100,则在/etc/resolv.conf中添加:
nameserver 192.168.1.100
保存文件后,客户端将使用指定的DNS服务器进行域名解析。
相关问题与解答
如何更改DNS服务器的监听地址?
在DNS服务器的主配置文件中,找到listen-on选项,将其值设置为要监听的IP地址或any(表示监听所有地址),在CentOS的/etc/named.conf中,将listen-on port 53 { 127.0.0.1; };改为listen-on port 53 { any; };,然后重启DNS服务器使配置生效。
如何增加新的域名解析记录?
如果要增加新的域名解析记录,需要编辑相应的区域文件,要为yourdomain.com添加一个新的子域名mail,并将其指向IP地址168.1.103,则在正向区域文件yourdomain.com.zone中添加一行:
mail IN A 192.168.1.103
保存文件后,重启DNS服务器使配置生效。
