关于端口转发:从主机端口80到VirtualBox端口80的端口转发不起作用

Port forwarding from Host port 80 to VirtualBox port 80 doesn't work

我已经阅读了virtualbox端口转发指南、本站点和其他站点中的类似问题,但找不到解决方案。

UFW在来宾操作系统(Ubuntu)上启用,端口80和22打开。我可以从主机到Ubuntu进行ssh,也可以从主机浏览器访问Ubuntu站点。

在guest上,我设置nat和hostonly(vboxnet3)适配器。同时打开路由器端口80(192.168.1.90)客户IP为192.168.70.10

因此,在来宾设置>NAT>端口转发中,我将:

TCP主机IP:192.168.1.90主机端口:80来宾IP:192.168.70.10来宾端口:80

但是,此设置不起作用。如果你能指引我走正确的道路,我将不胜感激。


威廉A和AS,Linux / Unix操作系统不会让A流程清单上,除非他们是小于1024的端口作为根的运行。你可以运行VirtualBox为根,虽然我在做阅读的可怕的警告。它可能是horribly insecure。

相反,设置在主机系统Apache2在80端口列表(它应该是那个已经设置),但不是在主机A网站提供的机器,它有一个高流量的一些代理8080端口说,在主机。

然后,一个端口转发到VirtualBox高等宾客OS的80端口。

Apache的安装是这样的:

  • HTTP代理模块的安装

    a2enmod proxy_http

  • 确保它有一/etc/apache2/ports.confListen 80指令

  • 添加另一个网页或网站/etc/apache2/sites-available修改默认(或只是一本在ports.conf)

    1
    2
    3
    4
    5
    6
    <VirtualHost *:80>
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
    </VirtualHost>
  • 反弹的Apache

    service apache2 restart

  • 这是host port: 8080, guest port: 80VirtualBox安装。

    交通:去!

    1
    client --> host:80 --> Apache --> host:8080 ---> vbox NAT ----> guest:80

    这是类似于威廉的SSH隧道,但不干预(需要手动重新输入密码每次是rebooted)主办。


    这里是另一个方法可以工作,如果你不舒适的作为根用户运行VirtualBox。你可以用SSH建立端口转发从主机的80端口到端口(一些非限制的例子,在下面,我使用8080端口),然后在体操这将给宾客的80端口。convoluted,但它的作品。

  • 一个前向客人主机端口8080端口80。确保它是由浏览器的功能指向A在端口8080机器在您的主机。
  • 确保您的主机是运行在主机上。在Mac OS X中,去System Preferences -> Internet & Wireless -> Sharing和确保Remote Login是检查。
  • 根您的主机。

    1
    $ sudo su -
  • 前锋的主机到主机的80端口8080端口(使用SSH的端口绑定地址\*使得在所有可用的接口)。

    1
    # ssh yourusername@localhost -L \*:80::8080
  • 注意,它会问你有什么凭据登录在使用你的权限,所以它最可能想问你的密码,当你是成功的,你是在撒谎。

    现在你应该可以成功的在您的主机的80端口的机器和湖一样的发球击中您的主机端口8080机器,又名80端口在您的来宾操作系统。

    如果你不想别人对你的网络可以打到80端口上机器,我可以静静的想得到它在你的主机系统从一个浏览器,一个localhost:绑定端口

    1
    # ssh yourusername@localhost -L localhost:80::8080


    根据http:/ / / / ch06.html # natforward www.virtualbox.org手册

    Forwarding host ports < 1024 impossible:

    On Unix-based hosts (e.g. Linux, Solaris, Mac OS X) it is not possible to bind to ports below 1024 from applications that are not run by root. As a result, if you try to configure such a port forwarding, the VM will refuse to start.

    它是可能的运行VirtualBox为根,它会允许你向主机端口(1024,那么如果你是一个坚定的VirtualBox的是这样做的,你可以成为这样的:根和执行。

    1
    2
    $ sudo su -
    # VirtualBox