克隆Linux虚拟机不能联网问题
我在克隆虚拟机时,出现一些网络能联通外网,一些不能的情况,在网上查找了好多的解决办法,感觉什么情况都被我尝试了一下,最终将我踩过的坑写一遍博客记录一下吧。555~
克隆虚拟机我就做了以下几项工作:
-
找一台需要克隆的虚拟机先关闭,然后点击克隆
-
进入/etc/sysconfig/network-scripts/ifcfg-ens33文件中,修改BOOTPROTO=“static”,DEFROUTE=“yes”,
IPADDR=192.168.31.102TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="a558be45-4848-48af-8b3f-01ab296925fb" DEVICE="ens33" ONBOOT="yes" #IP地址 IPADDR=192.168.31.102 #网关 GATEWAY=192.168.31.2 #域名解析器 DNS1=192.168.31.2
-
修改主机名称。
vim /etc/hostname
-
配置Linux克隆主机名称映射hosts文件,打开/etc/hosts,添加以下内容
vim /etc/hosts
-
重启虚拟机
reboot
当我尝试ping www.baidu.com 时,出现ping不通的情况,也ping不通主机,先在网上查找解决办法。
解决一:更改MAC地址
解决二:在网上看到一篇csdn大神亲测有效的解决办法
打开终端,执行下面的命令
sudo mv /var/lib/NetworkManager /var/lib/NetworkManager.bak
然后重启虚拟机
reboot
能够解决问题,但是不知道问题根源在哪里,而且我出现了这台好了,之前能ping网的虚拟机突然又不行了。再次尝试这个方法,后面没解决。
解决三:检查ifconfig网络服务
在我不能联网的虚拟机上查看ip,出现的是下面的内容。没有看到了ens33
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:04:62:11 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
可能出现的问题:
1.网络接口没有启动
#启动网络接口 sudo ip link set ens33 up
2.网络服务没有启动,查询网络状态
#重新启动网络服务 sudo systemctl restart network #查看网络状态 systemctl status network.service
出现报错:
[root@hadoop102 ~]# sudo systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
[root@hadoop102 ~]# 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 三 2023-11-29 21:14:29 CST; 1min 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 2544 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 network[2544]: RTNETLINK answers: File exists
11月 29 21:14:29 hadoop102 systemd[1]: network.service: control process exi...1
11月 29 21:14:29 hadoop102 systemd[1]: Failed to start LSB: Bring up/down n....
11月 29 21:14:29 hadoop102 systemd[1]: Unit network.service entered failed ....
11月 29 21:14:29 hadoop102 systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
network服务启动不了!!首先保证/etc/sysconfig/network-scripts目录下的ifcfg-xxx(每台机器不一定相同)没有错误(如果你改动过的话),这里的错误指的在更改过程中因为手误敲错字母之类的。
解决办法:和 NetworkManager 服务有冲突,直接关闭 NetworkManger 服务
#1.关闭NetworkManger 服务
service NetworkManager stop
#2.禁止开机启动
chkconfig NetworkManager off
#3.重启
reboot
重启后,发现我的虚拟机都能ping网络了。
当然如果在网络服务方面还是没有解决的话,可以去github上尝试其他解决办法,我的解决办法是在https://github.com/hanah0310/Problem-summary/issues/111中找到的,还有别的解决方法。