VirtualBox非官方中文论坛

 

 

搜索
VirtualBox非官方中文论坛 广场 VirtualBox文档 VirtualBox 网络配置——Network Address Translation( ...
查看: 3318|回复: 1
go

[Fedora] VirtualBox 网络配置——Network Address Translation(NAT)

Rank: 8Rank: 8

UID
帖子
106 
VirtualBoxChina币
301 分 
活跃积分
0 点 
技术积分
0 ° 
注册时间
2009-5-17 
最后登录
2010-12-9 
VirtualBoxChina 发表于 2010-2-16 19:50 |显示全部帖子

您是本帖的第3318个浏览者


本帖最后由 VirtualBoxChina 于 2010-2-16 20:06 编辑

NAT技术是从虚拟机上访问网络的多种方法中最简单的一种。通常情况下,使用这种方式设置虚拟机的网络,是不用多做一点事情的,默认就是使用这种技术。

虚拟机通过NAT访问网络的时候,就好似一台真正的机器在工作,网络数据通过路由器转发。这里所说的“路由器”,就是指VirtualBox的网络引擎。通过该引擎,数据完全穿透,并且直接与虚拟机通讯。不过这种方式的坏处也很明显,虚拟机就好比运行在路由器背后的局域网中,外网无法访问虚拟机,主机也无法访问虚拟机,所以除非你做了端口转发,不然你无法用虚拟机作为一台服务器。

虚拟机通过VirtualBox内置的DHCP服务器获得IP地址,通常这个IP地址与你的主机IP是属于不同网段的。如果你给一台虚拟机设置了多个网卡,那么他们都可以使用NAT来连接外网。第一个网卡的地址假设为10.0.2.0,那么第二个网卡的地址即为10.0.3.0,以此类推。如果你需要改变虚拟机的IP范围,请参考设置NAT接口的网址

配置端口转发

通过上面的说明,我们可以了解,NAT就相当于一台路由器,而虚拟机就相当于局域网中的一台机器。如果想要让一个局域网中的服务器能够被外网访问到,最方便的方法就是在路由器上设置端口转发。这里的概念一样。通过端口转发,就相当于这台机器拥有了这个局域网所共享的外网IP,外网就可以通过直接访问IP的方式访问到这台局域网中的电脑。

要做到这一点,需要执行以下命令:

VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "Linux Guest" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222

说明:VboxManage 是一个命令行程序,请查询你的 VirtualBox 安装目录,"Linux Guest" 是虚拟主机名。guestssh 是一个自定义的名称,你可以任意设置,通过上面的三个命令,把虚拟机的 22 端口 转发到主机的 2222 端口。

以上是翻译部分,实际使用过程中,注意,执行以上三行命令的时候,虚拟机需要是关闭的,如果开启,那么重启后才能生效。以上三行命令可以用记事本编辑,最后改成bat来运行会比较方便,命令行里面操作这么大段的文本的确是非常麻烦。


文章来源 :   http://stenlylee.javaeye.com/blog/411934

plugin_name


VirtualBox非官方中文论坛 - 论坛版权

Rank: 2

UID
764 
帖子
VirtualBoxChina币
14 分 
活跃积分
0 点 
技术积分
0 ° 
注册时间
2010-6-14 
最后登录
2010-6-14 
Roookie 发表于 2010-6-14 13:18 |显示全部帖子
怎么设置怎么没讲啊!要是来个图文教程就更好啦!

VirtualBox非官方中文论坛 百度GG

GMT+8, 2012-2-6 08:01 , Processed in 0.026633 second(s), 19 queries , Gzip On.

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.