图文详解VirtualBox端口映射

    blog迁移至: http://www.micmiu.com

主机电脑安装的是windows vista,安装的virualbox4.0,虚拟系统为ubuntu10.10,网络设置为NAT,在ubuntu系统里已经安装好ttserver的应用,采取端口映射,可以实现主机访问虚拟机的应用,比如ttserver(目前不能运行在windows系统上)。
有两种实现方法(以NAT模式为例):图形化设置、命令设置:
【一】、图形化设置
这种设置简单方便,选择需要设置的虚拟机,右击->设置->显示高级选项:
图文详解VirtualBox端口映射
点击按钮 Port Forwarding,
图文详解VirtualBox端口映射
设置相关说明:
  • Name:ttser_nm    这个可以随便设置的
  • Guest Port:21978  需要映射的虚拟机中应用程序的端口
  • Host Port:21978   映射到主机的端口

【二】、命令设置
这种设置方法有一点麻烦,首先需要先确认虚拟机的网络设备的名称,才能进行端口映射的下一步设置。
1、查看虚拟机设备名称
原来的virualbox都是使用PCNET作为虚拟网卡,而V3.2.4开始新建虚拟机的时候,虚拟的则是Intel的网卡,所以我们第一步需要确认下虚拟机的设备名称,选择需要修改的虚拟机,右击->日志:

图文详解VirtualBox端口映射

图文详解VirtualBox端口映射

如上图,点击查找按钮,输入关键字“NAT”,搜索到类似以下内容:
00:00:01.600 [/Devices/e1000/0/LUN#0/] (level 4)
00:00:01.600   Driver <string>  = "NAT" (cb=4)

其中: /Devices/e1000/0/LUN#0/ 即为虚拟机里网络设备的名称

2、VBoxManage命令设置端口映射
VBoxManage.exe在安装目录下X:\Program Files\VirtualBox\
在cmd命令窗口下,cd 切换到相应的安装目录下
早期版本V3.2.4之前,执行下面的命令即可
//-----设置
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/Protocol" TCP
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/GuestPort" 21978
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/HostPort" 21978

//-----清除
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/Protocol"
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/GuestPort"
>VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/e1000/0/LUN#0/Config/ttser_nm/HostPort"

命令相关说明:
  • "ubuntu"->对应于我们在virtualbox里设置的虚拟机名称
  • /Devices/e1000/0/LUN#0/->对应于我们在步骤一中搜索到的机设备名称
  • ttser_nm 可以任意取的
  • GuestPort是虚拟机中所启动服务的端口,HostPost是主机上的映射端口


V3.2.4之后命令变得简洁易懂:
VBoxManage modifyvm "ubuntu" --natpf1 "ttse_nm,tcp,,11978,,11978"

命令相关说明:
  • VBoxManage 修改vm配置 虚拟机名(Ubuntu) nat_port_forwarding(第1个网卡) "端口转发名(ttse_nm),协议(tcp),主机IP(略),主机端口21978,虚拟机IP(略),虚拟机端口21978"


以上方法均能实现端口映射,本人亲测通过。

-----------------------------------分-----------------------------------隔-----------------------------------线-----------------------------------

你可能感兴趣的:(windows,虚拟机,ubuntu,VirtualBox,端口映射)