第 2 层可访问 DMZ:ebtables?

第 2 层可访问 DMZ:ebtables?

我想创建一个网络拓扑,其中所有 IoT 设备(打印机、DVR、恒温器、蓝光播放器等)都位于 DMZ 中,其余设备都位于 LAN 中。请注意,非军事区这里不同于非军事区路由器上的设置,指的是“网络的一个区域,我将不信任的设备放置在该区域中,以防止它们试图入侵我的网络”。

通常,这是通过创建分层网关(即在 DMZ 内设置网关以保护 LAN)或使用具有特殊 iptables 规则的自定义三向网关来实现的。我之前做过这两种方法,但都存在一个问题,即它们是第 3 层解决方案,而我正在寻找第 2 层解决方案,主要是为了保持 mDNS 和服务发现正常工作。

我想我想要的是允许:

LAN --[任何内容]--> DMZ

DMZ --[已建立+广播+DHCP]--> LAN

然而,看看ebtables文档,我似乎无法区分已确立的IP 连接和新的ip 连接,这是我的计划所需的功能。

因此,有两种可能性:

1)确定如何使用ebtables来做我想做的事情;或者

2)使用双 NAT 方法并让设备(RasPi 或其他设备)监听 DMZ 上的服务发现广播并在 LAN 上中继它们。

最后一个问题:从我要花多长时间来摆弄它以使其工作的角度来看,哪种方法是可行的和/或最容易管理的?

注意:标记在iptables而不是ebtables因为我显然无法创建该标签......

答案1

首先,ebtables它是链路层协议,因此,它不可能知道有关ESTABLISHED, RELATED连接的任何信息。根据维基百科

链路层是仅在主机物理连接的链路上运行的一组方法和通信协议。

那么,它如何知道来自某个远程 URL 的这个数据包是本地发起的一系列数据包中的下一个数据包?

至于您的第二个解决方案,我不清楚您想要实现什么。通常,DMZ 用于限制它与非 DMZ LAN 之间交换的流量,确切地说是为了防止网络发现和/或探测等。相反,您试图增加两者之间的协议和通信。

如果你想这样做,为什么不直接建立一个同时包含 DMZ 和非 DMZ 的 LAN,然后屏蔽通过的流量iptables?这样,你将允许两者之间的非 IP 流量,但可能会阻止 IP 流量,例如丢弃从一个区域到另一个区域的所有 ssh/telnet 连接。

或者,你可以使用中间人,IE一台 PC,其接口位于非 DMZ 上,另一个位于 DMZ 上,启用 IPv4 转发,但由 控制iptables,并dhcp-relay允许传递 DHCP 请求( 提供的版本dnsmaq特别容易设置)。此外,您可以启用代理ARP在此 MIM 电脑上,以便它代表被隔离的机器回复 ARP 查询。

相关内容