背景介绍:
搭建虚拟机 Linux 环境, 但 Linux 上不了网, 宿主机 ping 虚拟机通, 虚拟机内部 ping 得通, ping 宿主机外网不通, 在 ping 外部网络的时候老是提示以下报错:
- From 192.168.93.130 icmp_seq=8 Destination Host Unreachable
- From 192.168.93.130 icmp_seq=8 Destination Host Unreachable
或者ping好久都没有反应
类似的情况遇到了几次, 总结了一下遇到的原因
第一个原因, 搭建环境的时候选用的网络连接模式不对, 本应用NAT模式, 却选了桥接模式, 按如下修改就可以, 如果还不行就关注第二个原因
第二个原因, 网关问题, 网关被改
外网 ping 不同, 内网可以 ping 通
后来发现 / etc/sysconfig/network-script / 目录下有多个网卡配置文件, 且它们配置的网关是不一样的, 其中 ifcfg-eth0.ori1 是以前备份的, 网关跟现在用的不一样, 正常使用的网关 10.0.0.2, 网关 192.168.93.2 已经失效
这是 ifcfg-eth0 的网关配置
这是 ifcfg-eth0.ori1 的网关配置
这是网关 / etc/resolv.cong 的配置内容, 将网关手动改成 10.0.0.2, 重启网络服务又会变成 192.168.93.2
网关配置文件会被改的原因是, 两个网卡配置的网关不一致, 重启网络服务或重启 Linux 时, 都会从新读取网卡配置文件, 并把最后一次从网卡配置文件中读取到的网关地址覆盖 / etc/resolv.conf 中的网关地址, 网关地址被改变无法连接外网, 连外网时会读取引用 / etc/resolv.conf 中的网关地址, 但 192.168.93.2 已经失效, 所以无法连网
解决的方法:
1) 方法 1: 不要 ifcfg-eth0.ori1 这张网卡配置, 把这个文件删了
2) 方法 2: 保留 ifcfg-eth0.ori1 这张网卡配置, 修改该网卡的网关地址
来源: http://www.bubuko.com/infodetail-3072161.html