解决CentOS 7 “Destination Host Unreachable“ 的问题

距离2025年12月9日,我发布解决Network Unreachable的帖子 再看Linux系统下“connect:network is unreachable”的问题 才刚刚一天不到,我竟然又双叒叕遇到了 CentOS 7 的网络配置问题,还不是同样的问题...我真的服了。

目录

一、问题描述

二、故障定位

三、问题解决

1. 检查虚拟机网卡是否启用DHCP

​2. 重新获取IP

3. 检查网关和DNS


一、问题描述

ping 8.8.8.8 不通,说明外网连不上。显示Destination Host Unreachable(目标主机不可达),我第一反应是我的设备无法找到通往目标 IP 地址的路由。

二、故障定位

排除了 防火墙/安全组阻止了 ICMP 请求(通常表现为 Request Timeout 而非 Unreachable)以及物理或虚拟网络连接问题(通常是网线未插、虚拟交换机的设置问题,这里ip addr显示正常)的问题后,基本只可能出在以下两个方面:

  1. 网络接口未正确配置(如 IP 地址、子网掩码、网关错误)。
  2. 目标 IP 不在当前网络子网内,且没有配置正确的路由。

一开始我还奇怪,我的虚拟机工作在NAT模式下,但是和宿主机不在一个子网下。查了资料才知道:在 NAT模式 下,虚拟机与宿主机不需要处于同一子网,这是正常的。NAT模式下,虚拟机会通过宿主机的IP共享上网,通常由虚拟化软件(如VMware)自动管理虚拟网络(如 192.168.x.x(宿主机的子网) 或 172.16.x.x (上图中虚拟机的子网) )。

那么此时真相就只有一个 —— 也就是 虚拟网络配置、网关或DNS的问题

三、问题解决

1. 检查虚拟机网卡是否启用DHCP

cat /etc/sysconfig/network-scripts/ifcfg-ens33

确保包含:

BOOTPROTO=dhcp
ONBOOT=yes

2. 重新获取IP

使用DHCP获取动态IP:

# 释放旧IP
dhclient -r ens33  
# 获取新IP
dhclient ens33     

如果DHCP不可用,可以手动配置:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改为:

BOOTPROTO=static
IPADDR=192.168.117.128
NETMASK=255.255.252.0
GATEWAY=192.168.117.2      # 需与虚拟网络编辑器中的网关一致
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes

然后重启网络:

systemctl restart network

3. 检查网关和DNS

查询网关:

ip route show  # 或 ip route list

default via 192.168.117.2 表示默认网关是 192.168.117.2 (即所有非本地网络的流量都会经过它,也即 NAT 模式下的虚拟网关)

如果你的输出没有 default via ...  行,说明网关未正确配置。

192.168.117.0/24 表示 本地局域网子网,src 后面跟的是虚拟机 IP,也即192.168.117.128。

192.168.122.0/24 是 virbr0(虚拟网桥)的网络,与 NAT 无关,这里不用管。

确认网关可达:

ping 192.168.117.2  # 替换为你的实际网关
  • 如果 ping 通,说明网关配置正确,若此时仍无法上网,则建议检查 DNS:
    # 确保有 nameserver(如 8.8.8.8)
    cat /etc/resolv.conf 
    # 测试 DNS 解析
    ping www.baidu.com
  • 若外网无法解析,则需要手动设置DNS:
    echo "nameserver 8.8.8.8" > /etc/resolv.conf

  • 如果 ping 不通,则需要检查NAT模式的子网和网关设置,并确保NAT服务运行
    • 检查 宿主机虚拟网络设置(如 VMware 的 NAT 网关)。
    • 在Windows宿主机上,检查 VMwaere NAT Service 是否启动(按 Win + R 输入service.msc,找到并启动该服务)。

以上~ 大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值