如何阻止所有来自 wifi 的传入请求

如何阻止所有来自 wifi 的传入请求

我正在尝试使用 Debian 中的 iptables 阻止所有 wifi 连接,但它不起作用,以下是我尝试过的方法

iptables -A INPUT -i wlan0 -j DROP

我也尝试过阻止端口 80 和 443,但没有用
更新:

 root@raspberrypi:~# iptables -L FORWARD -v
 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
0     0 DROP       all  --  wlan0  any     anywhere             anywhere  

更新1:

  root@raspberrypi:~# iptables -L -v
  Chain INPUT (policy ACCEPT 918 packets, 122K bytes)
  pkts bytes target     prot opt in     out     source               destination         

  Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
  pkts bytes target     prot opt in     out     source              destination         
0     0 DROP       all  --  wlan0  any     anywhere             anywhere            

  Chain OUTPUT (policy ACCEPT 777 packets, 65072 bytes)
  pkts bytes target     prot opt in     out     source               destination   

更新2:

 gateway---(wlan0)pi(eth0)----client 

更新3: 我的 wlan0 没有配置

答案1

根据您在问题下方的评论,您想要替换INPUTFORWARD

iptables -A FORWARD -i wlan0 -j DROP

INPUT过滤发往机器的数据包,但仍允许转发数据包。因此,如果您想要强制门户,则需要使用FORWARD来捕获否则将被路由的数据包。

提示:对于强制门户,我建议辣椒库瓦因为它的可扩展性非常好。虽然它在小规模上效果很好,但我曾参与过在全国范围内的超大规模网络中实施它。

编辑#1:

您可能希望使用-I而不是-A来确保该规则优先于允许其通过的任何其他规则。如果这种情况仍然发生,DROP请发布 的输出。iptables -L FORWARD -v

编辑#2:

我倾向于认为你的 Pi 并没有充当路由器,因为规则没有捕获任何数据包(如最左边的数字所示)。所以显而易见的问题是,这些数据包要去哪里?请发布 的输出iptables -L -v。与上一个相同,但现在我们想要所有表,而不仅仅是FORWARD

注意:我可以看到你默认为ACCEPT。确保没有任何东西偷偷溜过去的常用方法是将默认设置为DROP,明确仅ACCEPT允许应该允许的事情。

编辑#3:

数据包似乎在OUTPUT链中退缩了。尝试将规则更改为:iptables -A FORWARD -o wlan0 -j DROP(wlan0 是输出接口,而不是输入接口?)

相关内容