最近跟着老韩的课在学Linux,中途参加了个比赛,有一阵子没开Linux。昨晚刚想打开课程接着看,发现Xshell和Xfpt怎么都连不上了,怪事儿。折腾了一晚上,重新连接成功!
话不多说,接下来送上我解决的过程:
一.排查ping的问题
遇到问题第一时间想的是:是不是虚拟机网络连不上了?
因为我的Linux上装的有火狐所以直接打开网页来看看,果不其然,报错了。
“请检查您的网络连接”
没有安装火狐的同学们也没有关系,可以直接尝试ping百度
ping www.baidu.com
若不成功,会提示“www.baidu.com为未知地址”
若成功则会正常发送数据包。
问题解决:
打开VmWare 编辑→虚拟网络编辑器
依次点击“VMnet8”-“NAT设置”,进入如下界面:
记住这两个属性,记不住的截图保存,方便后续在Linux中进行配置文件的修改。它们对应的是netmask和gateway的值。
来到我们的Linux虚拟机中,打开终端,输入
vi /etc/sysconfig/network-scripts/ifcfg-ens33
注:最后的“-ens33”有的人的网卡不一样,有的人的网卡可能是eth0
按“i”键进入插入模式
照下图所示进行修改
修改完成后“esc:wq”
保存并退出
接下来运行该指令
service network restart
重启网卡,顺利的话此时便可以ping通了。
但也有特殊情况:网卡重启失败
很不幸,我也遇上了这种情况。
二. 解决网卡重启失败问题
执行上述“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. [失败]
那么根据我在网上搜索的可能出现的问题及解决方法,可能性最大的有如下三点:
问题解决
1.和 NetworkManager 服务有冲突
解决方式也非常简单粗暴,直接关闭 NetworkManger 服务避免自启动就好了。
关闭NetworkManger服务命令
service NetworkManager stop
禁止开机启动
chkconfig NetworkManager off
运行完成后重启虚拟机即可
(我就是这么解决的,亲测有效)
2.和配置文件的MAC地址不匹配
这个问题也好解决,使用
ip address
或
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地址
3.设定开机启动一个名为NetworkManager-wait-online服务
命令为
systemctl enable NetworkManager-wait-online.service
由于我的问题已经解决了所以就没有进行尝试,1 2都修改过还是没有解决的朋友可以尝试一下。
祝大家编程顺利,bug退散!