要理解这一点,我必须了解所有基础知识。请在下面找到我的发现。
未附加
在这种模式下,VirtualBox 向来宾报告存在网卡,但没有连接 - 好像没有
以太网电缆已插入卡中。通过这种方式,可以“拉动”虚拟以太网电缆并中断连接,这有助于通知客户操作系统没有可用的网络连接并强制重新配置。
网络地址转换 (NAT)
如果您只想在访客中浏览网页、下载文件和查看电子邮件,那么这
默认模式对您来说应该足够了,您可以放心地跳过本节的其余部分。请注意,使用 Windows 文件共享时存在一定的限制(有关详细信息,请参阅第 6.3.3 节“NAT 限制”)。
NAT 网络
NAT 网络是 VirtualBox 最新版本中引入的一种新的 NAT 风格。
桥接网络
这是为了满足更高级的网络需求,例如网络模拟和运行服务器
在客人。启用后,VirtualBox 会连接到您安装的一张网卡并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。
内部网络
这可用于创建不同类型的基于软件的网络,该网络对选定的虚拟机可见,但对主机上运行的应用程序或外部世界不可见。
仅主机网络
这可以用来创建一个包含主机和一组虚拟机的网络,而不需要主机的物理网络接口。而是在主机上创建一个虚拟网络接口(类似于环回接口),提供虚拟机和主机之间的连接。
通用网络
很少使用的模式共享相同的通用网络接口,允许用户选择可以包含在 VirtualBox 中或在扩展包中分发的驱动程序。
目前可能有两种可用的子模式:
UDP 隧道
这可用于通过现有网络基础架构直接、轻松、透明地互连不同主机上运行的虚拟机。
VDE(虚拟分布式以太网)网络
此选项可用于连接到 Linux 或 FreeBSD 主机上的虚拟分布式以太网交换机。目前这需要从源代码编译 VirtualBox,因为 Oracle 包不包含它。
其中,只有 NAT 和 Host-only 网络很重要。所以,为了解决这个问题,我用以下代码修改了预定义的 Vagrant 文件。
jenkins.vm.provider "virtualbox" do |vb|
jenkins.vm.network "private_network",ip:'192.168.56.5',:adapter => 2
jenkins.vm.hostname = 'jenkins.ci'
vb.name = "Jenkins"
end
在这里,我创建了一个具有静态 IP 的专用网络,并且我指定了使用 2 的适配器数。专用适配器是仅主机适配器,第一个适配器是默认的 NAT。