VirtualBox 使用 NAT 方式网络的 SSH 连接

摘要:摘要: 本文的VirtualBox是基于Linux平台环境,之前由于使用的是网桥模式连接网络,导致在使用SSH登陆到我的虚拟机时,不能够连接外网,而想要联网时必须切换到NAT模式才可以,这样很不方便,所以就改用NAT模式

在Ubuntu 14.04上亲测解决问题。

002UASMrzy7605pjKJv15&690.jpg

本文的 VirtualBox 是基于 Windows 平台环境,虚拟机中安装了 Ubuntu,即在 Windows 平台下通过 SSH 方式连接虚拟机中的 Ubuntu。

  一直以来都使用 VirtualBox 来虚拟 Ubuntu 使用,而自己的电脑都是在家里使用,家里又配置了一个无线路由器,故我总是将 VirtualBox 的网络方式设置为桥接模式(Bridged Adapter),这样可以很方便的使用 SecureCRT 的 SSH 方式连接 VirtualBox 里面虚拟的 Ubuntu。

  因为桥接模式的网络连接是相当于把虚拟出来的系统与真实主机并行存在,即假如真实主机从路由 器分配得的 IP 地址为 “192.168.1.100”,那么虚拟出来的系统在桥接模式下可以将 IP 配置为 “192.168.1.101”,就可以简单的在真实主机上 ping 这台虚拟主机,或者使用 SSH 方式连接,而连接的 IP 就是 “192.168.1.101”。

  而最近放假了,准备回家过年,突然想到那里的环境是没有路由器的,于是就不可能如上的桥接模式工作了。

  VirtualBox 安装完成后默认的连接方式是 “NAT” 方式,使用此方式可以直接在虚拟系统中访问网络,当然是基于真实主机可以访问网络的情况下。而这种 “NAT” 方式就是脱离了路由器的方式,虚拟系统依赖于真实系统但是不是并行存在的模式。那么这样的方式就可以在没有网络的情况下通过真实主机系统访问虚拟系统了。

  不过这样的 “NAT” 方式是无法使用上述简单的配置 IP 的方式就能直接连接的,需要做简单的设置。

步骤一:安装 SSH 服务

  这个东西就不用多说,在这里是必须的步骤,详见之前文章。

步骤二:端口转发

  此步骤就是全文的关键。关闭虚拟机,进入 Windows 平台的命令提示符模式,然后定位到你的 VirtualBox 安装目录,例如 “C:Program FilesOracleVirtualBox”,接着输入:

VBoxManagemodifyvm"VMname"--natpf1"guestssh,tcp,,2222,,22"

其中 “VM name” 为你的虚拟 Ubuntu 的名称,即 VirtualBox 管理器中系统列表上显示的名称。

即将本地真实主机的 “2222” 端口指向了虚拟机中 Linux 系统的 “22” 端口。

  “–natpf1” 不用修改,一般虚拟机默认只有一个网络连接,即第一个连接,除非你还设置有多个网络连接,这里按需修改。

  其他默认即可。

步骤三:SSH 方式连接 Ubuntu

  此时启动你的虚拟机中的 Ubuntu,启动后,打开 SecureCRT,新建一个连接,连接 IP 为 “127.0.0.1”,连接端口为 “2222”。这点非常重要,否则你将连接不上。

  剩下的就是访问帐号和密码,这个就不过多解释了。点击确定后就能连接上你虚拟机中的 Linux。