VirtualBox 一直以来都是支持 NAT 端口转发,在 3.2.0 版本里,更改了设置办法 , 命令非常的简单:
VBoxManage modifyvm "VM name" --natpf1 "guesthttp,tcp,192.168.1.8,8800,10.0.2.15,80"
注解:
所有的连接请求将会从 192.168.1.8 这个 IP 的 8800 端口转发到 Vm name 虚拟机 的 80 端口上。
VBoxmanage 命令在virtualbox 安装目录下面
Vm name :虚拟机的名称
--natpf: 转发的选项,后面的 1 是第几个虚拟网卡
guesthtt p:是转发名称,实际上任意写
tcp: 协议,不解释了
1 92.168.1.8 :host 主机的 ip 地址,一般写空就可以
2222 :host 主机的端口号
10.0.2.15 :虚拟机的ip 地址,一般写空就可以
22 :虚拟机的端口号
-------------------------------分割线 -------------------------------
测试一下
环境:
我在我的笔记本上安装了virualBox, 并且安装了一个叫 “xp1” 的虚拟机, 。
我的笔记本( HOST ) ip :192.168.1.8
虚拟机(xp1) : xp1的网络连接方式使用了 virtualbox 默认的 Nat 方式 ,并且安装了 appache httpd server
目标: 当我在网址上打上:8800 的时候,请求自动转到虚拟机上面
步骤:
1、设置前需要关闭 xp1 虚拟机,要不设置不成功。再在 host 上面打开 cmd, 切换到 virtualbox 安装目录,运行命令:
VBoxManage.exe modifyvm "xp1" --natpf1 "guesthttp,tcp,,8800,,80"
2、重新打开 virtualbox xp1, 开启 appache 服务器
3、在浏览器中输入 : :8800,出现虚拟机 xp1 的 web 服务页面
至此,xp1的http服务已经暴露在局域网了。通过上面的描述可以看到在xp1版本中端口映射已经做得比较简单,并且非常完善了。