VirtualBox虚拟机和Mac或Win主机之间网络相互通信

这里有两种方法可以使虚拟机和主机之间通信。

一、四种网络接入模式

在做相互通信时,我们先了解下VirtualBox的提供了四种网络接入模式,它们分别是:

  1. NAT 网络地址转换模式(NAT,Network Address Translation)
  2. Bridged Adapter 桥接模式
  3. Internal 内部网络模式
  4. Host-only Adapter 主机模式

VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式。要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这4种方式的区别:

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

二、NAT连接

我使用 virtualBox 安装Centos,但是在虚拟机进行操作很不方便,虚拟机和宿主机复制粘贴很不方便,以及界面都不是很好看,所以,这里考虑使用 ssh 本地连接虚拟机进行操作。

(1)、首先在虚拟机中ping一下看连上网没有,如果没有连上网,ssh无法访问:)
(2)、vbox创建时的网络选取的是NAT连接(网络地址转换),所以我们只需要改变端口就可以了,我们可以将自己主机的端口映射到22端口上(ssh默认22端口),这样我们可以访问localhost就能连上虚拟机了。

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

如果你的2222端口没有被占用的化,这样就设置好了。

然后设置服务器的sshd服务,一般都会自带,如果没有的话可以用包管理器安装 然后启动的服务

/etc/init.d/sshd start

(3)、ssh连接:

➜  ~ ssh -p 2222 corwien@127.0.0.1

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

OK,这样我们就可以在本机主机上连接到虚拟机上了

参考文章:ssh连接到虚拟机的一般方法

这种方法可以访问主机的网络,并利用端口转发实现相互通信,但还是比较麻烦。

三、桥接

使我们的宿主机Mac和虚拟机在同一个网段,可以建立相互通信访问,这里我们选择使用桥接的方式进行连接。

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

我们使用命令ipconfig查看虚拟机的IP地址:

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

我们再使用命令ipconfig来查看Mac主机的IP地址:

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

通过桥接,主机IP为 192.168.1.102, 虚拟机IP为192.168.1.103,即在同一个局域网内,所以,两个可以相互通信。

ssh测试

在主机MAC端使用ssh连接虚拟机服务:

➜  ~ ssh corwien@192.168.1.103

四、文件共享

《VirtualBox虚拟机和Mac或Win主机之间网络相互通信》

[root@corwien developer]# yum install virtualbox-ose-guest-utils
[root@corwien developer]# mount -t vboxsf Code /developer/share/

相关文章:
VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置
Mac系统VirtualBox中CentOS 7.2启用共享文件夹
mount: unknown filesystem type ‘vboxsf’ centos ubuntu 处理方案

    原文作者:Corwien
    原文地址: https://segmentfault.com/a/1190000012756506
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞