我已经阅读了无数关于如何配置网桥的文章,但它们看起来都含糊不清、不完整或完全错误(将我的 WAN 端口配置为 192.168.xx 以获取 Internet 连接?)。
我的场景:Ubuntu 16 和 KVM,其安全性是通过在虚拟机上运行的 Sophos UTM 实现的。物理机有两个以太网端口,但只有一个端口插入了电缆。
“当局”对于是否必须有一个或两个物理以太网端口来设置网桥存在分歧。
我对看似主流的观点感到特别困惑,这种观点认为你只需要一个端口,并且你可以对其进行配置,以便物理机(PM)和虚拟机(VM)共享一个 IP 地址。
在这种情况下,防火墙如何工作?哪台机器接收防火墙传递的任何数据包?无论答案是什么,难道不会有一台机器因此变得无法访问吗?还是两台机器都会接收所有传递的数据包?
如果我有两个以太网端口并在 LAN 端口上设置桥接,我就可以避免上述混淆。现在我有一个指向 VM 的 IP 地址,另一个仍指向 PM。防火墙现在变得简单了,因为我为不同的目标设置了不同的 IP 地址。
但是第二种情况的描述从未包含任何关于防火墙或 IP 表的讨论。但我不需要制定在两个端口之间转发流量的规则吗?我的 PC 不是路由器(没有配置就不是)。从一个端口进入的数据包不会因为共用一个机箱而神奇地找到进入第二个端口的路,不是吗?
我认为正确答案是 WAN 端口分配有公共 IP。LAN 端口桥接并分配有私有 IP。然后,防火墙规则将所有流量(SSH 除外,因此我仍有办法远程进入 PM)从 WAN 转发到 LAN 端口。然后,我在虚拟机上配置 Sophos 以完成防火墙方面的繁重工作。LAN 的其余部分连接到 Sophos VM 的下游。我的 IPtables 配置命令在输入和输出时是什么样子的?
我已经花了数百个小时试图自己解决这个问题。救命!
PS - 最后一个问题。网桥有公共 IP 地址还是私有 IP 地址?我认为它需要有一个与连接到它的虚拟机位于同一网段的地址。在我的例子中,这意味着一个私有 IP 地址。
答案1
您将其配置为物理机(PM)和虚拟机(VM)共享一个 IP 地址。
您无法共享 IP,文档很可能让您将一个 IP NAT 到两个 VM/主机。对于运行防火墙设备来说,这是一个无用的场景。
在这种情况下,防火墙如何工作?哪台机器接收防火墙传递的任何数据包?无论答案是什么,难道不会有一台机器因此变得无法访问吗?还是两台机器都会接收所有传递的数据包?
不,我说的是不能共享 IP。第一台在交换机缓存中列出其 MAC 地址的机器获胜,另一台机器将检测到网络上的重复 IP 并立即停止。请参阅此内容以了解其完成的方式:
When starting up, Windows performs a gratuitous ARP to detect any
duplication with its own IP address. While this detects most cases of
duplicate IP addresses, in a few situations two TCP/IP hosts (either
Microsoft or non-Microsoft) on the same network can be configured for
the same IP address.
The MAC and IP address mapping is done by the ARP module, which uses
the first ARP response it receives. Therefore, the impostor computer's
reply sometimes comes back before the intended computer's reply.
但是第二种情况的描述从未包含任何关于防火墙或 IP 表的讨论。但是我不需要制定在两个端口之间转发流量的规则吗?我的 PC 不是路由器(没有配置就不是)。从一个端口进入的数据包不会因为共用一个机箱而神奇地找到进入第二个端口的路,不是吗?
每个端口都是隔离的,除非它是交换机。
PS - 最后一个问题。网桥有公共 IP 地址还是私有 IP 地址?我认为它需要有一个与连接到它的虚拟机位于同一网段的地址。在我的例子中,这意味着一个私有 IP 地址。
网桥有一个公共地址,但它是在路由器内部配置的。网桥本身位于两者之间。一张简单的图画显示了 ISP 的网桥设置:
通常这种情况发生在使用 PPPoE 的 ISP 中,图中第一个路由器从 ISP 主流服务器获取其配置并自动成为网桥。
您也可以测试一下,如果您默认重置 ISP 路由器而不插入 ISP 的链接,它将成为标准路由器,通常具有 192.168.1.1 IP。
您的设置中缺少的一点是,您需要在 Sophos 中再添加一张网卡,以便与您的 LAN 通信,未使用的 NIC 将会找到用途。在 KVM 中,我不知道您如何设置端口,但在 ESX 中可以将其归因于您的 LAN,因此 Sophos 和主机获得了不同的 IP,但是当您将其插入交换机时,流量将通过那里。