CentOS 7 VPS配置ISPConfig 3后域名无法解析问题求助
问题分析与正确配置步骤
咱们一步步拆解你遇到的问题哈,核心是你搞混了「DNS托管的主体」,加上ISPConfig创建DNS区域时的关键选项没勾选,导致域名无法解析:
你之前的操作错误点
- DNS托管主体混淆:你把域名的NS记录设成了VPS服务商的,但同时又在ISPConfig里创建DNS区域——这相当于让服务商管DNS,但你又在自己的ISPConfig里建了区域,两边完全脱节,自然找不到IP。
- ISPConfig DNS区域创建遗漏关键选项:没勾选「Create default records」,导致创建区域后没有自动生成SOA、NS、A这些必备解析记录,等于这个DNS区域是空的。
两种正确配置方案(选其一即可)
方案一:用ISPConfig托管DNS(适合想自己管理解析的情况)
- 在ISPConfig里创建完整的DNS区域
- 登录ISPConfig后台,进入「DNS」模块,点击「Add new DNS Zone」
- 填写你的域名(比如
yourdomain.com),IP地址填VPS的公网静态IP - 重点!一定要勾选**「Create default records」**选项,这个会自动生成SOA、NS、A等基础解析记录(比如
yourdomain.com指向VPS IP,ns1.yourdomain.com和ns2.yourdomain.com也指向VPS IP) - 保存后,回到DNS区域列表,点击你的域名进去,确认已经生成了这些记录
- 修改域名注册商的NS记录
- 登录你域名的注册商后台,找到「DNS服务器/NS记录」设置
- 把原来的VPS服务商NS记录,替换成ISPConfig生成的NS记录(比如
ns1.yourdomain.com和ns2.yourdomain.com)
- 确保VPS的DNS服务正常运行
- 检查CentOS7上的
named服务状态:systemctl status named - 如果没运行,启动并设为开机自启:
systemctl start named && systemctl enable named - 开放防火墙的DNS端口:
firewall-cmd --add-service=dns --permanent && firewall-cmd --reload
- 检查CentOS7上的
- 等待DNS生效并测试
- DNS生效时间一般1-24小时,你可以用本地终端执行
dig yourdomain.com或nslookup yourdomain.com,看返回的IP是否是你的VPS IP - 最后在ISPConfig的「Sites」模块添加网站,绑定该域名即可
- DNS生效时间一般1-24小时,你可以用本地终端执行
方案二:用VPS服务商托管DNS(适合不想自己维护DNS服务的情况)
这种方案更简单,不用碰ISPConfig的DNS模块:
- 在VPS服务商后台添加解析记录
- 登录VPS服务商的控制面板,找到DNS管理板块
- 添加一条A记录:主机填
@(代表主域名yourdomain.com),值填你的VPS公网IP - 如果需要
www.yourdomain.com访问,再添加一条A记录:主机填www,值同样填VPS IP
- 在ISPConfig添加网站
- 回到ISPConfig的「Sites」模块,点击「Add new website」
- 填写域名(
yourdomain.com,可以同时添加www.yourdomain.com作为别名),设置网站根目录、PHP版本等基础配置
- 测试访问
- 等待10-30分钟让DNS生效,直接访问域名即可
额外排查点
如果按上面的步骤操作后还是有问题:
- 检查VPS的防火墙是否开放了80/443端口(网站访问需要):
firewall-cmd --add-service=http --add-service=https --permanent && firewall-cmd --reload - 用
ping yourdomain.com测试,看是否能ping通VPS IP - 检查ISPConfig的网站配置是否正确,比如是否启用了该网站,根目录是否存在内容
内容的提问来源于stack exchange,提问作者user163831
相关产品推荐
相关产品推荐

