我很快就会遇到需要提供路由器来运行小型无线网络、本地网络文件存储和为小团体(约 10 人)提供互联网访问的情况。我已经有一台华硕 RTN16,我想利用它的内置网络存储功能,但我并不反对根据需要购买新套件进行补充或替换。我最大的症结是,在提供适当的互联网访问之前,我必须连接的互联网将是一个带有 HTTP 登录门户的基础设施网络。我知道这是一个糟糕的情况,但我几乎没有机会让网络管理员给我时间。
我目前的计划是使用带有 wifi 适配器的 Raspberry Pi 连接到此 WAN,并使用其上的真实浏览器通过 VNC 整理 wifi 登录。在这种情况下,Raspberry Pi 的有线连接可能必须位于具有手动分配 IP 的路由器的 WAN 上(我应该如何选择?),因此应该可以从路由器的 LAN 端访问以根据需要修复 WiFi 登录。Pi 上的两个接口之间的路由不会造成任何问题,并且所有流量看起来都应该像来自 Raspberry Pi,其 DHCP 获取的 IP 在 WiFi 端。
这有意义吗?它会起作用吗?我是否缺少更明显/可靠的解决方案?
答案1
有一个更好的解决方案,使用wget
ASUS 通过 CLI 登录 HTTP 门户。其标准手册页指出:
# Log in to the server. This can be done only once.
wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' http://server.com/auth.php
我建议对此稍作修改,
wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' --keep-session-cookies --delete-after http://server.com/auth.php
这两个新参数确保您保留 cookie(因为其中包含与身份验证相关的信息)并删除身份验证页面,因为您只对身份验证过程感兴趣,而不是对网页感兴趣。
该命令可以轻松编写脚本,插入到您的 .bashrc 文件中,或插入到定期监控网络访问的 at/cron 作业中,所有这些都不需要 Raspberry Pi。