电脑连接virtualbox虚拟机的方法

背景

在用vmware虚拟机的时候发现对amd的cpu支持不是很友好,于是转用了virtualbox平台。

虚拟机的网络需求主要有2点:1.能够上外网;2.个人电脑能够连接到虚拟机。

方案1:用桥接

这样虚拟机的网段跟电脑一致,能够上外网,个人电脑也能直接连到虚拟机。

**优点:**单张网卡

**缺点:**如果是笔记本,电脑换个网络,虚拟机的ip就会变。不够方便

方案2:NAT+仅主机网络

NAT负责连外网,仅主机网络用来电脑连接虚拟机

**优点:**仅主机网络ip不会变,个人电脑换个地方能直接连到虚拟机

**缺点:**双网卡,感觉不够完美。

我的方案:NAT+端口转发

**优点:**单张网卡;IP不会变;能上外网;个人电脑能够直接连。

其实就是只用一张NAT网卡,利用“端口转发”的功能来实现个人电脑连接到虚拟机。

这样实现了:只用一张不变IP的网卡,又能上网,电脑又能轻松连接。

设置路径:VirtualBox–管理(左上角)-- 网络 --选中一张网卡 – 端口转发。做配置。
在这里插入图片描述

命令行添加端口转发的方法

VBoxManage.exe,在VirtualBox安装目录下

创建端口转发规则如下:(powershll中)

 .\VBoxManage.exe  natnetwork modify  --netname NatNetwork  --port-forward-4 "ssh:tcp:[]:20094:[10.0.9.4]:22"
 其中部分参数需按实际情况来修改
  --netname 是nat网卡的名称,VirtualBox--管理(左上角)--网络 中看到的名称
  ssh是端口转发任务的名称
  20094是本地的端口
  10.0.9.4是虚拟机的ip
  22是虚拟机的ssh端口
命令行批量添加端口转发的方法

直接整个端口全添加了,后续创建虚拟机后就可以直接用了。

在gitbash中执行如下命令:(具体网络名称,ip地址根据自己的实际情况修改)

for i in {001..255}
do
j=`echo $i|sed 's/^0//g' | sed 's/^0//g'`
./VBoxManage.exe  natnetwork modify  --netname NatNetwork  --port-forward-4 "ssh${i}:tcp:[]:20${i}:[10.0.9.${j}]:22"
done

一次性添加了这么多端口转发,怎么删除呢?

答案:直接删网卡,重新建个nat网卡(跟删除的保持名称,网段一致)。

成果展示

通过ssh访问127.0.0.1:20004端口,可正常访问到虚拟机
在这里插入图片描述

业务访问怎么办

比如,要访问某个虚拟机的80端口。

方法1:加仅host访问的网卡,直接用该网卡的ip访问

方法2:添加端口映射

### 使用SSH与共享文件夹实现VirtualBox Ubuntu虚拟机与宿主机间的文件传输 #### SSH方式建立连接并传输文件 对于在VirtualBox中安装好的Ubuntu系统,当遇到文件拖放功能不可用的情况时,可以通过配置SSH服务来解决文件传输的需求。为了使宿主机能够通过SSH登录到虚拟机从而获取所需文件,需先确保Ubuntu已正确安装SSH服务器软件包。 ```bash sudo apt-get update && sudo apt-get install openssh-server -y ``` 完成上述操作后,还需确认防火墙允许SSH流量通过以及检查SSH服务状态以保障其正常运作[^1]。 #### 设置网络适配器以便于通信 为了让宿主机顺利地访问虚拟机上的SSH服务,默认情况下可能需要调整虚拟机的网络模式至桥接网卡(Bridged Adapter)或NAT网络(NAT Networking),具体取决于个人环境需求和现有网络架构。此步骤有助于获得一个独立IP地址给虚拟机使用,方便后续基于TCP/IP协议的服务调用[^4]。 #### 利用共享文件夹简化日常交互 除了借助SSH进行远程管理外,另一种更为便捷的方法是在VirtualBox里设定共享文件夹。这要求事先激活Guest Additions组件支持,并按照指引指定要映射的具体位置;例如命名为`win_shared`代表Windows端创建用来分享的数据集,而在Ubuntu一侧则会作为特殊挂载点呈现出来——通常位于用户的家目录之下名为`share`的地方[^3]。 一旦完成了这些准备工作,来自不同平台间的信息交换变得异常轻松:只需像对待本地磁盘那样处理目标资源即可达成目的。值得注意的是,在初次尝试读写新加入的空间之前,或许得给予适当权限许可才能免受限制困扰: ```bash sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) share ~/share ``` 以上命令实现了将VBOXSF类型的卷装载入用户空间的同时赋予当前使用者完整的控制权限[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值