与 phone 的无线接入点通信适用于 Android 但未收到来自 IOS 的任何请求?

Wireless Access Point Communication with phone works for Android but not receiving any requests from IOS?

我正在尝试设置一台计算机,它将以无线接入点模式启动,从用户的 android/ios 设备上接收 SSID 和密码,然后加入从用户那里收到的网络表格。

到目前为止,这在 Android 设备上运行良好。但是,出于某种原因,在任何 ios 设备上尝试此操作会导致无法与无线接入点通信。似乎 ios 自动尝试通过 lte/wireless 数据查找静态 ip(在本例中为 192.168.0.20),而不是将请求发送到我的接入点。

配置文件如下:

hostapd.conf:

interface=wlan0
ctrl_interface=/run/hostapd
ctrl_interface_group=0
ssid=my_access_point_ssid
country_code=US
auth_algs=3

dnsmasq.conf:

interface=wlan0
dhcp-range=10.0.0.3,10.0.0.20,12h
port=80

创建无线接入点并填写 ssid 和密码表单并将 POST 请求发送到无线接入点后,shell 脚本接收信息并连接到该点接入点如下:

nmcli device wifi connect "" password ""

好的,我明白了。在启动接入点的脚本中,我有

ip addr add 10.0.0.1/24 dev wlan0

出于某种原因,Android 不关心“路由器”IP 地址是 10.0.0.1,但 ios 关心并且只会通过 10.0.0.1/ 向接入点发送请求api_endpoint.

我将启动脚本无线配置更改为

ip addr add 192.168.0.20/24

除此之外,我还必须更改 dnsmasq.conf dhcp-range:

dhcp-range=192.168.0.21,192.168.0.49,12h

我不确定利用 192.168.0.xx 给 phone 是否违反最佳实践,但它似乎适用于 phone 这个用例将只有一个连接到的临时本地接入点。