注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

篝火旁的匠人

篝火旁的匠人,开始了思考……

 
 
 

日志

 
 

VirtualBox 端口映射  

2009-07-29 22:19:07|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

     昨天在Windows XP系统通过VirtualBox虚拟机安装了Debian,作为平时练习的服务器。很明显,装完软件后,很棘手的一个问题就是要让外部访问服务器。

      VirtualBox是通过NAT(Network Address Translation 网络地址转换)来实现虚拟机对外部网络的访问,设置为通过 NAT 方式连接的一台虚拟机能像一台真正的计算机一样访问互联网,主机就是一只路由器。 在这种方式下,通过 VirtualBox 网络引擎,虚拟机透明地映射到外部网络。 但是NAT 方式不方便的是,很像是在路由器之后的一个专用网络,从外部互联网看来,虚拟机是无形和不能到达的;一般情况下是不可能在虚拟机上运行一个服务器,因为外部网络无法访问通过 NAT 方式连接的内部机。

    虚拟机从一个 VirtualBox 整合的 DHCP 服务器得到私有的网址。 这个网址对主机来说是一个完全不同的网络。一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,第二个网卡连接到专用网络 10.0.3.0,等等。默认得到的客户端ip(IP Address)是10.0.2.15,网关(Gateway)是10.0.2.2,域名服务器(DNS)是10.0.2.3,可以手动参考这个进行修改。
     客户机(即虚拟机)送出的网络帧被 VirtualBox 的NAT 引擎收到,抽取 TCP/IP 数据,再通过主机的操作系统(即安装 VirtualBox 的操作系统)重新发送出去。送到在主机上的一个应用程序,或者到位于主机同一网络的另一台计算机上,它看起来好象是安装在主机上的程序VirtualBox,通过一个属于主机的 IP 地址,把数据发送出去。VirtualBox  倾听到数据包裹的回复,通过客户机的私人网络重新包装和发送往客户机上。

     为了让外部网络访问虚拟服务器,只有设定端口映射(转发)。在设置一个虚拟机的服务(比如SSH服务)后,通过使用命令行工具 VboxManage 代理。假如需要在虚拟机的服务端口是22,然后决定在主机上确定一个端口2222(通常但不总是想要使虚拟机和主机使用同一个端口,但必须保证能使用在主机上并且没有准备用来提供其他服务的端口)。接下来使用VBoxMangage执行端口映射的命令:

VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP

VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22

VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222

说明:VboxManage 是一个命令行程序,请查询你的 VirtualBox 安装目录,"Debian" 是虚拟主机名。guestssh 是一个自定义、任意设置的名称,pcnet是虚拟机的网络连接接口,在虚拟机配置中,可以看到!通过上面的三个命令,把虚拟机的 22 端口 转发到主机的 2222 端口。

    接下来,在虚拟机上安装完apahce后,又要进行另外一个端口映射设置了。有了上面的经历,现在很easy了!

  评论这张
 
阅读(1959)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018