同时访问WiFi LAN(无网关)和移动networking

我知道这是之前(有限或没有解决scheme),但我没有看到任何最近的更新,我想我的情况是独特的,所以我会开始一个新的线程。

我有一个树莓派,它的function是作为一个热点等等。 按照devise,DHCP不是发送默认网关。 我的用例是一个或多个与Pi交互的设备作为服务器。

其中一个连接的设备将是一个移动设备(编辑:运行我的devise的一个自定义应用程序是整个解决scheme的一部分),该设备将保持其蜂窝连接,而不是绑定或路由,但应用程序可以访问内部和外部资源同时。

目前:

IOS :这与我在IOS上的预期完全一致 – 它感觉到WiFinetworking没有默认网关并通过小区发送外部stream量。

Android :这根本不起作用。 Android固执地看到WiFi连接,并禁用蜂窝,即使没有默认网关。

Windows Phone :一种混合。 两个networking都保持运行,但是我的scheme在公有DNS中有一个DNS条目,公共站点链接到了一个资源。 如果我直接使用Pi的WiFi IP地址链接到资源,它工作正常(虽然这会导致与安全有关的其他问题)。 如果我通过FQDN链接,我实际上不知道发生了什么事情。 虽然我在电话上安装的每个networking实用程序正确parsing了通过DNS的FQDN到Pi地址,但它不能从networking浏览器parsing。

希望这是有道理的。 问题:如何在2015年全面启用此function? :)对于我的目的,作为一个私人nonrrrableable热点Pi比WiFi直接或蓝牙更好的作品。 记住我不是要求电话ROUTE; 我需要我的自定义应用程序能够同时连接到Pi和公共Internet。 我希望所有的手机在这方面做IOS的工作。

我目前的情况是主办一个网页(除其他事项之外),这是我的偏好,但这可以甚至本地解决?

Solutions Collecting From Web of "同时访问WiFi LAN(无网关)和移动networking"

你说这不是一个束缚或路由的情况,但是如果你仔细想一想,那实际上是两种情况。

这是路由,因为来自电话的stream量需要路由到两个接口之一。 有可能没有通过电话路由,但它仍然是一个路由问题。 幸运的是,路由部分似乎在所有三个平台上工作。

这也是一个不寻常的tetheringforms。 唯一的区别是stream量不是来自Pi,而是来自电话,Pi而不是电话充当接入点。

从networkingangular度考虑它是非常重要的,因为它表明Android CAN同时具有WiFi和蜂窝活动(至less在热点模式下,但也可能在客户端模式下)。 在这方面,我的答案并不完整 – 我不能告诉你如何做到这一点。

至于你提到的Windows手机问题:为了解决这个问题,首先确定DNS服务器所在位置,了解Pi的FQDN。 公共DNS服务器是否知道它,即使它明显在私人networking上?

你的观察有两种可能的解释:

  • 没有公共的DNS服务器,甚至不知道这个FQDN。 在这种情况下,IOS可能使用类似mDNS的东西来定位Raspberry Pi。
  • 有一个知道这个FQDN的公共DNS服务器。 在这种情况下,也许Windows Phone检查火星人的DNS答复,并拒绝它,认为这是一个攻击。

无论哪种方式,你真正需要的是有两个独立的DNS基础设施。 一种方法是在您的应用程序中包含一个小型的DNS服务器(dnsmasq也许),并使用Pi的FQDN为该区域configuration一个转发器,以转发到Pi的IP地址(显然,必须进行硬编码)。 所有其他请求应该去正常的DNS服务器。

另一种方法可能是根本不使用DNS,而是使用hosts文件。