背景

在用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是虚拟机的ip22是虚拟机的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:添加端口映射

电脑连接virtualbox虚拟机的方法相关推荐

  1. 电脑运行VirtualBox虚拟机总是提示0x00000000错误的解决方法

    最近有用户发现在电脑中运行VirtualBox虚拟机,总是提示0x00000000错误"0x00000000指令引用的0x00000000内存该内存不能为written,",这是由 ...

  2. Win10系统电脑连接打印机的设置方法

    打印机需要连接电脑后才能正常使用打印等功能,如果电脑没有连接打印机的话那就无法打印文件那些了.现在很多地方都是连接共享打印机了,那么Win10系统电脑怎么连接打印机呢?下面小编就教教大家Win10系统 ...

  3. Xshell7连接VirtualBox虚拟机

    今天学习Linux的时候想ping网发现VirtualBox虚拟机的ip地址是这种10.0.2.15格式的. 然后在网上找了教程可以连接Xshell因此在这里分享一下过程. 1.安装sshd服务 打开 ...

  4. 惠普m1005连接电脑步骤_电脑连接电视机详细步骤方法图文

    电脑连接电视机有什么好处呢?小编想到了几点,那就是屏幕大,而且可以在电视机上使用网络看到自己想看的剧.还有就是可以更多的人一起做着来看.所以总的来说电脑连接电视机还是好处比较多的.下面我就来告诉你们电 ...

  5. 怎么检查计算机网络是连接,怎么检测网络打印机是否与电脑连接成功【检测方法】...

    想必不少宝宝和以前的小编一样,在用网络打印机的时候,有时候能打印,有时候却打印不了.那么如何 检测网络打印机是否与电脑连接成功?跟随小编往下看. 系统反反复复告知"无法打印",让工 ...

  6. 远程连接 VirtualBox 虚拟机

    1. 打开虚拟机,找到 [设置]-->[网络]--> [网卡1].确认以下设置项,如果不一致请更改. 连接方式:网络地址转换(NAT) 勾选接入网线 2. 点击[端口转发],新增一条记录: ...

  7. Windows系统上3种连接Docker虚拟机的方法

    1.Docker Quickstart Terminal 打开 "Docker Quickstart Terminal" 然后输入 $ docker-machine ssh < ...

  8. 电脑连接信捷PLC方法

    1. 以XC系列为例,需要专用的信捷PLC下载线 2. 打开PLC编程软件,把串口线连接PC和PLC.,并查看端口:我的电脑->设备管理->串口(端口),以端口5为例 3. 连接PLC:选 ...

  9. 利用Excel内置的VBA功能获取电脑连接WiFi的IP方法

    步骤1:打开Excel,点击"开发者"选项卡.如果你没有看到"开发者"选项卡,请先启用它.可以通过以下步骤启用: 点击"文件". 选择&qu ...

最新文章

  1. 2008php多版本共存,lnmp安装多版本PHP共存的方法详解
  2. Python zipfile 压缩文件夹
  3. uuid怎么获取_我们经常说的限流应该怎么做?
  4. 解析JVM线程同步机制
  5. Visual Studio将原生支持WSL 2
  6. Unicode简介【转】
  7. java工作流引擎Jflow流程事件和流程节点事件设置
  8. android fragment学习4-底部布局扩展TabLayout
  9. iframe 父级元素查找
  10. QThread(一)_vortex_新浪博客
  11. 读完《Effective Java》后我淦了 50 条开发技巧
  12. caffe linux下面的调试mnist遇到的问题
  13. oracle regexp_instr,Oracle REGEXP_INSTR 用法
  14. 北斗对时服务器(GPS卫星同步时钟)分析北斗与GPS区别
  15. 七天玩转Redis | Day5、Java操作Redis
  16. 京东jos 获取授权及php-sdk的使用示例
  17. 树莓派模拟量输入范围_模拟量输入值超过了em235的量程范围,可以吗?-工业支持中心-西门子中国...
  18. spark 并行处理_如何使用Spark集群并行处理大数据
  19. 爱尔兰考克大学计算机排名,你想知道的爱尔兰大学排名
  20. 骁龙870和天玑1000+哪个好 天玑1000+和骁龙870对比,哪个更强

热门文章

  1. C++:const VS define
  2. 06_Influxdb+Grafana绘图基础
  3. boolean android.content.SharedPreferences.getBoolean(String key, boolean defValue)
  4. elementUI多选框组件:多选数组,取值问题
  5. 如何快速启动MongoDB服务?
  6. 录像带转存电脑的方法_《波西亚时光》录像带使用方法介绍
  7. 向日葵企业版 v2.0.0.17075
  8. c语言编译时间,C语言中关于时间的函数
  9. vite新建vue3项目采坑,官网流程之路,vite+vue3+elementpuls
  10. 学习ESLint的规则配置,ESLint语法检测配置说明