最近发现Linux重新开机后无法上网,不仅不能ping通windows主机也不能上外网。

ifconfig后eth0也没有分配IP地址,总之各种问题都被我碰到了。现在来一一解决!

1、没有分配到IP地址


开机后联网图标上有叉叉,ifconfig后eth0没有分配到ip地址,如图:




无法访问linux 上nginx linux无法访问网站_解决Linux无法上网的各种问题




原因:虚拟机的网络设置错误,点击VMware下的虚拟机->设置,选择网络设置。里面有3个选项:


桥接模块:Linux虚拟机可以自动分配到IP地址,外网可以访问虚拟机,这种情况需要保证路由器能够提供多个IP。


NAT模式:Linux虚拟机和主机共用一个外网的IP地址,Linux和主机也可以相互访问,但是虚拟机对外网电脑不可见,这种情况下适用于IP地址有限,比如说校园网中。


主机模式:主机只和Linux连接在一起,使用于主机无法上网的情况。



一定要根据自己的需要设置好对应的模式。设置好后重启。



2、开机后总是无法上网


首先重连网络,运行


#service network restart


出现这种情况




无法访问linux 上nginx linux无法访问网站_DNS_02



第一个错误是NetworkManager和eth0冲突,关掉前者,运行:


#service NetworkManager stop


输入service network restart 发现第一个错误解决




无法访问linux 上nginx linux无法访问网站_解决Linux无法上网的各种问题_03




然后关闭虚拟机,在VMware编辑里,打开虚拟网络编辑器,恢复默认设置。重新开启虚拟机(这一步可以和上一步一起做)


运行:


#ifconfig


可以看到eth0已经分配到ip地址了



无法访问linux 上nginx linux无法访问网站_外网_04




完成后,主机ping一下这个IP地址肯定是可以ping通的。然后开心的打开火狐浏览器上网,发现竟然不能上网。





3、可以ping通,但是无法上外网


错误提示如下:



无法访问linux 上nginx linux无法访问网站_DNS_05




首先看看主机能否上外网,发现是可以的


然后看看虚拟机能不能ping通外网,发现也是可以的。




无法访问linux 上nginx linux无法访问网站_无法访问linux 上nginx_06




那么问题就是DNS服务器没配置正确,首先查看主机里的DNS服务器是多少,点击开始->运行->cmd,然后在命令框下输入#ipconfig /all,如图




无法访问linux 上nginx linux无法访问网站_解决Linux无法上网的各种问题_07




记录下2个DNS地址,然后在虚拟机里设置DNS地址,这里有三种方法。



3.1 方法1


运行:


#vi   /etc/resolv.conf



在里面输入上述DNS地址中的其中一个



无法访问linux 上nginx linux无法访问网站_解决Linux无法上网的各种问题_08




保存退出后,这时就能上网了。



3.2 方法二


运行:


#vi  /etc/sysconfig/network-scripts/ifcfg-eth0


添加DNS



无法访问linux 上nginx linux无法访问网站_无法访问linux 上nginx_09




保存后退出,注意这里要重启后才可以上网。




3.3 方法三



点击右上角的VPN,选择配置VNP,根据自己的情况,选中有线或者无线网卡,然后点击编辑,在IPV4配置里,添加上DNS地址:



无法访问linux 上nginx linux无法访问网站_无法访问linux 上nginx_10




注意这里也需要重启才能上网。