由于一个特殊原因(这里并不重要),我需要通过 WiFi 将 VPN 连接共享给多个嵌入式设备。一种方法是使用专用无线路由器,昂贵且笨重。另一种相当漂亮的方法是使用 Raspberry Pi 和 OpenVPN+hostapd+适当路由在一个方便的盒子里自制路由器,这是我解决问题的方法,效果非常好。
但是,唉,我愚蠢地把设备忘在家里了,现在我被困在一个没有商店销售树莓派设备的地方一个星期。我有多个设备需要通过 WiFi 连接,如下所示:
- 每台设备都需要通过 VPN 访问互联网
- 它们都具备WiFi接口,作为客户端
- 其中只有一些支持 VPN 客户端功能
- 设备之间也需要在本地网络内部进行通信,然后通过 VPN 路由到外部世界。
我有一个好主意,使用装有 Windows 7 的笔记本电脑来实现此目的,通过无线托管网络结合 Windows 内置的 SoftAP 功能(https://docs.microsoft.com/en-us/windows/desktop/nativewifi/about-the-wireless-hosted-network)、OpenVPN 和 Internet 连接共享。
它可以工作。然而,让我感到恐惧的是,设备在连接到笔记本电脑(假装是接入点)后似乎彼此隔离。例如,Ping 无法通过(我可以从笔记本电脑 ping 设备,反之亦然,但无法从设备 2 ping 设备 1)。
现在,客户端隔离是公共 WiFi 网络中众所周知的功能,但我找不到与 SoftAP/无线托管网络/ICS 相关的任何有关此主题的文档。
有没有办法关闭它,让设备可以“看到”彼此?注册表设置?我试图禁用笔记本电脑上的防火墙,但无济于事。尤其令人震惊的是,Windows 中 SoftAP 的既定目的是“个人区域网络”,人们确实希望客户端之间能够有一定程度的亲密关系。
有任何想法吗?
答案1
最后,我通过找出一台古老的笔记本电脑(它仍然有 3.5 英寸软盘驱动器,哈哈)并在上面安装 Ubuntu 16.04 LTS 解决了这个问题。
设置变得更加笨拙,新的发行版(18.04)不再支持 32 位,并且笔记本电脑包含可怕的 SiS 图形芯片,它会随机使计算机进入睡眠状态,直到我完全禁用电源管理。
Raspberry Pi 的运行更加可靠,我不推荐上述设置 —— 这真的是最后的手段。