centos 无法访问 centos无法上网

Centos7 网络无法访问外网解决

此前部署了一套Centos7的虚拟机,但是无法上外网,下面简单记录排查,解决的过程。

看下在virtual box里面网卡部分有没有选择桥接模式,如果没有的话,改为桥接模式

进入/etc/resolv.conf,添加一个谷歌解析器

nameserver 192.168.60.204

nameserver 192.168.60.202

nameserver 114.114.114.114

如果修改之后还不能访问外网,那么需要检查路由

发现没有默认路由,所以需要添加缺省路由,一共有三种方式

为什么我的centos无法访问镜像源

当您在 CentOS系统中通过 yum安装软件时遇到"Could not retrieve mirrorlist "错误,可能感到困惑。特别是,尽管网络连接正常,能够 ping通诸如 baidu.com等网站,也并未发现明显的网络问题。这通常与国内与海外网络访问的限制有关,导致某些服务无法正常访问。

首先,排除网络连接问题。确保您的网络能够正常访问,并且能够解析百度等国内知名网站。这一步骤有助于确认问题是否由网络连接不稳定或限制引起。

问题根源在于 CentOS官方 mirrorlist页面无法被正常访问,这可能是由于国内与海外网络的访问限制导致的。通常情况下,尝试使用 wget或其他下载工具会遇到问题,因为 CentOS最小化安装的系统可能缺少必要的软件环境。

为解决这一问题,推荐使用阿里云提供的镜像源服务。阿里云提供了 CentOS的镜像源,您可以通过运行特定的脚本一键更换系统中的镜像源,从而避免遇到无法访问 CentOS官方镜像列表的问题。这不仅简单快捷,而且能够确保您在安装软件时获取到最新的、可访问的版本。

执行更换镜像源的脚本后,您将能够正常访问所需的 CentOS镜像列表,从而顺利进行软件安装。这样一来,避免了由于海外网络限制导致的问题,使 CentOS系统的日常维护和软件安装变得更加顺畅。

CentOS网络配置后无法访问外网的解决方法

关于CentOS网络的具体配置项,可以参考Mitchell博客之前的那篇文章。

现象:

ping内网正常

ping外网IP,域名均无法正常,返回错误:connect: Network is unreachable

后面在无意中看到Linux网络配置有添加网关的命令:

复制代码代码如下:

route add default gw 192.168.128.2 dev eth0

按上面操作,添加了默认的网关之后。再次访问外网一切正常。

有这个现象来看,应该是配置文件中没有配置网关,但是经过确认/etc/sysconfig/network中是配置了GATEWAY地址的,而且GATEWAY的地址也是正确的,在多次重启network之后,只要不手动添加网关,就不能访问外网。

多次仔细确认各个网络配置文件之后,发现在网卡配置文件中(ifcfg-eth0)有一个NETWORK配置项,对于这个配置项,本身作用不是很清楚,因此到官网查看了一下说明:

复制代码代码如下:

NETWORK=

where is the network address. This directive is deprecated, as the value is calculated automatically with ifcalc.

这节奏是告诉我们这个参数不要设置嘛(deprecate),这个值将会由ifcalc自动计算。既然不用设置,自然去掉。

去掉之后,重启network服务之后,外网竟然神奇的能够访问了。使用route查看路由表,发现能够自动添加default这条信息了,原来可是一直没有的:

复制代码代码如下:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.128.0* 255.255.255.0 U 0 0 0 eth0

link-local* 255.255.0.0 U 1002 0 0 eth0

default 192.168.128.2 0.0.0.0 UG 0 0 0 eth0

看来问题正是这个NETWORK参数设置引起的。至于具体为什么会这样,这个设置会产生什么样的影响还不是很清楚。

TIPs:为了简单,你也可以将IPADDR,GATEWAY等设置到ifcfg-eth*的文件中,不用将GATEWAY单独设置在network中。

阅读剩余
THE END