首页 > 代码库 > 使用NAT模式上网的VirutalBox虚拟机

使用NAT模式上网的VirutalBox虚拟机

问题描述:

在VirutalBox中安装了CentOS操作系统,物理主机没有使用交换机或者是路由器等设备。

 

需求:

在物理机Windows里可以使用ssh连接虚拟机,并且可以访问虚拟机提供的web服务。

 

前言:

一般情况下,在Windows里使用VirutalBox虚拟出来的Linux虚拟机的网络设置应该使用桥接的方式,这样虚拟机和物理机器,可以并行的存在。

处于同一局域网可以相互Ping通,但前提是物理机器使用了交换机或者是路由器,如果没有使用这些设备的话,这两个系统就没办法简单的互Ping了。

 

解决办法:

VirtualBox设置在NAT模式下的端口转发规则

1,打开VirtualBox,右击Linux虚拟机,选择设置选项。在设备面板中,选择网络,网卡1连接方式为网络地址转换NAT,点击高级,显示高级设置,如下图:

2,点击端口转发按钮打开端口转发规则列表,可以添加或删除规则。

规则中一些术语的解释:

主机:物理主机系统

子系统:VirtualBox虚拟出来的系统

主机端口:物理主机系统的端口,将此端口转发到子系统端口

子系统端口:虚拟机子系统的端口

下面以添加SSH连接规则为例:

点击右边的绿色加号按钮,规则列表中就会添加一条规则。更改其名称为ssh(这个名称可以随便写的)。协议选择TCP。主机IP和子系统IP留空不用填写。 主机端口填写2222,也可以更改为其它端口,只要不与其它端口冲突即可,物理主机SSH连接虚拟机时将使用此端口。子系统端口填写22,因为SSH连接 默认是使用22端口的,所以这个是不能随意填写的,例如最常用的像http协议的话默认是80端口,而ftp协议默认是21端口。填写完毕,点击确定按钮保存设置。

打开Linux虚拟机,安装SSH服务并开启,关闭防火墙。在物理主机Windows系统里就可以使用Putty或者SecureCRT等软件连接 Linux虚拟机了,SSH地址写localhost或127.0.0.1,端口填写刚才在Virtualbox设置端口转发规则中的主机端口,上例中是使用了2222。如果没有连接成功,请检查Linux虚拟机是否已经安装并开启SSH服务,并要关闭防火墙。