要开设域名服务器(DNS服务器),需要完成以下步骤,这里以在Linux系统上使用BIND(Berkeley Internet Name Domain)为例,因为它是应用最广泛的DNS软件。
1、服务器要求:
- 一台运行Linux的服务器(如Ubuntu/CentOS)。
- 公网静态IP地址(如果用于公共解析)。
- 防火墙开放UDP/TCP53端口。
2、域名准备:
- 拥有一个已注册的域名(如example.com
)。
- 在域名注册商处将域名的DNS服务器指向你的服务器IP(如ns1.example.com
)。
sudo apt update sudo apt install bind9 bind9utils
sudo yum install bind bind-utils
1.主配置文件:named.conf
- 编辑/etc/bind/named.conf
(Ubuntu)或/etc/named.conf
(CentOS):
options { directory "/var/cache/bind"; listen-on port 53 { any; }; # 监听所有IP allow-query { any; }; # 允许所有客户端查询 recursion no; # 关闭递归查询(公共DNS建议关闭) }; # 添加你的域名区域配置 zone "example.com" { type master; # 主服务器 file "/etc/bind/db.example.com"; # 区域文件路径 };
- 创建并编辑区域文件/etc/bind/db.example.com
:
$TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 2023082001 ; Serial号(每次修改后需递增) 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) IN NS ns1.example.com. ; 域名服务器记录 IN NS ns2.example.com. ; 备用服务器(可选) IN A 192.0.2.1 ; 域名指向的IP(@表示example.com) ns1 IN A 192.0.2.1 ; ns1子域名IP www IN A 192.0.2.1 ; www子域名IP mail IN A 192.0.2.2 ; mail子域名IP
- 在named.conf
中添加反向区域:
zone "2.0.192.in-addr.arpa" { # 反向IP段(192.0.2.x → 2.0.192) type master; file "/etc/bind/db.192.0.2"; };
- 创建反向区域文件/etc/bind/db.192.0.2
:
$TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( ... ) NS ns1.example.com. 1 PTR example.com. ; 192.0.2.1 → example.com 2 PTR mail.example.com. ; 192.0.2.2 → mail.example.com
1、启动BIND:
sudo systemctl restart named # CentOS sudo systemctl restart bind9 # Ubuntu sudo systemctl enable named # 设置开机自启
2、检查配置语法:
sudo named-checkconf # 检查主配置 sudo named-checkzone example.com /etc/bind/db.example.com # 检查区域文件
3、本地解析测试:
dig @localhost example.com # 查询域名 dig -x 192.0.2.1 @localhost # 反向解析测试
1、在域名注册商(如GoDaddy、阿里云)的控制面板中:
- 将域名的DNS服务器设置为你的DNS服务器主机名(如ns1.example.com
和ns2.example.com
)。
- 为ns1.example.com
和ns2.example.com
添加Glue Records(粘合记录),指向服务器的公网IP。
1、限制访问:
- 在named.conf
中使用allow-query { 192.0.2.0/24; };
限制查询IP范围。
2、关闭递归:
- 公共DNS服务器设置recursion no;
。
3、更新BIND:
- 定期更新软件:sudo apt upgrade bind9
。
解析不生效?
- 检查防火墙是否开放53端口:sudo ufw allow 53
。
- 等待DNS缓存刷新(最多48小时)。
Serial号未更新?
- 修改区域文件后必须递增Serial号(格式:YYYYMMDDNN)。
通过以上步骤,即可成功搭建一个基础的DNS服务器,如需高可用,可配置多台服务器并设置主从同步。
文章摘自:https://idc.huochengrm.cn/fwq/12790.html
评论