关于网桥,我对此非常困惑。我以为它们是允许从一个网络转到另一个网络而无需路由(而是在第 2 层进行工作)的设备,但如果是这样,那么我不明白以下两件事:
1) VirtualBox 如何使用网桥为虚拟机提供与主机位于同一 LAN 的 IP - 2 个网络(原点和目标)在哪里?我们仅设置了一个 IP...
2) NIC 如何充当桥梁,为机器提供多个 IP。我和公司系统管理员正在研究在单独的隔离网络(不在公共 LAN 上)上连接虚拟机和主机,当我问主机如果只有 1 个 NIC,如何拥有多个 IP 时,他告诉我他能想到 3 种方法:将 NIC 设置为混杂模式(这样内核就可以完成所有工作)、使用子接口(这样最终会得到 eth0:0、eth0:1 及以后的接口),并让 NIC 充当桥梁。这里的问题是一样的,我们想要的是设置机器上的 IP,而不是将两个网络连接在一起。
这是怎么回事?桥梁的作用是什么?
PS 我觉得我对接口也有点困惑。它们是 NIC 的软件表示吗?也就是说,它们从内核中抽象出 NIC,因此内核将它们视为网卡?
答案1
最常见的术语桥指存储和转发以太网帧的设备。桥上的物理端口将处于混杂状态,这意味着每个收到的帧都将被接受和处理。请阅读维基百科关于桥梁的文章了解详情。思科的文章桥接基础知识也可能有用。
- 桥梁运行于第 2 层在 OSI 模型中。他们对 TCP/IP 一无所知,只知道第 2 层协议(例如以太网)。
- 网桥只查看物理地址(即 MAC 地址)。它们实际上并不知道 IP 地址。
- 网桥了解主机连接到哪个网桥端口。当网桥重新传输帧时,它只会将其发送到最接近目的地的端口。
- 一个以太网交换机从根本上来说,它只是一个多端口桥接。
您最困惑的似乎在于虚拟化软件如何充当为机器上的虚拟机提供服务的桥梁。
当虚拟机被创建时创建并分配唯一的 MAC 地址到该虚拟机中的每个网络接口。如果您查看虚拟机的配置,您将看到生成的 MAC 地址,甚至可以修改它们。如果您确实更改了它,请记住 MAC 地址在您的网络上是唯一的,这一点至关重要。
当您启动配置了桥接的虚拟机时,虚拟机绑定的物理网络接口将切换到混杂模式。虚拟网络产品将加载一个软件,该软件将执行与物理网桥相同的功能。当收到传入帧时,如果该帧的目标 MAC 地址与特定虚拟机的唯一 MAC 地址相匹配,则该帧将被转发到虚拟机。
- 虚拟化软件创建的 MAC 地址应设置本地管理地址位参考:IEEE MAC 地址。如果您创建自己的地址,也请使用此位将其标识为本地地址。