我对虚拟化技术还不熟悉,对 Linux 也有点陌生(使用 Debian Squeeze,来自 BSD),因此我很难理解什么是最适合我的主机的网络桥接选项。网络上的很多信息(如果不是全部的话)似乎有些过时了。
有关于 br0、tun、tap 和 vnet 等的信息。我几乎不知道它们的含义和作用,如果有知识渊博的人能帮我解释一下,我将不胜感激。
我希望我的 Debian 主机具有最佳性能和灵活的设置,其中 (*BSD) 客户端可以管理自己的防火墙 (PF)。Squeeze 主机在合适的硬件路由器后面有两个硬件 NIC。
此时,我认为将客户机放在他们自己的专用硬件网卡(eth1)上并使用内部 IP 范围(10.0.0.x),而主机使用 eth0 是明智之举,但我非常欢迎专家提出建议:)
答案1
您说出的大多数术语都是由供应商特定或软件特定场景创建的接口的名称。虚拟网络、网桥、隧道等。
设置 kvm 或其他控制台模式虚拟机系统所需的术语远非一致。但是,总体思路是相同的,如果您使用在 VirtualBox 或其他 GUI 中启动的 Linux Live CD,则可以尝试各种选项。
基本上,这听起来像是您需要设置一个桥接接口,虚拟机在其中获得一个网络硬件,该硬件透明地别名(通常通过主机上的子接口)到主机上的一个网卡。为此使用第二个 NIC 可能很好,但肯定不是必需的。虚拟机作为新设备出现在网络上,并且可以获取地址并与上游网络上的设备通信,无论它是什么。
另一个常见选项是为虚拟机提供自动位于主机网卡之一上的 NAT 路由器后面的接口。如果虚拟机只是测试机器,或者您有理由让它们像任何其他软件一样使用主机 IP 地址进行通信,那么这种方法对于使它们远离主网络非常有用。
如果您在多个位置托管虚拟机,则一种不太常见但很有用的方案是通过隧道传输它们,以便它们的网络流量实际上由网络上的其他主机管理,本质上是通过 VPN 将它们传输到其他地方,但在硬件级别,以便客户机中的接口本身看起来很正常,但实际上连接在网络拓扑中的其他地方。
答案2
在物理网卡之间建立 Bond,然后在 Bond 上建立桥梁
如果这是我的 Debian KVM 服务器,我会从 2 个物理 NIC 建立绑定。我会将绑定构建为故障转移/容错。
一旦您有了债券,您就可以建立一个桥梁(br0)并将其用于每个kvm客户机。
该桥接器允许访客加入“真实”网络并占用 IP 地址来与网络甚至互联网进行通信。
此时强烈建议继续在 BSD 客户机上使用 pfSense,因为它们是网络的一部分。