最近,尝试了下自建DNS服务器,将一些遇到的问题记录一下:
1、服务端的教程网上都有,但域名解析这块需要记录下,使用的namesilo域名(其他类同)。
1)首先在解析处添加对应记录
2)然后到底部的Registered Nameservers处设置
3)添加对应记录,等待8-24小时全球生效
2、有些服务器没有开放53端口,首先检查是否有服务在监听 53 端口,使用 ss 命令
sudo ss -tuln | grep :53
如果输出为空,说明没有服务在监听 53 端口。但如果输出如下:
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
可以看出,系统上有一个服务正在监听 53 端口,但它只绑定到了 127.0.0.53 这个本地回环地址。这意味着该服务只能接受来自本地的 DNS 请求,而无法接受来自外部网络的请求。
解决方法
1)检查当前 DNS 服务
运行以下命令确认当前运行的 DNS 服务:
sudo systemctl status systemd-resolved
如果输出显示 systemd-resolved 正在运行,说明它是当前管理 DNS 的服务。
2)禁用 systemd-resolved
如果你不需要 systemd-resolved,可以禁用它并安装其他 DNS 服务(如 bind9 或 dnsmasq)。
sudo systemctl stop systemd-resolved sudo systemctl disable systemd-resolved
3)修改 DNS 解析配置(可选)
编辑 /etc/resolv.conf 文件,将其指向其他 DNS 服务器(如 Google 的公共 DNS):
sudo vi /etc/resolv.conf
添加以下内容:
nameserver 8.8.8.8 nameserver 8.8.4.4
按住Esc,然后输入:,再输入wq,保存并退出。重启下服务器生效。