我的笔记本电脑上有一个 Vagrant box(使用 Virtual Box)在本地运行。我的笔记本电脑(主机)运行的是 Mac OS 10.11.6;客户机运行的是 Ubuntu 16.04。
目前,只能从主机访问客户机,使用 Vagrantfile 中的以下节:
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.13.37"
我想让其他计算机(仅在家庭网络上)可以访问 Vagrant 盒子。当然,只有当我的笔记本电脑在家庭网络上启动并运行并且 Vagrant 盒子正在运行时,它才可以访问,但这对我的目的来说没问题。
我特别希望 vagrant box 可以访问固定 IP来自家庭网络上的其他计算机。(它将从运行 Ubuntu 18.04 的笔记本电脑和另一台运行 Windows 10 的笔记本电脑访问,但这并不重要。)
配置文件中这个注释掉的部分看起来可能与我想要的有关:
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
但是,通过在线搜索,我找不到有关 vagrant 的文档或答案来描述我的需求的“可预测 IP”部分。
我如何配置这个 vagrant box 来让它有一个可以从家庭网络的其余部分访问的 IP(但仅有的来自家庭网络)?
答案1
我没有完全解决上面描述的问题,但我发现通过为特定服务我希望可以从家庭网络上的其他主机访问,这样我就可以处理我的用例。
由于端口是非标准的,因此它不太干净,但它可以工作。
我正在运行 https 服务,因此我使用的配置行是:
config.vm.network "private_network", ip: "192.168.13.37" # as before
config.vm.network "forwarded_port", guest: 443, host: 4443