语境:我正在尝试通过桥接以太网连接在 Raspberry Pi 上设置 WiFi 热点。
问题:如何禁用 AP 隔离或客户端隔离?
前期工作:这是我迄今所做的事情。
安装以下模块。
apt-get install hostapd bridge-utils
停止 hostapd 服务。
systemctl stop hostapd
防止 eth0/wlan0 端口被 DHCP 分配。
vi /etc/dhcpcd.conf
在文件末尾但在任何接口块上方添加以下行。
denyinterfaces wlan0 denyinterfaces eth0
添加桥梁。
brctl addbr br0
连接
eth0
到br0
。brctl addif br0 eth0
添加到接口。
vi /etc/network/interfaces auto br0 iface br0 inet manual bridge_ports eth0 wlan0
配置接入点。
vi /etc/hostapd/hostapd.conf interface=wlan0 ssid=wifi-ssid hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=passphrase wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
点系统使用此文件。
vi /etc/default/hostapd DAEMON_CONF="/etc/hostapd/hostapd.conf"
重启
systemctl start hostapd reboot
答案1
看着hostapd.conf, 它说
# Client isolation can be used to prevent low-level bridging of frames between
# associated stations in the BSS. By default, this bridging is allowed.
#ap_isolate=1
所以客户端隔离(同一 AP 上的 WLAN 客户端可以相互通信)默认情况下处于禁用状态。除非您的构建hostapd
默认启用了此功能,否则客户端应该能够相互通信。如果是这种情况,请在配置文件中启用它。
您如何确定 WLAN 客户端无法相互通信,并且启用了客户端隔离?两个 WLAN 客户端是否相互 ping 通?
如果您的问题不是关于客户端隔离,而是关于桥接器eth0
无法wlan0
正常工作:再次,您如何测试它是否无法正常工作?让 LAN 上的主机和 WLAN 上的主机互相 ping 吗?您是否检查了每台主机上的 IP 配置?主机如何获取其 IP 地址(从哪个 DHCP 服务器?还是静态的?)您是否检查了路由?您可以在tcpdump -ni interface_name
每个重要接口的终端窗口中进行调试,并查看数据包卡在哪里。
实际上隔离LAN 与 WLAN 通常使用ebtables
规则,而且您不太可能意外插入正确的规则...因此可以肯定您的设置中存在某些无法正常工作的问题。