![如何在 Android 网络共享热点上使用 SAMBA SMB LAN 共享?](https://linux22.com/image/1615412/%E5%A6%82%E4%BD%95%E5%9C%A8%20Android%20%E7%BD%91%E7%BB%9C%E5%85%B1%E4%BA%AB%E7%83%AD%E7%82%B9%E4%B8%8A%E4%BD%BF%E7%94%A8%20SAMBA%20SMB%20LAN%20%E5%85%B1%E4%BA%AB%EF%BC%9F.png)
几个小时后我就没主意了。
我有一部手机。我将我的电脑连接到其主机点来上网。
我想连接到我的电脑(Win10)的共享文件夹,但这是不可能的!
我不明白为什么。
如果我将我的 Android 连接到我的 PC 热点,那么是的 - 我可以通过 SMB 进入我 PC 的共享文件夹,但如果热点来自我的 Android 则不行。
我做错了什么?我不在同一个子网上吗?如果不是,那么端口转发?代理服务器?我需要将哪个端口/IP 转发到哪个 IP/端口?(如果是这种情况,我将非常感激一些示例设置)
(是否由于某些不为人知的原因,使用常规工具无法实现?)
谢谢你!
附言:顺便问一下,我的设置是否可以实现双向连接。这样我就可以在 PC 上浏览 Android 的文件系统,也可以在 Android 上浏览 PC 的文件系统?还是只有在 Android 上创建显式 SAMBA 服务器才有可能?
答案1
尝试连接到你的热点,然后在 CMD( ifconfig )中检查笔记本电脑上的 ip,然后尝试使用“Cx 文件资源管理器“... 并确保您连接到热点而不是公共热点。Windows 上的公共网络阻止了大多数连接端口(smb 就是其中之一)
PS,我建议您对您的共享设置密码保护,因为有时为了与基于 Linux 的系统进行通信,这是必需的。
答案2
Windows SMB 并非设计用于互联网。许多(如果不是全部)ISP 都会阻止相关端口的传入连接,以防止黑客入侵。
如果您的 PC 和另一台设备连接到同一个路由器(热点就是路由器),那么就不需要通过 ISP,一切就可以正常工作。
您需要使用第三方服务(如 OneDrive 或 Google Drive)或可以在您自己的网络上托管的文件共享服务,例如 NextCloud 或 Sharepoint。
答案3
您的设置存在以下问题:
- Android 通过其 SIM 卡和移动天线实现移动互联网连接。就 Android 而言,这充当网络客户端。此接口存在于网络上
142.155.0.0/16
。 - Android 有第二个连接,即热点连接。这很特别,因为 Android 在接口 #1 和这个接口之间创建了一座桥梁。Android 不提供用于更改此新网关路由表的接口(至少据我所知)。此接口存在于网络上
192.168.10.0/24
。 - 您的 PC 正在通过其自己的 WiFi 接口连接到接口 #2。网关正在为其分配一个 IP 地址(
192.168.10.1
例如,在此示例中)。假设 PC 被分配了一个 IP 地址192.168.10.23
。
现在,Android 将使用接口 #1 来处理其所有 3 级和 4 级网络需求(IP、TCP、UDP 等)。用户无法访问(再次说明,据我所知)控制接口 #2 上的任何网络相关内容。
因此,当您使用 Android 设备时,您会尝试从接口 #1 (Android 移动天线)访问192.168.10.23
(PC) 。142.155.0.201
移动天线的 ARP 表中没有此 IP 地址的 MAC 地址,因此它会将消息转发到其默认网关,即:(142.155.0.1
您的网络运营商路由器),以查看它是否知道192.168.10.23
(PC)位于何处。它不知道,因此请求最终将被丢弃。
解决这个问题的方法是:
- 配置接口#2以将传出的请求(不在其网络中的请求
192.168.10.0/24
)转发到142.155.0.1
(您的网络运营商路由器)。 - 配置接口 #1 以使用接口 #2 作为其默认网关。
没有 root 权限,这是不行的...但是有了 root 权限,至少在理论上,应该有可能,但可能不值得这么麻烦。当热点关闭时,它还需要重置,否则您的设备将无法访问互联网。
也许有某个应用程序可以处理这个问题?也许是 xda 的网站?但我真的不知道。
如果您想进一步研究的话,这就是您所面临的问题。