iptables 过滤同一无线局域网内交换的流量

mik*_*904 6 networking linux router wireless-networking iptables

这对你来说似乎是一个愚蠢的问题,但我需要确保我的想法是正确的。我正在使用 USB 无线适配器(连接到我的笔记本电脑)、dnsmasq 和 hostapd 来创建本地无线网络。它正在工作,我可以连接更多设备并相互ping通。现在我想在这个无线局域网中阻止主机内的 ping。我尝试在插入 USB 无线适配器的笔记本电脑上使用 iptables,但它不起作用,这是我的命令:

iptables -A FORWARD -p icmp -j DROP
Run Code Online (Sandbox Code Playgroud)

但是我还是可以ping通。所以我认为作为同一个无线局域网中的两台主机,我不能使用 iptables,因为发送帧时没有使用第 3 层标头,我在无线适配器上运行的热点只是使用 802.11 地址字段来路由数据包(L2 标头)。这是正确的吗?谢谢

cyb*_*ard 4

首先在 hostpad 配置文件中进行设置:

ap_isolate=1
Run Code Online (Sandbox Code Playgroud)

另外:disable_dgaf=1

请阅读配置文件以获取更多详细信息。

您可能还需要这个:

iptables -A INPUT -p icmp -j DROP
Run Code Online (Sandbox Code Playgroud)

最好指定以太网适配器的名称,这样它就不会影响环回适配器或您可能拥有的任何其他适配器。

iptables -A INPUT -i eth0 -p icmp -j DROP
Run Code Online (Sandbox Code Playgroud)

进一步阅读:

https://www.frozenux.net/iptables-tutorial/iptables-tutorial.html