我之前已经知道它(有限的或没有解决方案)但是我还没有看到任何最新的更新,我认为我的情况是独一无二的,所以我将开始一个新线程。
我有一个Raspberry Pi,它在其他方面起着热点作用。根据设计,DHCP不会分发默认网关。我的用例是一个或多个与Pi作为服务器交互的设备。
其中一个连接设备将是移动设备(编辑:运行我设计的自定义应用程序,这是整个解决方案的一部分),该设备将保持其蜂窝连接,而不是用于网络共享或路由,但是应用程序可以同时访问内部和外部资源。
目前:
IOS :这与我在IOS上的预期完全一样 - 它感觉到WiFi网络没有默认网关并通过小区发送外部流量。
Android :这根本不起作用。即使没有默认网关,Android也固执地看到WiFi连接并禁用蜂窝网络。
Windows Phone :一种混合型。两个网络都保持不变,但我的方案在公共DNS中有DNS条目,公共站点链接到Pi上的资源。如果我使用Pi的WiFi IP地址直接链接到资源,它可以正常工作(尽管这会导致与安全性相关的其他问题)。如果我通过FQDN链接,我实际上不确定发生了什么。虽然我在手机上安装的每个网络实用程序都可以通过DNS正确解析FQDN到Pi地址,但它无法通过网络浏览器解析。
希望这是有道理的。问题:如何在2015年全面启用此功能? :)就我的目的而言,Pi作为私人不可路由的热点比WiFi直接或蓝牙更好。请记住,我并没有要求电话通过ROUTE;我需要我的自定义应用程序才能同时连接到Pi和公共Internet。我希望所有手机能够完成IOS在这方面的工作。
我目前的情况是主持网页的Pi(以及其他内容),这是我的偏好,但这可以在本地解决吗?
答案 0 :(得分:1)
你说这不是一种束缚或路由的情况,但是如果你考虑它,它确实是两者。
它是路由,因为来自电话的流量需要路由到两个接口之一。可能没有路由通过电话,但它仍然是路由问题。幸运的是,似乎路由部分正在所有三个平台上运行。
这也是一种不寻常的束缚形式。唯一的区别是流量不是来自Pi,而是来自手机,并且Pi而不是手机充当接入点。
在网络共享方面考虑这一点非常重要,因为它表明Android CAN同时具有WiFi和蜂窝电话(至少在热点模式下,但也可能在客户端模式下)。在这方面,我的答案并不完整 - 我不能告诉你如何实现这一点。
至于你提到的Windows手机问题:为了解决这个问题,首先要确定知道Pi的FQDN的DNS服务器所在的位置。公共DNS服务器是否知道它,即使它显然是在专用网络上?
您的观察有两种可能的解释:
无论哪种方式,您真正需要的是拥有两个独立的DNS基础架构。一种方法是在您的应用程序中包含一个小型DNS服务器(可能是dnsmasq),并为该区域配置一个转发器,使用Pi的FQDN转发到Pi的IP地址(显然必须硬编码)。所有其他请求应该转到普通的DNS服务器。
另一种方法可能是根本不使用DNS,而是使用hosts文件。
答案 1 :(得分:0)
对于Android手机,您可以使用名为“ WiFi和移动数据交换器”(https://play.google.com/store/apps/details?id=com.totemsoft.wifimd)的应用程序。对我来说,它解决了同时连接到互联网(通过移动数据)和本地网络(通过WiFi,无法通过WiFi访问互联网)的问题。此应用程序可以在三星Galaxy A8上正常运行。希望我的评论对某人有所帮助。