Kir*_*and 5 networking dns virtualbox nat ubuntu
我正在 VM 上运行 Web 应用程序。
我可以localhost:8888在 VM中通过浏览器查看应用程序。
我无法在同一 URL 上看到来自主机的应用程序。这就是目标。
我试过了,VBoxManage modifyvm "VM name" --natdnshostresolver1 on但没有影响。
我的配置是:
(访客)ifconfig在 NAT 上时
kirkland@GC:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:d0:fc:0e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::4c67:70b5:c37b:8fa8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7431 errors:0 dropped:0 overruns:0 frame:0
TX packets:3587 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7444830 (7.4 MB) TX bytes:731870 (731.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1566 errors:0 dropped:0 overruns:0 frame:0
TX packets:1566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:655936 (655.9 KB) TX bytes:655936 (655.9 KB)
Run Code Online (Sandbox Code Playgroud)
(来宾) /etc/hosts
127.0.0.1 localhost
127.0.1.1 GC
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Run Code Online (Sandbox Code Playgroud)
该localhost:8888URL 只是 VM 内的有效 URL。在该 VM 之外,您将必须使用ip.ad.dr.ess:8888或hostname:8888。在后一种情况下,ip.ad.dr.ess引入了对解析到网络上的主机名的依赖。
默认情况下,在 VirtualBox 中创建 VM 时,网络适配器 1 设置为 NAT。这将为 VM 提供一个 IP 地址10.0.2.15/24和一个默认路由10.0.2.2(应该是您的主机)。长话短说,Windows 不会路由到它为其提供 NAT 的地址,而不会首先跳过更多的环节。
关闭 VM 并将 VM 网络适配器 1 设置更改为“桥接”将允许您的主机(以及本地网络上的任何主机)与该 VM 进行通信,而无需添加任何特殊路由或跳越。
重启虚拟机。验证您与localhost:8888. 还要验证您的连接hostname:8888(假设主机名已not添加到 /etc/hosts 文件中的环回/本地主机地址)和ip-address:8888. 编辑:根据发布的 /etc/hosts 详细信息,您are将 VM 和 webapp 绑定到环回网络。此配置在 VM 之外根本无法使用。
如果您的 Web 服务器和应用程序不依赖于它第一次配置/安装的 IP,并且您的 LAN 上有一个 DHCP 服务器,则连接到 VM 所需的唯一其他信息是 IP 地址通过 DHCP 分配给它。
要查找 VM 的 IP 地址:从 Ubuntu 桌面 (ctrl-alt-T) 打开终端/控制台窗口,我们使用主机名、ifconfig 和 grep/etc/hosts命令将这些部分放在一起并找到您的地址。在打开的终端中,键入hostname然后按回车键。这可能是gc。在同一个终端中,键入ifconfig eth0 | awk '/Bcast/{print $2}'将显示地址。您应该在 /etc/hosts 中有一行地址后跟主机名。 grep [hostname] /etc/hosts或者grep [address] /etc/hosts应该找到您需要的线路。如果您想出除当前地址后跟主机名之外的任何内容,则需要修改 /etc/hosts 文件以添加正确的信息。
LAN 上的主机现在应该能够通过端口 8888 连接到 VM 的 IP。对于这些主机/客户端访问 web 应用程序的方式hostname:8888将取决于客户端主机文件、本地 DNS,甚至可能在 DHCP 服务器上提供的 mDNS 服务.
| 归档时间: |
|
| 查看次数: |
71647 次 |
| 最近记录: |