温馨提示×

centos域名怎么恢复

小樊
43
2025-12-23 07:29:44
栏目: 云计算

CentOS 域名解析恢复步骤

一 快速自检

  • 检查是否能解析域名:执行命令:nslookup www.example.comdig www.example.com;若返回 SERVFAIL/REFUSED 或无记录,多为 DNS 配置或上游问题。
  • 检查默认路由是否可达:执行命令:ip routenetstat -rn,确认存在 default via <网关IP> 路由。
  • 检查域名解析顺序:执行命令:grep hosts /etc/nsswitch.conf,应为 hosts: files dns(先查本地 hosts,再查 DNS)。
  • 检查网络连通性:执行命令:ping <网关IP>ping 8.8.8.8,先排除链路与出口问题。
  • 检查防火墙是否放行 DNS:执行命令:sudo firewall-cmd --state;若运行,放行 DNS 服务:sudo firewall-cmd --add-service=dns --permanent && sudo firewall-cmd --reload

二 恢复 DNS 配置

  • 临时恢复(立即生效,重启后可能丢失):编辑 /etc/resolv.conf,加入公共 DNS:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
  • 持久化恢复(避免重启后丢失):在网卡配置中写入 DNS。
    • 传统 ifcfg 方式:编辑对应网卡文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0ifcfg-ens33),加入:
      DNS1=8.8.8.8
      DNS2=8.8.4.4
      如由 NetworkManager 管理,建议同时设置:PEERDNS=no,防止被覆盖。
    • NetworkManager 方式:使用 nmcli 设置每连接 DNS:
      nmcli con mod <连接名> ipv4.dns “8.8.8.8 8.8.4.4
      nmcli con up <连接名>(或 nmcli con reload)
  • 使配置生效:
    • 传统网络:sudo systemctl restart network
    • NetworkManager:sudo systemctl restart NetworkManager
  • 验证:cat /etc/resolv.conf 应包含上述 nameserver;再次用 nslookup/dig 测试解析。

三 常见原因与对应处理

  • 重启后 DNS 丢失:/etc/resolv.conf 被覆盖或未写入网卡配置。处理:在 ifcfg-ethX/ifcfg-ensX 中写入 DNS1/DNS2,必要时设 PEERDNS=no,并用 NetworkManager 或 network 服务重启使生效。
  • 仅能 ping IP 不能解析域名:DNS 未配置或 /etc/nsswitch.conf 顺序错误。处理:配置 DNS1/DNS2,确认 hosts: files dns
  • 防火墙阻断 DNS:DNS 使用 UDP/TCP 53 端口。处理:放行 DNS 服务或相应端口。
  • 路由缺失导致外网不通:无默认路由。处理:添加 default via <网关IP>

四 仍未恢复时的排查

  • 查看系统日志定位网络/DNS 错误:sudo journalctl -xe
  • 清理本地解析缓存:sudo systemctl restart nscd(如安装并启用)。
  • 若为公司内网域名,确认是否需内网 DNSsearch 域后缀;必要时在 /etc/resolv.conf 增加 search <你的域>
  • 若域名本身在外网也无法解析,联系 域名注册商/权威 DNS 服务商核查解析记录与状态。

0