VirtualBox网络NAT模式的端口映射设置
VirtualBox的提供了四种网络接入模式,它们分别是:
1、NAT 网络地址转换模式(NAT,Network Address Translation)
2、Bridged Adapter 桥接模式
3、Internal 内部网络模式
4、Host-only Adapter 主机模式
其中NAT模式是最简单的实现虚拟机上网的方式,可以认为Virtual Host访问网络的所有数据都是由主机提供,但是却并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Virtual Host的存在。
Virtual Host与主机关系:
只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
Virtual Host与网络中其他Virtual Host的关系:
只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
Virtual Host与Virtual Host之间的关系:
相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
NAT方案优缺点:
笔记本已插网线时: 虚拟机可以访问主机,虚拟机可以访问互联网
笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网
But, 做了端口映射后,两种方式主机均可以访问虚拟机上的服务(如SSH Web DB 等)
譬如我需要用Secure CRT通过NAT方式连接到Virtual Box 的ssh服务
1 查看NAT网卡的地址
连接到在我的电脑上,NAT模式的配置是
IP:10.0.2.15
GW:10.0.2.2
DNS:10.0.2.3
2 查看设备名称
打开VirtualBox -> Machine -> Show log 搜索NAT关键字可以看到
00:00:02.043 [/Devices/e1000/0/LUN#0/] (level 4)
00:00:02.043 Driver <string> = "NAT" (cb=4)
3 配置端口映射
case 1 老版本的VirtualBox
新建bat文件,输入以下内容:
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/Protocol" TCP
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/GuestPort" 8080
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/shell/Protocol" TCP
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/shell/GuestPort" 22
VBoxManage.exe setextradata "Ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/shell/HostPort" 2222
其中http和shell为服务映射的名称, 可以自定义, Virtual Host的8080和22 端口映射到Host的8888和2222端口
运行中键入cmd进入控制台,切换到程序目录
cd C:\Program Files\Oracle\VirtualBox
执行bat文件并重启VirtualBox
另外也可以通过修改虚拟机目录下.xml的方式添加服务,参见
http://wenku.baidu.com/view/9f91900f7cd184254b35358d.html
case 2
新版的Oracle VirtualBox中VBoxManager的命令已经发生改变
可以用modifyvm参数设置端口映射
VBoxManage modifyvm <uuid|name>
[--name <name>]
&n
相关新闻>>
- 发表评论
-
- 最新评论 更多>>