centos 访问不了外网访问不了 centos开启ssh服务
Centos7 网络无法访问外网解决
此前部署了一套Centos7的虚拟机,但是无法上外网,下面简单记录排查,解决的过程。
看下在virtual box里面网卡部分有没有选择桥接模式,如果没有的话,改为桥接模式
进入/etc/resolv.conf,添加一个谷歌解析器
nameserver 192.168.60.204
nameserver 192.168.60.202
nameserver 114.114.114.114
如果修改之后还不能访问外网,那么需要检查路由
发现没有默认路由,所以需要添加缺省路由,一共有三种方式
centos 能ping能不能访问外网
案例说,能够ping同网关,表示这台机器已经能够正常使用!
楼上说的如果公司将IP和MAC地址绑定了导致,这个个人觉得是错误的,因为如果路由做了APR绑定,那么你这台机器如果不再路由器的ARP表中,那么连内网都是不能访问的!
个人觉得你应该从以下几点开始解决:
1、直接ping一个外网的正常IP,如在其他能够上外网的电脑上,ping一下百度,然后获得IP之后,直接在centos中ping这个IP,如果能够正常ping,那么应该是你的centos的DNS有问题,如果不能ping通,请按下一步排查
2、仔细核对公司内部的防火墙(路由器防火墙、或者其他硬件防火墙)(可以找网管),是否禁止了你这一台电脑的数据包外出!(个人觉得这个可能性比较大)
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中。