这几天在Xshell连接虚拟机这个问题上头疼了好长时间,原因是我在虚拟机内的eth0网卡没有分配IP地址,从而导致无法连接XShell,今天解决了这个问题,做一下记录。
首先我使用的是微软的Hyper-V虚拟机,话说VMware用户应该不会遇到这种坑坑把.....
当我们创建hyper-v虚拟机并装入cent os系统后,我们首先配置一下虚拟交换机管理器:
进入虚拟交换机管理器后:
我们需要建立一个外部的虚拟交换机以便虚拟机可以访问物理网络,并且可以与宿主机交互。
我创建了一个WAN的外部虚拟交换机:
创建成功后,我们把已经创建好的虚拟机的网络适配器设置为WAN:
此时打开虚拟机系统,输入ifconfig查看一下ip地址:
我们可以看到eth0的inet地址,用这个地址在XShell中创建连接便可以使XShell与虚拟机系统连接成功
创建之后确定,并且连接,连接成功:
现在我们就可以在XShell中开始操作了!
但我在第一次获取虚拟机ip时,eth0网卡并没有IP显示,看了很多博客文档后,尝试了一些方法:
1.
我们先进入network-scripts目录下,并查看目录内容:
第一个便是我们的eth0网卡,我们进入网卡设置:
如果ONBOOT为NO,输入命令进入修改,输入i开启编辑模式,改为yes,
修改完后etc退出,并输入:wq,之后reboot重启。
至此再打开虚拟机系统应该就会出现eth0的ip。
在笔者操作期间,XShell突然断开连接,回到虚拟机中输入ifconfig发现ip地址变了,由于第一次创建的的虚拟交换机是WLAN所使用的Intel网卡,笔者决定再创建一个外部的基于以太网的虚拟交换机,并使用该网卡。
与上面创建虚拟交换机的步骤一样,只不过选择了以太网所使用的网卡:
这样XShell没有再出现过断开连接的问题,但这也存在一个问题,由于笔者使用的为笔记本,当断开以太网连接时就无法使用了。
综上:我的解决办法还是存在一些问题,希望有大神可以帮解决一下......
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在我找解决方案时,认识到了桥连接和NAT连接方式,我们使用WLAN建立外部虚拟交换机时会自动为我们搭建网桥,进行桥接:
这样我们在以太网断开时也可以使XShell连接虚拟机,但存在我上面提到的问题XShell有时候会莫名断开连接,所以解决方案并不完善。
此外我在MSDN中看到关于NAT设置的文档,但NAT连接貌似又不能访问物理网络,有兴趣可以看一下MSDN文档,链接给出:https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/user-guide/setup-nat-network
总之折腾了两天,这个坑还是没有完全解决,但也能凑乎着用。。。。。