博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 有问必答:如何从VirtualBox中从主机访问NAT客户机
阅读量:6073 次
发布时间:2019-06-20

本文共 1284 字,大约阅读时间需要 4 分钟。

Linux 有问必答:如何从VirtualBox中从主机访问NAT客户机

提问: 我有一台运行在VirtualBox上的使用NAT的虚拟机,因此虚拟机会被VirtualBox分配一个私有IP地址(10.x.x.x)。如果我想要从主机SSH到虚拟机中,我该怎么做?

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开启了。

 
  1. $ sudo netstat -nap | grep 2222

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

 
  1. $ 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)必须是唯一的。

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

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

 
  1. $ VBoxManage showvminfo "centos7" | grep NIC

原文发布时间:2014-12-02
本文来自云栖合作伙伴“linux中国”

转载地址:http://mdsgx.baihongyu.com/

你可能感兴趣的文章
DDD Example
查看>>
HTML元素 - input type=hidden
查看>>
oracle常见错误
查看>>
MongoDB语法与现有关系型数据库SQL语法比较
查看>>
Objective-C内存管理教程和原理剖析(三)
查看>>
how to learn device driver
查看>>
iptables的详细介绍及配置方法*
查看>>
usb摄像头的检测
查看>>
Python之杨辉三角算法实现
查看>>
Maven: NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher
查看>>
JavaScrip——DOM操作(查找HTML元素/修改元素)
查看>>
SDWebImage动画加载图片
查看>>
SHTML 教程
查看>>
iOS 证书调试的理解(Personal)
查看>>
Tomcat 服务器版本的区别以及下载与安装
查看>>
mysql 数据库备份ubuntu
查看>>
HTML——动画效果回到顶层(小火箭)
查看>>
iOS 开发学习35 本地化
查看>>
c语言 指针与地址的区别
查看>>
MVC3实现多个按钮提交
查看>>