iptables规则来打破一条路线

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

这是一个小图:

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

我将无线接入点插入局域网,一切正常。 networking在所有设备之间工作。

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

我有我的dhcp服务器(在Linux机器上)设置交付xyz200到xyz250之间的地址

我的目标是让局域网设备与局域网设备和互联网交谈。 无线设备只能与互联网交谈。 我已经有了这个工作和configuration的第一部分。 只需要第二部分的咒语。 我的无线设备将通过dhcp进行设置。

我知道一个VLAN将是完美的适合这个,但我没有任何pipe理交换机和东西。 这只是为了我的家,我要便宜。

我的希望是做这样的事情:

 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。 我甚至不知道语法会是什么样子来做一个符合我想要的范围的地址块。

先谢谢你!

只要有线和无线主机在同一个子网中,网关上的iptables数量就不会阻止他们互相通话。

但是,有几种方法可以伪造:

如果所有有线主机都有静态IP(或DHCP保留地址)但不使用dynamicIP,则可以在iptables主机上的LAN接口的另一个子网中放置一个辅助IP。 你需要closuresredirect(这是一个sysctl),并且为有线客户端硬编码/使用不同的DHCP选项。 添加一个iptables规则来阻止两个子网之间的stream量,但是允许/伪装两个互联网,并且你将被设置。 但是,任何知道它只是辅助IP的无线设备都可以手动configurationLAN范围的IP并绕过该块。

如果无线接入点支持VLAN标记(真正的企业接入点是这样的,而WRT54-like也可以使用OpenWRT / ddwrt / etc),如果你的交换机通过了标记帧,你可以在linux机器上创build一个vlan子接口再与另一个子网,如上)。 局域网中的主机偶尔会收到一个标记帧,并放弃它(除非他们正在运行一个嗅探器),但AP应该(取决于configuration)忽略它从局域网听到的未标记的帧,所以你不应该漏局域网stream量回到无线。

当然,真正的分离是最好的方式去pipe理VLAN感知交换机,或者只是Linux主机上的第三个NIC。