最近用vmware搭建了个本地的Centos Stream虚拟机,刚开始设置完虚拟网络,都可以正常连接。后来,我dnf update,更新了Centos Stream系统,发现连接不上网络了。右上角设置界面的有线连接直接消失了,无法恢复。后来,通过查找资料,最终解决了网络问题。
整个解决过程,已经过程中涉及到的一些代码发布如下,参考资料在文末列出:
初步解决方案
命令行输入如下命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
摁下i键,进入编辑模式,修改以下部分:
- ONBOOT改为yes
- BOOTPROTO改为static
- 结尾新增如下代码:
- IPADDR=192.168.194.131
- NETMASK=255.255.255.0
- GATEWAY=192.168.194.2
- DNS1=192.168.50.1
以上具体ip,需要在vmware虚拟网络编辑器里查找NAT模式的ip,对应填入即可。DNS1为路由器后台地址,IPADDR为你想要设置的centos的ip。不过,我设置了131,最后实测为128。
修改完后,摁下esc,退出编辑模式。
由于可能存在文件只读问题,所以输入如下命令,保存文件:
:w !sudo tee %
输入密码即可保存文件,接着输入如下命令退出vim编辑器:
:qa!
当然这种只读文件,也可以直接通过如下命令来编辑:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
编辑完成后,摁下如下命令即可保存并退出:
:wq
reboot重启虚拟机
输入如下命令并输入密码即可连接网络
sudo dhclient
以后每次开机都要输入sudo dhclient才可以开启网络。你可以通过ifconfig命令,来查看网络信息,是否包含ens33的网卡,已经查看相应的ip信息。或者通过ping baidu.com来查看是否正常!
一些尝试代码
到此该问题就得到了解决。下面再列出一些过程中,我折腾过的其他代码:
我尝试过systemctl restart network.service,得到没有该程序的结果。最终发现,正确的网络重启命令应该是
systemctl restart NetworkManager
你需要查询网络服务是否开机自启动,可以通过如下命令:
systemctl is-enabled NetworkManager
如果发现结果是disabled,那么你需要输入如下命令:
systemctl enable NetworkManager
输入如下命令查看网卡是否被NetworkManager管理
nmcli device status
得到如下结果:
DEVICE TYPE STATE CONNECTION ens33 ethernet 未托管 -- lo loopback 未托管 --
所以,这就是为啥每次开机都需要运行一下sudo dhclient命令的原因。
可以通过如下方式,将网卡托管于NetworkManager管理:
nmcli device set ens33 managed yes
不过,我实测没有解决。
期间我还发现ifconfig有个virbr0网卡,这是centos的虚拟网卡,可以通过以下命令删除(该网卡没啥用)
ifconfig virbr0 down systemctl disable libvirtd.service
最终,只保留了ens33跟lo网卡。
完美解决
后来,我又发现一篇教程,简直完美解决了我的问题。因为我在尝试使用命令
sudo nmcli connection up ens33 ifname ens33
会报错如下信息:
Connection 'ens33' is not available on device ens33 because device is strictly unmanaged
其实这也是为啥要开机运行sudo dhclient命令的原因,就是因为它不能管理了。
实际上,后来,我通过以下命令得到了解决:
输入如下命令:判断网络托管状态
nmcli n
显示disabled,因此执行如下命令:
sudo nmcli n on
开启托管,再次重启网络服务:
systemctl restart NetworkManager
然后,我ssh直接掉线,返回Centos虚拟机,有线连接那几个字竟然出来了,ip也变成了192.168.194.131,而不是128了。
到此完美解决问题。本文可能有些乱,但这就是我一步一步接近问题的过程,如果你有哪里不懂,可以评论区询问,或者论坛交流处提问,均可。
参考文章如下:
- https://blog.csdn.net/weixin_43669941/article/details/107893322
- https://www.cnblogs.com/yadongliang/p/14124031.html
- https://www.cnblogs.com/jiawei2527/p/10778938.html
- https://www.cnblogs.com/cloudos/p/8288041.html
- https://www.jb51.net/LINUXjishu/608816.html
- https://blog.csdn.net/akipa11/article/details/81414875
付费内容:
[vk-content]
就当支持我了,这部分没啥核心内容,其实最重要的就是以上标题为完美解决的那部分内容。搞完后,直接就出来有线连接了。不过,我的情况是升级完系统出现了有线连接消失的问题,如果你刚装完centos就没网,可能要跟着教程,一步一步操作,看看是啥情况了。如果要自己配置ip,要记得ip跟vmware虚拟网络哪里的nat模式的ip对应好。
[/vk-content]
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/1659.html