我正在使用 Ubuntu 18.04 的 WiFi 热点功能为我的设备创建热点。我需要防止网络上的不同设备相互联系。
更具体地说,我在网络上有两部电话,我希望它们不能互相发送任何数据包。现在如果电话 1 使用 IP 地址 10.42.0.172 而电话 2 使用 10.42.0.59,我可以使用电话 1 ping 10.42.0.59。
我想禁用热点创建的网络上不同主机之间的连接。我尝试了很多方法,包括使用 iptables 丢弃本地流量。但是,似乎 iptables 对本地数据包没有任何影响。我想知道是否直接转发本地数据包而不通过内核的网络堆栈。我确实在wireshark上看到了本地数据包。
在引擎盖下,热点使用 wpa_supplicant 来设置 wifi 接入点。所以我尝试开启客户端隔离(ap_isolate),让热点网络上的设备不能互相发送数据包。因此,一旦设置了热点,我将执行以下操作:
$sudo wpa_cli -i wlan0
#set ap_isolate 1
OK
#get ap_isolate
1
所以我看到启用了 AP 隔离。但是,我仍然可以在热点网络上将数据包从一台设备发送到另一台设备。这是为什么?我错过了什么吗?有没有办法在 WiFi 热点上进行隔离?