私は組み込み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.20
Windows 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
サブネットからの着信を拒否するようにファイアウォールが構成されていることを確認しました。