从VirtualBox虚拟主机访问NAT客户机的方法

转自:http://www.jb51.net/os/other/352995.html

VirtualBox对虚拟机支持几种不同的网络方式,其中一种是NAT网络。当虚拟机启用NAT后,VirtualBox会自动在虚拟机和主机之间进行网络翻译,因此你不必在虚拟机和主机之间配置任何东西。这也意味着NAT中的虚拟机对于外部网络以及主机本身是不可见的。这会在你想要从主机访问虚拟机时会产生问题(比如SSH)。

如果你想从VirtualBox的NAT环境的虚拟机,你可以在GUI或者命令行下启用VirtualBox NAT的端口转发。本篇教程将会演示如何通过启用22端口转发而从主机SSH连接到NAT环境的客户机。如果你先想要从HTTP访问NAT的客户机,用80端口代替22端口即可。
通过GUI配置VirtualBox端口转发

在VirtualBox中选择你想要访问的虚拟机,打开虚拟机的“设置”。点击左侧的“网络”菜单,点击网络适配选项的“高级”。

点击“端口转发”按钮

你会看到一个配置端口转发规则的窗口。点击右上角的“添加”图标。

就会看到像下面那样的转发规则。

Name: SSH (可以是任意唯一名)
    Protocol: TCP
    Host IP: 127.0.0.1
    Host Port: 2222 (任何大于1024未使用的端口)
    Guest IP: 虚拟机IP
    Guest Port: 22 (SSH 端口)

端口转发的规则会自动在你启动虚拟机的时候启用。为了验证。可以在你启用虚拟机后检查端口2222是否被VirtualBox开启了。

复制代码

代码如下:

$ sudo netstat -nap | grep 2222

现在端口转发可以使用了,你可以用下面的命令SSH到虚拟机。

复制代码

代码如下:

$ ssh -p 2222  <login>@127.0.0.1

发送到127.0.0.1:2222的登录请求会自动被VirtualBox翻译成10.0.2.15:22,这可以让你SSH到虚拟机中。
通过命令行配置VirtualBox端口转发

VirtualBox有一个称为VBoxManage的命令行管理工具。使用命令行工具,你也可以为你的虚拟机设置端口转发。

下面的命令会为IP地址为10.0.2.15的虚拟机设置一个名字为"centos7"的端口转发规则,SSH的端口号为22,映射到本地主机的端口为2222。规则的名字(本例中是SSH)必须是唯一的。

复制代码

代码如下:

$ VBoxManage modifyvm "centos7" --natpf1 "SSH,tcp,127.0.0.1,2222,10.0.2.15,22"

规则创建之后,你可以用下面的命令来验证。

复制代码

代码如下:

$ VBoxManage showvminfo "centos7" | grep NIC

时间: 2024-11-04 10:33:26

从VirtualBox虚拟主机访问NAT客户机的方法的相关文章

ubuntu下virtualbox 虚拟xp 访问USB设备

 Ubuntu安装虚拟机,实现文件和USB的共享 Ubuntu下virtualbox 虚拟xp 访问USB设备

nginx实现虚拟主机ssl加密,注意此方法只能在公司内部使用

实现虚拟主机ssl加密,注意此方法只能在公司内部使用 1,生成证书及私钥 - 进入/etc/pki/tls/certs目录 cd /etc/pki/tls/certs - 执行make +证书名,"注意:文件后缀很重要,输入什么将生成什么文件" make a.crt #.crt后缀,会生成一个a.crt证书文件,a.key私钥文件 "注意:这里生成私钥文件默认需要输入密码,如果不需要密码有两个办法 ①,修改/etc/pki/tls/certs/Makefile文件 将%.ke

结合http详解基于域名的虚拟主机访问详细原理及过程

服务器如何响应 [[email protected] blog]# netstat -lntup|grep 80 tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5784/nginx 启动nginx服务,系统就监听了本机的80端口(80端口是本机的所有网卡),所以只要客户端请求任意一块网卡的IP 80端口,nginx都会响应,客户端请求任意一块网卡ip的80端口,ngi

xampp如何设置多虚拟主机访问

D:\xampp\htdocs\project\TPDev\abc 如果我想访问project/目录,地址栏:localhost/project是不是很麻烦?直接pj.com是不是更简单一点!直接进入操作步骤: 前提:1.会安装xampp 2.前两步是在关闭apache下进行的 1.添加httpd-vhosts.conf虚拟主机文件 打开文件,在最后添加一段话: <VirtualHost *:80>                            ServerName pj.com  

VirtualBOX中的Fedora 25 客户机如何全屏化显示?如何安装增强工具?

首先保证你已经能打开在vbox中安装的Fedora 25. 显示全屏化的时候,却是一个分辨率比较低的窗口.这时候,我们需要安装虚拟机的增强工具. 打开虚拟机的工具栏-->安装增强功能 进入fedora 25虚拟机会有一个挂载好的文件,/run/media/wu/VBOXADDITIONS_5.1.22_115126(后面的版本号会有所差别,wu是我用户名) 打开终端,切换到root用户,执行以下命令,安装需要的包: dnf install -y gcc kernel  kernel-devel

虚拟主机设置伪静态的三种方法

如今,很多站长都有使用香港虚拟主机来搭建网站,比较常见的有Linux香港虚拟主机.Windows香港虚拟主机. 值得一提的是,为了有利于网站的收录,很多站长使用香港虚拟主机搭建好网站后,一般都会进行伪静态设置.那么,在使用香港虚拟主机的话,网站的伪静态是怎么设置的?这里就来简单的了解下. 目前,Windows香港虚拟主机采用的是IIS服务器,而Linux香港虚拟主机采用的是Apache服务器.因此,如果要想设置伪静态的话,我们需要在其相应的配置文件中进行设置,对应关系如下: 1.iis7.iis

apache 2.2 单IP多域名不同目录的虚拟主机访问设置

首先编辑httpd.conf 注释掉以下地方 #ServerAdmin [email protected] #ServerName www.example.com:80 #DocumentRoot "/usr/local/apache2/htdocs" #<Directory />#    Options FollowSymLinks#    AllowOverride None#    Order deny,allow#    Deny from all#</Dir

Httpd服务器中构建Web虚拟主机

Web虚拟主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不肚子占用整个服务器,因此被成为"虚拟"Web主机.通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本'虚拟的Web主机有三种类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机对于基于IP地址的虚拟主机,每个虚拟Web主机使用不同的IP地址,但是都通过同一台httpd服务器对外提供Web浏览服务.正因如此,用来支撑这些虚拟Web主机的服务器就需要大量的网络接

CentOS设置虚拟网卡做NAT方式和Bridge方式桥接

http://www.centoscn.com/CentOS/config/2015/0225/4736.html 摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式.Bridge方式的配置原理和步骤.Bridge方式适用于服务器主机的虚拟化.问题?客户机安装完成后,需要为其设置网络接口,以便和主机网络,客户机之间的网络通信.事实上,如果要在安装时使用网络通信,需要提前设置客户机的网络连接. KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机