从VirtualBox虚拟主机访问NAT客户机的方法
技术  /  管理员 发布于 7年前   149
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
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号