VMware CentOs8如何通过XShell连接虚拟机,及虚拟机无法ping通百度的解决

 更新时间:2024年01月02日 11:52:39   作者:闪光的回忆  
这篇文章主要介绍了VMware CentOs8如何通过XShell连接虚拟机,及虚拟机无法ping通百度的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

作者在win10系统下,使用VMware安装了Linux虚拟机,系统是CentOs8.2。

在使用中遇到了一些问题:

  • 虚拟机无法联网,无法ping通baidu.com,无法ping通主机
  • 虚拟机可以联网,可以ping通baidu.com,也可以ping通主机,但主机不能ping通虚拟机,请求超时。
  • 无法通过XShell连接虚拟机中的linux系统。

要逐一解决这些问题,需要对虚拟机及CentOS系统的IP进行正确设置:

  • NAT虚拟交换机的IP
  • VMnet8虚拟网卡的IP
  • CentOS系统的IP

本文的主要目的就是记录如何将虚拟机的Ip正确设置为静态IP。

静态IP的好处是可以便于xShell直连linux系统,避免Linux自动更换ip。

接下来进入正题:

1. 虚拟网络编辑器的设置

首先在Vmware的编辑菜单中,找到虚拟网络编辑器,进行如下设置:

设置虚拟网络编辑器

这里我们使用NAT(网络地址转换)模式,通过虚拟NAT和主机网卡进行连接,实现虚拟机联网。

切换到NAT模式后,首先取消勾选使用DHCP(目的是使用自定义的静态Ip),否则,每次上网IP地址可能会发生变化。

接下来,设置子网IP,图中的*** 是可变的,范围是[0~255],第一位范围是[192, 223],第四位是0。设置好后,记下子网Ip。

然后点击NAT设置

设置NAT

网关IP的前三位和子网IP保持一致,第四位为1~254的任意一位数,然后点击确定。

在192~223这个C类网络中,地址的第四位代表着主机号(主机地址),前三位代表着网络号(网络地址)。

  • VMware中的子网IP就是网络号(网络地址),其主机号为0,因此子网IP的第四位必须是0。
  • 此外,主机号为255的IP地址,叫做有限广播地址,这个无需声明,只需要记住在分配IP时,不要占用该地址即可。
  • 网关IP没有特殊的要求,它是VMware为NAT分配的一个IP地址,因为NAT在这里起到了虚拟交换机的作用,所以需要为其分配一个IP。它的主机号范围为1~254。

接下来将虚拟机切换为使用NAT模式:

点击虚拟机→设置→网络适配器→NAT模式

至此,虚拟网络编辑器中的NAT参数设置完成,接下来需要为虚拟机的适配器分配IP地址。

2. VMnet8虚拟网卡的编辑(虚拟网卡的IP分配)

在第一步中,我们使用了NAT模式来连接主机网络,在NAT模式下,虚拟机会自动创建一个主机虚拟适配器:VMnet8,这是虚拟机用来与主机通信的接口。

我们通过控制面板进入网络连接,或者直接Win+S搜索网络连接

如果开启了VM网络适配器,那么在里面我们可以找到已启用的VMnet8虚拟网卡(未启用的话,在虚拟网络编辑器中勾选选项即可)。

接下来右击VMnet8虚拟网卡,进入属性界面:

双击Internet协议4,为虚拟机设置静态Ip。

设置IP地址

在设置IP地址前,按Win+R进入cmd,然后键入 ping 刚刚设置的IP,如果ping不通,说明这个IP还没有被本机使用,可以分配个虚拟机;否则,就要换一个IP地址使用了。

IP地址前三位需要和NAT中设置的相同,第四位,需要避开已使用的地址(0 : 子网IP, 2 : 自定义的网关IP,255:广播地址),范围同样是1~254。

现在,虚拟网卡的IP地址也分配完了,接下来就是给虚拟机中的linux系统分配静态IP地址。

3. 为CentOs系统分配静态IP地址

我们登入Linux系统,然后在ifcfg-ens33文件中编辑IP地址。

不同版本系统的IP记录文件名称不同,存放位置也不同,这个需要自行百度查看。

CentOS8系统的操作如下:

键入如下命令,修改ifcfg-ens33文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

进入文件键入i进行编辑:

如图所示,进行如下操作:

  • 修改IP获取类型:BOOTPROTO=static
  • 修改开机启动网卡:ONBOOT=yes
  • 添加系统IP:IPADDR=***.***.***.***
  • 添加子网掩码:NETMASK=255.255.255.0
  • 添加网关IP=***.***.***.***
  • 添加DNS解析地址DNS1=8.8.8.8(或114.114.114.114)

然后,按esc退出编辑,键入:x回车进行保存并退出。

这时候,三处IP都设置好了。注意这三个IP不要冲突

接下来,键入

nmcli c reload

重启网卡。

再次尝试联网,ping baidu.com已经有通信了:

如果你的还是ping不通,可能是由于虚拟机的网络还未生效,通过命令reboot重启linux系统,然后就可以了。

配置好前三步后,可以通过命令ip addr查看Linux系统的Ip和端口号。

4. 尝试通过XShell进行连接

如果此时你可以通过主机命令行和虚拟机命令行互相ping通了,但仍无法通过XShell连接。那么除去密码输错的原因,最有可能的就是Linux系统没有开启SSH。

首先检测系统有没有安装Openssh:

yum list installed | grep openssh-server

我的已经安装了,如果你的什么都没有显示,可以通过yum install openssh-server命令进行安装:

安装完成之后,需要启动sshd服务,通过systemctl start sshd命令来开启。

开启后,通过命令systemctl status sshd来查看sshd服务的状态:

这是可以看到,端口号22也已经开启。

接下来,通过命令systemctl enable sshd将sshd设置为开机自动启动。

大功告成!再次尝试Xshell连接吧。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论