Hostapd: WIFI AP가 연결된 호스트를 핑할 수 없습니다.

Hostapd: WIFI AP가 연결된 호스트를 핑할 수 없습니다.

저는 임베디드 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에서 AP의 IP를 ping할 수 있지만 , AP 내에서 내 PC의 IP를 ping 192.168.0.1할 수는 없습니다 .192.168.0.20

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에서는 제대로 작동합니다. 하지만
AP에서 실행하면 실패했습니다.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.20Windows PC용 MAC 도 얻을 수 있습니다. 그러나 Linux AP에서 Windows PC를 ping하는 데 여전히 실패합니다.

답변1

나는 또 다른 시험을 치르고 답을 얻었다.

Linux 보드를 호스트 모드로 설정하고 사무실 WIFI AP에 연결했는데 IP는 192.168.95.77입니다.
그런 다음 Windows PC를 동일한 WIFI AP에 연결했는데 IP는 192.168.95.96입니다.

Windows PC에서 Linux 보드로 ping을 보낼 수 있지만 Linux 보드에서 Windows PC로 ping할 수는 없습니다. 질문에 게시한 것과 동일한 문제입니다.

그래서 IT 팀에 문의하여 Windows PC에 192.168서브넷에서 들어오는 핑을 거부하도록 방화벽이 구성되어 있음을 확인했습니다.

관련 정보