我有一个在 localhost 中运行的 Flask 服务器,我想让设备无需互联网即可访问它。我读到,通过设置 LAN 网络可以实现这一点,我想知道是否可以使用 Ubuntu 创建一个 LAN 网络,并使用它让设备无线连接到该网络并访问我的 Flask 应用程序提供的服务。
- 我需要一个路由器来实现这个吗?
- 如何配置我的 Ubuntu 21 机器,使其可以被 Android 或 Raspberry 等其他设备访问,而无需互联网连接?
我一直在寻找方法来实现这一点,但我所看到的都是假设人们有互联网连接的教程。
答案1
您真正需要的是无线接入点 (AP),通常内置于无线互联网路由器中。您可以使用 Ubuntu 的 WiFi 热点功能将您的机器变成 AP(更多细节),因此您不需要额外的硬件。
这样,您的客户端就能够无线连接到您的机器,然后所有设备都在 (W)LAN 中。您需要在所有客户端上指定相同的子网掩码,并且每个客户端都需要来自同一子网的唯一 IP 地址,例如:
- IP:192.168.1.x(将 x 替换为 1 至 254 之间的任意数字)
- 子网掩码:255.255.255.0
最后,您需要设置 Flask 服务器来监听您机器的 IP 地址,而不是 localhost 或 127.0.0.1。我不了解 Flask,也许可以使用标志--host
?
如果您使用 flask 可执行文件启动服务器,请使用 flask run --host=0.0.0.0 将默认值从 127.0.0.1 更改,并将其开放给非本地连接。(更多细节)