
VB中Guest的网络模式主要有NAT和BrIDge(桥接)两种。桥接是可以很好的实现我的想法的,但是一般来说VB下的桥接很难做:我按照手册上的方法做好,桥接建立好了当时导致Host却不能上网了。囧!不知道到底要怎么设置了 =,=。Quark说可以使用NAT方式下VB提供的端口映射功能实现我的要求。参照VB手册:
This means that VirtualBox Listens to certain ports on the host and resends all packages which arrive on them to the guest on the ports used by the services being forwarded.
就是说,假设把Host的端口A Forward到Guest的端口B,那么这个机制就是把A发过来的数据送进B,使用Guest的服务处理数据之后返回。那么,如果就可以在Host里SSH到localhost的端口A来访问Guest的SSH服务了(端口22)。VB的手册里举的就是SSH的例子, 关闭VB,然后在windows命令行下进入到VB的安装目录。使用以下的命令:
VBoxManage setexTradata "<Gusetname>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setexTradata "<Gusetname>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setexTradata "<Gusetname>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
注意:<Guestname>是你虚拟机中Guest的名字。假设你使用的是pcnet的虚拟网卡,如果你选择的是intel PRO/1000网卡,那么用"e1000"替换"pcnet"。2222可以是随便一个Host上没有被使用的端口。另外注意大小写,这些设置都是Case Sensitive的!
启动你的Guest系统,开启ssh服务,在Host里面用ssh客户端(推荐Putty)用ssh协议连接localhost:2222,如果连接成功,那么恭喜! 如果连接被拒绝,那么可能是防火墙的阻拦。在Archlinux下有/etc/hosts.allow、/etc/hosts.deny这些文件,Fedora10使用的是iptables。具体可以参照相关手册,来允许客户端的连接。我就是把iptables里面所有的规则全部灭了才连接成功的。 本文来源: http://my.unix-center.net/~Simon_fu/?p=632 【图形界面】 总结
以上是内存溢出为你收集整理的VirtualBox下使用NAT模式实现外部访问guest(端口映射)全部内容,希望文章能够帮你解决VirtualBox下使用NAT模式实现外部访问guest(端口映射)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)