我在Ubuntu 8.04服务器上,在VirtualBox机器上,在Ubuntu 9.04机器上运行http(zope)服务器.来宾系统通过NAT访问网络.如何将主机的端口80转发到客户系统的http端口?
您必须在VirtualBox中启用端口转发.您可以使用VBoxManage命令执行此操作.例如:
VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 8888 VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80 VBoxManage setextradata VM_NAME "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP
在这种情况下,这将打开主机(物理机)上的端口8888 / tcp,并将其转发到虚拟机的端口80 / tcp(将VM_NAME替换为虚拟机的名称).
有关更多详细信息,请参阅VirtualBox User Manual中的“使用NAT配置端口转发”(第6.4.1节,第84页)
如果您需要外部访问虚拟机上托管的Web服务器,那么您还需要创建端口转发规则(例如通过iptables或在路由器中配置它).