我知道之前曾有人问过(解决方案有限或没有解决方案,但是我没有看到任何最新更新,我认为我的情况很独特,因此我将开始一个新线程。
我有一个Raspberry Pi,它起着其他功能。根据设计,DHCP不会分发默认网关。我的用例是一个或多个与Pi作为服务器交互的设备。
其中一个连接的设备将是移动设备(编辑:运行我设计的定制应用程序,该应用程序是整个解决方案的一部分),该设备将保持其蜂窝连接,而不是用于网络共享或路由,而是使应用程序可以同时访问内部和外部资源。
当前:
IOS:这完全符合我在IOS上预期的工作-感觉到WiFi网络没有默认网关,并通过小区发送外部流量。
Android:根本不起作用。 Android顽固地看到WiFi已连接并禁用了蜂窝网络,即使没有默认网关也是如此。
Windows Phone:混合的种类。两个网络都保持正常运行,但是我的方案在公共DNS中有一个DNS条目,并且有一个公共站点链接到Pi上的资源。如果我使用Pi的WiFi IP地址直接链接到资源,则可以正常工作(尽管这会导致其他与安全性相关的问题)。如果我通过FQDN链接,则实际上不确定发生了什么。尽管我在电话上安装的用于故障排除的每个联网实用程序都可以通过DNS正确地将FQDN解析为Pi地址,但是它无法通过Web浏览器解析。
希望这很有道理。问题:2015年如何全面启用此功能? :)就我而言,Pi作为不可路由的私有热点比WiFi Direct或Bluetooth更好。记住,我并不是在问电话ROUTE;我需要我的自定义应用程序,以便能够同时连接到Pi和公共互联网。我希望所有电话都可以执行IOS在这方面的工作。
我目前的情况是Pi托管网页(除其他外),这是我的偏爱,但这是否可以本机解决?
您说这不是网络共享或路由的情况,但是如果您考虑一下,确实是两者兼有。
这是路由,因为来自电话的流量需要路由到两个接口之一。电话可能没有路由,但仍然是路由问题。幸运的是,路由部分似乎可以在所有三个平台上正常工作。这也是一种不常见的网络共享形式。唯一的区别是流量不是来自Pi,而是来自电话,并且Pi而不是电话充当接入点。
关于网络共享的思考很重要,因为它表明Android CAN可以同时具有WiFi和蜂窝活动功能(至少在热点模式下,也可能在客户端模式下)。在这方面,我的答案还不完整-我无法告诉您如何实现。
关于您提到的Windows Phone问题:为了解决此问题,请首先确定知道Pi的FQDN的DNS服务器所在的位置。即使公共DNS服务器显然在专用网络上,它也知道吗?
有两种可能的解释供您观察:
另一种方法可能是根本不使用DNS,而是使用hosts文件。