hostapd:WIFI AP 无法 ping 通与其连接的主机

hostapd:WIFI AP 无法 ping 通与其连接的主机

我正在开发一个嵌入式Linux系统(kernel-5.10.24),我的系统中有一个RTL8723 WIFI模块。

现在我使用 hostapd/udhcpd/dnsmasq 将目标板配置为 WIFI AP。

hostapd.conf 是。

interface=wlan0
driver=nl80211
ssid=TestWIFIAP
channel=1
hw_mode=g
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0

udhcpd.conf 是

start           192.168.0.20     #default: 192.168.0.20
end             192.168.0.254   #default: 192.168.0.254

# The interface that udhcpd will use
interface       wlan0           #default: eth0
remaining yes
......
opt       dns       8.8.8.8 8.8.4.4
opt       subnet    255.255.255.0
opt       router    192.168.0.1

系统中的wlan0配置为192.168.0.1

启动hostapd/udhcpd后,我可以将我的Windows PC连接到AP,PC分配的IP为192.168.0.20.

我可以从 PC ping 通 AP 的 IP 192.168.0.1,但无法192.168.0.20从 AP 内部 ping 通我的 PC 的 IP。

AP中的网络信息是。

# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:40 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3744 (3.6 KiB)  TX bytes:3744 (3.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 30:95:87:XX:XX:XX
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15966 errors:0 dropped:64 overruns:0 frame:0
          TX packets:7603 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20882819 (19.9 MiB)  TX bytes:647826 (632.6 KiB)

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 wlan0

iperf -s然后我开始在 AP 中运行,并且iperf -c 192.168.0.1 -t 10在我的 PC 上运行良好。但如果我在美联社
跑的话就失败了。iperf -c 192.168.0.20 -t 10

我用谷歌搜索并发现类似的问题,但没有可靠的解决方案/解释。

Linux AP中的防火墙设置如下,

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

并且arping -I wlan0 192.168.0.20可以获得Windows PC的MAC。但从 Linux AP ping Windows PC 仍然失败。

答案1

我又做了一次测试,得到了答案。

我将Linux板设置为主机模式,并将其连接到办公室的WIFI AP,它的IP为192.168.95.77。
然后我将Windows PC连接到同一个WIFI AP,其IP是192.168.95.96。

我可以从 Windows PC ping 到 Linux 板,但无法从 Linux 板 ping 到 Windows PC,与我在问题中发布的问题相同。

因此,我向 IT 团队进行了检查,并确认 Windows PC 配置了防火墙以拒绝192.168子网上的输入 ping。

相关内容