如何从子网的其余部分访问在我的 NATed VMware Fusion 客户机上运行的网络服务器?

Mar*_*tin 5 nat mac-osx vmware-fusion ipfw

我不允许在桥接模式下运行我的 VMWare 来宾,我想以某种方式从 Mac 外部网络接口上的约定端口建立隧道到运行在 VMWare 融合来宾上的网络服务器。

我的猜测是我可以以某种方式在 Mac 上运行的 ipfw 中设置一个隧道来支持这一点。

谁能给我一些指点?

nic*_*har 5

我希望在 OSX 上做同样的事情(更具体地说,允许手机/平板电脑/设备/人访问我的 VM 以进行测试)并且以下工作完美:

我的设置:

Host OSX IP: 192.168.1.72
VM IP:       172.16.67.188
Run Code Online (Sandbox Code Playgroud)

方法:

1)在 VMWare Fusion 的“网络适配器”设置中选择“NAT”

2) cd 到 vmnet8 目录

    cd /Library/Application\ Support/VMware\ Fusion/vmnet8/
Run Code Online (Sandbox Code Playgroud)

注意:如果找不到 vmnet8 目录,请尝试运行locate nat.conf,这通常是文件所在的位置。

3)编辑nat.conf文件(使用 vim/vi 等)并在下面[incomingtcp]输入以下内容:

    EG: <external port number> = <VM’s IP address>:<VM’s port number>
Run Code Online (Sandbox Code Playgroud)

就我而言,我输入了:

    [incomingtcp]
    8080 = 172.16.67.188:80
Run Code Online (Sandbox Code Playgroud)

4)保存并退出nat.conf文件

5)通过运行重新启动 VMWare 网络:

    /Library/Application\ Support/VMware\ Fusion/boot.sh --restart
Run Code Online (Sandbox Code Playgroud)

运行时boot.sh,所有到 OSX 主机上端口 8080 的 tcp 流量将立即转发到 IP 为 172.16.68.188 的虚拟机的目标端口 80,并使您的 VM 可用于 192.168.1.72:8080 上的本地网络。

注意:如果您已经在 OSX 上运行网络服务器,则端口 80 上可能会发生冲突,因此请使用 8080(如我在此处所示)或其他端口以避免出现问题。

  • 仅供参考 - 在 Fusion 6.0.4 上,nat.conf 的位置不同 /Library/Preferences/VMware Fusion/vmnet8/nat.conf (3认同)

tro*_*ozz 2

免责声明 我还没有尝试过这个,但这是针对工作站的,但我相信它应该可以工作

\n\n

如果您在计算机上运行虚拟机,您可能希望从另一台计算机访问该虚拟机。让\xe2\x80\x99s 使用一个示例:假设您有一个在端口 80 上运行 Apache 的 Ubuntu 虚拟机,并且您希望向网络上的其他人显示访问您托管的网站。

\n\n

我们\xe2\x80\x99假设虚拟机正在使用NAT,并且已分配IP地址192.168.23.128。

\n\n

首先打开管理虚拟网络开始菜单项:

\n\n

替代文本

\n\n

单击 NAT 选项卡,然后单击编辑。您将看到 NAT 设置对话框:

\n\n

替代文本

\n\n

单击“端口转发”按钮,您将看到此对话框:\n替代文本

\n\n

现在我们终于看到了可以实际使用的屏幕。我们\xe2\x80\x99 将使用主机上的端口 8080。我们输入 ubuntu 虚拟机的 IP 地址和端口 80。这些端口可以是任何端口。\n替代文本

\n\n

我们应该能够通过在我们的主机上访问http://localhost:8080来测试这一点。我们可以通过将 localhost 替换为主机 IP 地址来给出主机的 url。

\n\n

编辑:

\n\n

如果您使用 NAT,则虚拟机位于主机级 NAT 地址 (172.xyz) 后面,而您的 Internet 路由器对此一无所知。您可以将端口 80 从路由器转发到主机的 IP,然后配置 /Library/Application Support/VMware Fusion/vmnet8/nat.conf 将端口 80 请求端口转发到端口 80 上虚拟机的 172 地址。这需要在 OS X 上关闭 Apache(如果它正在运行),因为这会导致端口冲突。

\n\n

您的另一个选择是将虚拟机从 NAT 更改为桥接,在这种情况下,您的 OS X 和 Ubuntu 虚拟机将位于同一子网中,且 DHCP 地址由互联网路由器分发。路由器将直接将流量转发到虚拟机,无需任何额外的端口转发。

\n