全面的解决Centos7不能上网的问题
前记
最近打算学习Linux,但是安装好vm和centos7后。却发现centos7不能上网,在网上找了很多方法都不是很好用。最后还是找到了解决的办法,因此想将自己的方法留下来。帮助后面的朋友们。
首先看问题:执行service network restart命令后出现下面的错误:
Restarting network (via systemctl): Job for network.service failed because the control process exited with error code.
See “systemctl status network.service” and “journalctl -xe” for details. [失败]
根据提示输入systemctl status network.service命令后出现如下错误信息:
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 一 2019-11-25 10:14:59 CST; 12min ago
Docs: man:systemd-sysv-generator(8)
Process: 38946 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
11月 25 10:14:59 localhost.localdomain network[38946]: RTNETLINK answers: Fi…
11月 25 10:14:59 localhost.localdomain network[38946]: RTNETLINK answers: Fi…
11月 25 10:14:59 localhost.localdomain network[38946]: RTNETLINK answers: Fi…
11月 25 10:14:59 localhost.localdomain systemd[1]: network.service: control …
11月 25 10:14:59 localhost.localdomain systemd[1]: Failed to start LSB: Brin…
11月 25 10:14:59 localhost.localdomain systemd[1]: Unit network.service ente…
11月 25 10:14:59 localhost.localdomain systemd[1]: network.service failed.
11月 25 10:15:06 localhost.localdomain dhclient[38834]: DHCPDISCOVER on ens3…
11月 25 10:15:15 localhost.localdomain dhclient[38834]: No DHCPOFFERS received.
11月 25 10:15:15 localhost.localdomain network[38682]: 正在确定 ens33 的 IP …。
Hint: Some lines were ellipsized, use -l to show in full.
1安装前细节导致出问题 检查两项服务是否被停用了
在安装过程中,大家很可能忽略这个地方。
此处显示的是以太网被拔出。这个地方没有弄好,也会导致我们前言中的错误的。我们下面说一下如何解决这个问题。
1.1首先查看网络连接方式
选择菜单中的“虚拟机”,再选择“设置”,选择“网络适配器”,查看网络连接方式设置。这里我选择的是“NAT模式”。
1.2. 开启相关服务
在桌面选中“计算机”,左键“管理”,打开计算机管理窗口。
点击“服务和应用”,选择“服务”,找到VMware DHCP Service”和”VMware NAT Service“服务。
鼠标右击,选择“启动”
- 确认虚拟机网络连接
开启服务之后,通过网络配置可以看到已经连接了。说明问题解决了
此处参考的是一位博主的文章,原文链接如下:https://blog.csdn.net/weixin_38214171/article/details/85329042
我们最好要强调一下VMware DHCP Service”和”VMware NAT Service“服务
如果物理主机是使用路由器的网络环境,可以设置虚拟机网络适配器为桥接模式。
这样就不需要这个VMware DHCP service服务了,但是这时母机和我们的虚拟机是在同一个网段下的,这样我们的Linux也会占用一个地址。这样的话如果机器太多会导致IP地址不够用从而出现冲突。
VMware DHCP service这个服务是在虚拟机网络适配器为NAT模式下,给虚拟机提供ip地址的服务。如果物理主机是单机PPPOE拨号上网的环境,就需要这个服务和VMware NAT service(提供网络地址转换服务为虚拟机NAT网关)服务一同启动。
2 安装后的一些功能没有开启
2.1 查看自动连接服务是否开启
在终端输入cd /etc/sysconfig/network-scripts/
然后再输入ls,显示如下界面
其中ifcfg-enss33是网络配置文件,我们通过下面的指令进行修改 vi ifcfg-ens33
我们将ONBOOT更改为yes,由于我之前已经更改过。此处就不再改成为错误的no了。我们看一下ONBOOT这个是用来设置网络是否开机自动连接的,我们设置为yes这样就可以自己连接了。
修改完后,按下esc按钮,然后再输:wq,最后点回车键。保存修改并退出。
修改完成后,我们使用如下指令重启网络 systemctl restart network
2.2 网上还有其他的一些解决办法,仅供参考。其实对我而言用了没啥效果,不过还是记录一下吧。
2.2.1和 NetworkManager 服务有冲突
这个好解决,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。
2.2.2和配置文件的MAC地址不匹配
这个也好解决,使用ip addr(或ifconfig)查看mac地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:b8:e7:21 brd ff:ff:ff:ff:ff:ff
inet 192.168.65.141/24 brd 192.168.65.255 scope global dynamic ens33
valid_lft 1193sec preferred_lft 1193sec
inet6 fe80::cca2:d835:f93:e637/64 scope link
valid_lft forever preferred_lft forever
00:0c:29:b8:e7:21这个就是MAC地址了,将/etc/sysconfig/network-scripts/ifcfg-xxx中的HWADDR(如果没有就添加上)改成这个MAC地址
2.2.2虚拟机选择不正确
有些时候,你在vm中创建了一个32位的Linux空间,你却安装了一个64位的linux系统,这样也是不行滴。
后面这几种方法出自网络,地址为https://blog.csdn.net/dongfei2033/article/details/81124465