iptables 规则中断路由

iptables 规则中断路由

我刚刚在我的网络中安装了一个无线接入点。

以下是一张小图:

Internet <===> linux box with iptables <===> LAN

我将无线接入点插入 LAN,一切正常。网络在所有设备之间正常运行。

我使用 dnsmasq 指定了一组静态地址。这些地址基本上是 xyz1 到 xyz199

我将 dhcp 服务器(在 Linux 机器上)设置为分配 xyz200 到 xyz250 之间的地址

我的目标是让 LAN 设备与 LAN 设备和互联网通信。无线设备可以仅有的与互联网对话。我已经完成了第一部分的工作和配置。只需要第二部分的咒语。我的无线设备将通过 dhcp 设置。

我知道 VLAN 非常适合,但我没有任何可管理的交换机之类的东西。这只是为了我的家,而且我想要便宜的。

我的希望是做类似的事情:

iptables -A input -p tcp -s 192.168.1.200:192.168.1.250 -d 192.168.1.1:192.168.1.199 -j REJECT
iptables -A input -p udp -s 192.168.1.200:192.168.1.250 -d 192.168.1.1:192.168.1.199 -j REJECT

当然,我不能,因为 iptables 只使用块或单个 ip。我甚至不确定要用什么样的语法来创建一个符合我想要的范围的地址块。

先感谢您!

答案1

只要有线和无线主机位于同一子网,网关上的任何 iptables 都不会阻止它们之间的通信。

然而,有几种方法可以伪造它:

如果所有有线主机都具有静态 IP(或 DHCP 保留地址)但不使用动态 IP,那么您可以在 iptables 主机的 LAN 接口上的另一个子网中放置辅助 IP。您需要关闭重定向(这是一个 sysctl),并为有线客户端硬编码/使用与无线客户端不同的 DHCP 选项。添加一个 iptables 规则来阻止两个子网之间的流量,但允许/伪装两者朝向互联网,这样就设置好了。但是,任何知道这只是辅助 IP 的无线网络用户都可以手动配置 LAN 范围的 IP 并绕过阻止。

如果无线 AP 支持 VLAN 标记(真正的企业 AP 可以做到这一点,类似 WRT54 的 OpenWRT/ddwrt/etc 也可以),并且如果您的交换机传递标记帧,您可以在 Linux 机器上创建一个 vlan 子接口(再次使用另一个子网,如上所述)。LAN 上的主机偶尔会收到标记帧,并将其丢弃(除非它们正在运行嗅探器),但 AP 应该(取决于配置)忽略它从 LAN 听到的未标记帧,因此您不应该将 LAN 流量泄漏回无线。

当然,真正的分离才是最好的方法——管理 VLAN 感知交换机,或者仅仅是 Linux 主机上的第 3 个 NIC。

相关内容