![无线局域网集中式MAC地址过滤](https://linux22.com/image/544464/%E6%97%A0%E7%BA%BF%E5%B1%80%E5%9F%9F%E7%BD%91%E9%9B%86%E4%B8%AD%E5%BC%8FMAC%E5%9C%B0%E5%9D%80%E8%BF%87%E6%BB%A4.png)
我正在尝试在处理无线网络的交换机和网络核心之间安装 MAC 过滤器。这个想法是让集中式 MAC 过滤器绕过内置在各个接入点中的过滤器。我的建议是无线设备仍然能够使用网络资源。如何使用 Ubuntu 10.04 有效地做到这一点?我有一台旧的戴尔电脑,现在正在测试它,它有 2 个 NIC。我知道你可以用 Linux 做任何事情……那么我该怎么做呢?我将不胜感激教程。
答案1
一个好的起点如下。
您可以在 Ubuntu 中启用 ip_forwarding 来使其路由流量:
echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
然后使用arp
设置静态条目(手动过滤):
arp -s address hw_addr
man arp
更多细节。
答案2
启用转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
设置 iptables FILTER/FORWARD 链以删除所有内容。
iptables -t filter -P FORWARD DROP
将您想要路由到网络的 MAC 地址的静态条目添加到 FORWARD 链中。
iptables -A FORWARD -m mac --mac-source FF:FF:FF:FF:FF:FF -j ACCEPT
在转发表中添加一个条目,以允许来自已建立连接的流量。这将确保返回的流量可以路由回无线局域网。
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
只要您添加每个想要允许路由的 MAC 地址,这应该可以起作用。
请注意,此答案未考虑所需的路由基础结构。当跨接口转发数据包时,假定您正在遍历不同的子网。如果您桥接 NIC 以使它们位于同一网络上;此解决方案将不起作用,因为您不再路由数据包。