在CentOS 7系统中,无法访问外网是一个常见的问题,可能由多种原因引起,以下是一些可能的解决方案和排查步骤,以确保系统能够成功连接到外网:
1、检查网络配置

查看IP地址和网关:使用命令ip addr
或ifconfig
查看系统的IP地址、子网掩码和默认网关是否正确配置,确保IP地址在同一网段内,并且网关设置正确。
编辑网络脚本:如果发现网络配置有误,可以编辑网络脚本文件进行修改,对于网卡ens33,可以编辑/etc/sysconfig/networkscripts/ifcfgens33
文件,设置静态IP地址、网关和DNS服务器。
重启网络服务:修改完网络配置文件后,需要重启网络服务使配置生效,可以使用命令systemctl restart network
或service network restart
重启网络服务。
2、检查路由配置
查看路由表:使用命令route n
或ip route
查看系统的路由表,确保存在到外网的默认路由,如果没有默认路由,可以使用命令ip route add default via <网关IP>
添加默认路由。
配置NAT模式:如果是在虚拟机中运行CentOS 7,需要确保虚拟机的网络适配器设置为NAT模式,并且虚拟网络编辑器中的NAT设置正确,可以参考相关文档或教程进行配置。

3、检查防火墙和安全组
关闭防火墙:CentOS 7默认启用了firewalld防火墙,可能会阻止外网访问,可以使用命令systemctl stop firewalld
和systemctl disable firewalld
关闭防火墙。
检查安全组规则:如果在云服务器上运行CentOS 7,需要检查安全组规则是否允许外网访问,确保安全组中开放了相应的端口和协议。
4、检查DNS配置
查看DNS服务器:使用命令cat /etc/resolv.conf
查看系统的DNS服务器配置,如果没有正确配置DNS服务器,可能会导致无法解析域名。
配置DNS服务器:可以在/etc/resolv.conf
文件中添加或修改DNS服务器地址,例如nameserver 8.8.8.8
和nameserver 8.8.4.4
。

5、常见问题及解决方法
无法ping通外网:确保网关和DNS设置正确,检查路由表是否包含默认路由,如果仍然无法访问外网,可以尝试重启网络服务或重新配置网络。
虚拟机网络适配器设置:在虚拟机中运行CentOS 7时,需要将虚拟机的网络适配器设置为正确的模式(如NAT模式),并确保虚拟网络编辑器中的配置正确。
以下是关于CentOS 7访问外网的两个常见问题及解答:
1、Q: CentOS 7无法连接外网,显示“Network is unreachable”,怎么办?
A: 这种情况通常是由于网关设置错误或路由配置不正确导致的,检查网络配置文件中的网关设置是否正确,使用ip route
命令查看路由表,确保存在到外网的默认路由,如果没有默认路由,可以使用ip route add default via <网关IP>
命令添加默认路由。
2、Q: 在虚拟机中运行的CentOS 7无法访问外网,即使网络适配器设置为NAT模式,为什么?
A: 在虚拟机中运行CentOS 7时,除了将网络适配器设置为NAT模式外,还需要确保虚拟网络编辑器中的NAT设置正确,包括子网IP、子网掩码和网关等,还需要检查虚拟机的网络配置是否正确,如IP地址、网关和DNS服务器等。