热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

VirtualBox虚拟机配置端口映射

配置端口映射让VirtualBox虚拟机可被其它主机访问纯属测试端口映射使虚拟机可被本地主机外访问的方法。主机:Windows7虚拟机:WindowsXP虚拟机软件:VirtualBox3.2.6在VirtualBox中添加了一个虚拟机,名为“WINXP”。安装完成虚拟机的XP系统后,在主机
配置端口映射让VirtualBox虚拟机可被其它主机访问

纯属测试端口映射使虚拟机可被本地主机外访问的方法。

主机:Windows7

虚拟机:Windows XP

虚拟机软件:VirtualBox 3.2.6

在VirtualBox中添加了一个虚拟机,名为“WINXP”。安装完成虚拟机的XP系统后,在主机中打开命令行,定位到VirtualBox的安装目录下。执行以下命令:

VBoxManage modifyvm “WINXP” ?natpf1 “guestssh,tcp,,8081,,8080″

其中WINXP为所需要端口映射的虚拟机名称,8081为主机中的端口,8080为虚拟机系统的端口,这三个参数可以根据你的情况修改。注意:中间有两个逗号的,不是笔误,而是中间有忽略的参数,即IP。

在虚拟机中安装tomcat,运行。(tomcat的端口为8080)

其映射到主机中的端口号为8081,因此我们可以用和主机相连的其它主机上用“主机IP:8081”来访问虚拟机中的tomcat应用。


Tag标签: virtualbox,端口映射,虚拟机


===============================================================================================

VirtualBox网络NAT方式的端口映射

===============================================================================================

VirtualBox下安装虚拟机,使用NAT的网络方式(默认方式),使用非常简单,不需要进行额外的设置(VmWare还需要将地址修改为静态ip),也不需要使用额外的驱动。在安装完系统后,直接就可以上网。

但是也存在一个问题,就是host主机和外网无法通过网络访问虚拟机。

这个问题可以通过设置“端口映射”的方法来解决,就是将虚拟机的某个端口(对应特定服务)映射到NAT路由上的指定端口,然后外网发送到路由上这个端口的数据,将直接转发给虚拟机的对应端口。

设置方式是使用VirtualBox的VBoxManage.exe程序,在VirtualBox的安装目录下能找到,设置分为三步:指定协议类型,设置虚拟机端口,设置对应的nat映射端口(以上操作通过端口名称来保证相互关系)

这是一个设置ssh服务的脚本(bat脚本,保证路径正确,直接运行):

set VBoxManage=..\VBoxManage.exe setextradata
set VServerName=UbuntuServer
set VHeader=VBoxInternal/Devices/pcnet/0/LUN#0/Config/
set VPortName=UbuntuServer_SSH

%VBoxManage% %VServerName% "%VHeader%%VPortName%/Protocol" TCP
%VBoxManage% %VServerName% "%VHeader%%VPortName%/GuestPort" 22
%VBoxManage% %VServerName% "%VHeader%%VPortName%/HostPort" 2222

详细的设置方法可以参见VirtualBox的手册,里面还说的比较详细

这里我说一个我在设置中遇到的小问题,上面这段脚本最早是从网上查到的,原来是设置http端口的映射,

我修改了路径,服务名称,端口名称等内容,但是忘了修改端口号就直接运行了,然后修改好端口号后又运行了一次啊,本来以为会出现两条设置结果(可在C:\User\your user\.VirtualBox\Machines\your machine下的xml文件中查看),正在担心不知道怎么去掉规则,可是发现其实只有后执行的设置,由此判断VirtualBox是会根据端口名称来匹配的,所以如果设置错了,只要保持端口,服务名称不变,重新执行就可以了

还有一点需要注意,上面命令中的“pcnet”是网络适配器的类型,需要根据实际选择的不同而不同,查看的方法是进入虚拟机的设置界面,选择网络,打开高级,在其中可以看到适配器的类型。如果是“intel/pro”,需用用“e1000”替换上面的“pcnet”,其他的请参见VirtualBox的使用手册(在安装目录下


推荐阅读
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
author-avatar
zhanglj-qiucm
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有