CentOS 7 网络连接与 DNS 故障排查
2025/10/28大约 2 分钟
CentOS 7 网络连接与 DNS 故障排查
本指南旨在帮助您诊断和修复在 CentOS 7 云服务器环境中遇到的常见网络连接与 DNS 解析问题。
故障排查流程
1. 初步诊断
首先,尝试 ping 一个可靠的域名来判断问题范围。
ping mirrors.tuna.tsinghua.edu.cn- 如果成功:您的网络和 DNS 均正常,问题可能出在其他地方。
- 如果失败(返回
unknown host或超时):请继续下一步。
2. 定位问题:网络 vs DNS
为了区分是底层网络不通还是 DNS 解析问题,我们尝试 ping 一个公网 IP 地址。
ping 1.1.1.1如果
ping 1.1.1.1成功:
这表明您的服务器可以访问互联网,但无法解析域名。问题确定为 DNS 设置错误。 请直接跳转到 DNS 问题解决方案。如果
ping 1.1.1.1也失败:
这表明问题出在更底层的网络连接本身。网络连接中断
这种情况意味着您的服务器无法访问任何外部 IP 地址。
请立即联系管理员,并向他们报告以下情况:
- 服务器无法访问公网,
ping任何外部 IP 地址(如1.1.1.1)均超时或无响应。 - 提供您的服务器 IP 地址和相关信息。
切勿尝试自行修改 IP 地址或网关配置,这可能会导致服务器彻底失联。
- 服务器无法访问公网,
3. DNS 问题解决方案 (CentOS 7)
在我们的云环境中,服务器通过 DHCP 自动获取网络配置。要解决 DNS 问题,我们需要覆盖 DHCP 提供的设置,强制使用指定的 DNS 服务器。
第 1 步:备份网络配置文件 (重要!)
在修改前务必创建备份。
# 假设您的网卡是 eth0
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak第 2 步:编辑网络配置文件
修改前,您的 ifcfg-eth0 文件内容应如下所示:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=fa:16:3e:80:4b:50
MTU=1500
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=no请在文件末尾添加以下三行:
PEERDNS=no
DNS1=202.103.44.150
DNS2=218.104.111.114
PEERDNS=no是此方案的关键,它告诉系统不要接受 DHCP 服务器下发的 DNS 设置。
修改后,文件内容应如下所示:
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=fa:16:3e:80:4b:50
MTU=1500
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
# --- 以下是新添加的行 ---
PEERDNS=no
DNS1=202.103.44.150
DNS2=218.104.111.114第 3 步:应用配置并验证
- 重启网络服务使配置生效:
sudo systemctl restart network - 检查 DNS 配置是否已更新:
cat /etc/resolv.conf - 最后再次测试
ping域名:此时应该可以成功解析并连接。ping mirrors.tuna.tsinghua.edu.cn
