You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用域名地址替代IP作为DNS?Ubuntu服务器自建NS配置求助

如何配置自定义DNS服务器(ns1/ns2.domain.ltd)用于多站点托管

看起来你想把自己的Ubuntu服务器打造成权威DNS服务器,让其他域名可以通过ns1.domain.ltd和ns2.domain.ltd来解析到你的服务器。先帮你修正当前Bind9配置里的关键错误,再一步步完成后续必要操作:

一、修正Bind9的Zone配置

你当前配置里的ns1和ns2记录类型写错了——应该是A记录(用来绑定域名到IP),而不是NS记录,而且结尾的多余点也需要去掉。修正后的完整配置如下:

$TTL 14400
@ IN SOA ns1.domain.ltd. root.domain.ltd. (
2018011310 ; 注意:每次修改配置都要递增这个序列号,不然DNS不会生效
7200
3600
1209600
180
)
@ 14400 IN NS ns1.domain.ltd.
@ 14400 IN NS ns2.domain.ltd.
@ 14400 IN A 000.000.000.000
www 14400 IN A 000.000.000.000
ftp 14400 IN A 000.000.000.000
mail 14400 IN A 000.000.000.000
smtp 14400 IN A 000.000.000.000
pop 14400 IN A 000.000.000.000
imap 14400 IN A 000.000.000.000
@ 14400 IN MX 10 mail.domain.ltd.
@ 14400 IN TXT "v=spf1 a mx ip4:000.000.000.000 ~all"
_dmarc 14400 IN TXT "v=DMARC1; p=none"
ns1 14400 IN A 000.000.000.000 ; 修正为A记录,去掉结尾多余的点
ns2 14400 IN A 000.000.000.000 ; 同理修正

修改完成后重启Bind9服务让配置生效:

sudo systemctl restart bind9

二、在域名注册商处添加Glue记录(关键!)

这一步很容易被忽略,但却是让自定义DNS生效的核心:当其他域名要使用ns1.domain.ltd作为DNS时,全球DNS系统需要先知道ns1.domain.ltd对应的IP——这就需要在你的domain.ltd的注册商控制面板里添加Glue记录(也叫Nameserver IP记录)。

操作步骤:

  • 登录domain.ltd的域名注册商后台,找到域名管理的DNS设置板块
  • 添加两条Glue记录:
    • 主机名:ns1,对应IP:000.000.000.000
    • 主机名:ns2,对应IP:000.000.000.000
  • 保存设置后,等待DNS全局同步(通常需要1-24小时)

三、在VestaCP中添加新站点并配置DNS

当自定义DNS服务器准备就绪后,就可以在VestaCP里托管其他域名了:

  1. 登录VestaCP面板,进入Web模块,点击Add Web Domain
  2. 输入要托管的新域名(比如example.com),选择服务器IP,勾选DNS Support选项
  3. 保存后,VestaCP会自动在Bind9中创建该域名的Zone配置,包含必要的A/NS/MX等记录
  4. 最后去example.com的域名注册商后台,把它的Nameserver设置为ns1.domain.ltd和ns2.domain.ltd即可

四、验证DNS配置是否生效

可以用以下命令检查配置状态:

  • 验证ns1.domain.ltd的IP解析是否正确:
dig ns1.domain.ltd +short
  • 验证新域名是否通过你的DNS服务器解析:
dig example.com @ns1.domain.ltd +short

如果返回对应的服务器IP,说明配置已经成功生效。


内容的提问来源于stack exchange,提问作者Siavash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:05:06