我有一个通过 ADSL 路由器连接到互联网的 LAN,并且在 LAN 中运行文件共享。
我想通过互联网上的另一个位置访问我的文件共享,我知道这不是通过互联网连接文件共享的方式,我可以使用 FTP 或远程桌面到 LAN 计算机内部,我知道在网络上共享文件并不安全,但我的问题是:
1-有没有什么办法我可以使用路由器的端口转发等功能来连接局域网中的单个计算机?
2- 我如何才能从 LAN 外部访问该程序共享?
3- NetBIOS 协议可以通过互联网工作吗?
- 假设我不能使用其他方式或更改路由器上的端口转发以外的任何内容,我可以访问我的共享文件吗?
答案1
让我们反过来回答你的问题:
- NetBIOS 本身不是一种可路由的协议,因此在其原生状态下,它无法在互联网上传播。但是,使用 TCP/IP 上的 NetBIOS,您可以对其进行路由。
- 需要像 sambaclient(linux)这样的客户端来访问共享。大多数 Windows 和 Linux 发行版都内置了客户端。
- 是的,您可以转发 tcp/137-139 和 UDP/445(如果您使用活动目录,则可以转发 udp/389)
总而言之,这是一个非常非常糟糕的主意。请确保锁定所有管理共享,因为许多客户端忽略了隐藏共享的 $ 规则,如果攻击者获得 IPC$ 或 ADMIN$ 的访问权限,您就完蛋了。
答案2
NetBIOS-over-TCP/IP 可以在互联网上运行 –主要:参阅下面有关NBNS的部分。
对于文件共享,Windows 使用 SMB 协议。
现代版本的 Windows 通过 TCP 直接使用 SMBTCP 端口 445。
传统上,SMB 是通过 NetBIOS 会话服务使用的。如今,NetBIOS 通过 TCP/IP(又称 NetBT)运行,并通过互联网工作,使用TCP 端口 139。
为了使 Windows 正常工作,应允许 ICMP Ping也一样。
请注意无法更改端口从其他 Windows 计算机连接时,必须使用端口 445 和 139。这意味着您只能访问一台电脑直接通过互联网。
什么不起作用是 NetBIOS 名称服务,它依赖于广播 - 例如,使用 TCP/IP 时为 UDP 端口 137。即使您在路由器中转发了它,它仍然不起作用。然而,名称服务不需要以使文件共享能够正常进行。您可以使用 DNS 代替它,或者直接输入 IP 地址:例如\\192.0.2.1\public-files
。
请记住,将 SMB 和/或 NetBIOS 暴露给互联网可能会非常不安全。根本没有数据加密,身份验证协议对嗅探器的攻击很弱,并且 Windows SMB/NetBIOS 实现已经许多过去的安全漏洞。避免这样做 – 请设置 VPN。