如何在基于 Linux 的 Cisco WAP4410N 接入点中使用 WPA2 客户端模式

如何在基于 Linux 的 Cisco WAP4410N 接入点中使用 WPA2 客户端模式

我有一个 Cisco WAP4410N 接入点,我想用它作为客户端连接到 WPA2 无线网络(用于 WLAN 服务监控目的)。

据说此接入点支持允许执行此操作的“无线客户端/中继器”模式。中继器功能是可选的(我取消选中该框,以便没有人可以通过无线方式连接到此接入点)。我已通过 SSH 验证接入点已配置为客户端而不是主设备。但它从未与我要求的 SSID 关联。这是 iwconfig 显示的内容:

ath04     IEEE 802.11ng  ESSID:"myownssid"
          Mode:Managed  Channel:0  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power:14 dBm   Sensitivity=1/3
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/94  Signal level=161/162  Noise level=161/161
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

虽然我从未从命令行执行过此操作,但我想我可以使用 wpa_supplicant 或 wpa_client 来关联它,但我不知道如何在不编辑配置文件的情况下执行此操作,并且文件系统是只读的。此外,每次重启后我都必须手动运行这些命令。

如果可能的话,我想知道如何按照 Cisco 的方式做到这一点。如果不行,任何使这项工作可行的技巧都会有用。

编辑:这是最新固件 2.0.4.2。我发现并非所有文件系统都是只读的,因为 /var 和 /tmp 是以 ramfs 类型挂载的。

答案1

好的,我想我明白了。我通过 ssh 进入了接入点,我认为这是 Cisco 固件中的一个错误。

选择“无线客户端/中继器”模式后,将存储一个选项并重新启动系统。可以使用 nvram 命令读取选项,这个特定选项似乎是

wlan0_op_mode=UnversalClient

每次启动时,系统都会读取该选项并为 wpa_supplicant 生成合适的配置文件,并将其存储在 /var/wpasupp.cfg 中(/var 已安装在 RAM 中且可写入)。

该文件中存储的 SSID 和密码短语正确取自配置的第一个 SSID。但是生成配置文件的代码中有一个错误,因为它包含 wpa_supplicant 无法解析的一行。

此行内容如下:

ctrl_interface=/var/run/wpa_supplicant

现在,考虑到 wpa_supplicant 的其他版本的行为方式,这一行似乎没问题。但是 Cisco WAP4410N 中包含的这个特定版本的 wpa_supplicant 无法解析它,并且在使用调试选项 -d 运行时会显示这一点。

我的结论是,它应该从一开始就起作用,但是由于这个错误而没有起作用。

为了使其工作,必须修改此文件,并且每次启动后必须手动运行 wpa_supplicant。

相关内容