使网络驱动器可通过 Internet 使用?

Sas*_*gov 26 internet file-sharing network-shares ubuntu-server

我最近构建了一台小型服务器机器,使用 Ubuntu Server 和 Samba,作为文件服务器(除其他外),以​​便我的整个家庭可以从 Windows 机器通过网络访问某些文件。但是,我很想更进一步,让这些共享可以在远离家的地方通过互联网访问。我该怎么做?我对 Windows 网络共享系统的工作原理知之甚少,所以我不知道从哪里开始。

use*_*686 19

使用 Samba,您必须将端口445/tcp暴露给外部——通常这涉及在路由器中配置“端口转发”。此外,您必须确保您的外部 IP 地址可以从外部 ping 通。

在此之后,您将能够通过\\youraddress资源管理器的地址栏或开始-运行中输入来访问共享。(这里youraddress是您的外部 IP 地址或您的 DNS 名称,如果您有的话。)

但是请注意,Windows 文件共享使用的 CIFS 和 SMBv2 协议不提供数据加密(因此任何拥有数据包嗅探器的人都可以监视您的文件传输),并且其身份验证也不是特别强。只有 SMBv3 获得了加密支持。

另外,不要忘记 Windows 的 SMB 服务过去是一个非常频繁的感染目标。虽然大多数 Windows 漏洞不会以任何方式影响 Samba,但这仍然值得记住(并且通常意味着 SMB 端口在 ISP 级别被阻止)。

另请注意,默认情况下,Windows 计算机会记住整个本地会话的登录凭据。除非您以“访客”身份连接到 Samba,否则您必须在公共机器上特别小心:net use \\address在资源管理器中打开之前始终使用/net use \\address /del断开连接。(这在个人计算机上不需要。)

为了获得一些额外的安全性,请将以下内容添加到 中的常规部分smb.conf

LANMAN auth = no
NTLM auth = no
invalid users = root
Run Code Online (Sandbox Code Playgroud)

  • 附带说明一下,您有什么建议可以使缺乏数据加密的问题不那么严重吗?我信任我连接到的所有网络,但我可能想,例如,为我的女朋友(她可能在不可信的网络上)创建一个帐户,以便她可以访问我的音乐/照片/等。我总是可以给她一个只读帐户并称其为好,但我只是想知道您是否有一些更具体的建议。再次感谢! (2认同)
  • 请注意:对于加拿大 ISP,除非您有企业帐户,否则 SMB 端口会被阻止。如果您使用的是 JUST SMB,请确保您的 ISP 解锁端口 (2认同)

Law*_*ceC 9

如果您的家人可以使用 WinSCP,那么:

  • 安装和设置 SSH
  • 在您的服务器上为您的家人提供本地帐户
  • 将您的文件存储符号链接到这些目录中。例如,如果您/srv/samba_files通过 Samba进行公开,您需要ln -s /home/{user}/files /srv/samba_files为每个帐户执行一个或类似的操作。如果您必须为多个帐户执行此操作,您可以编写一个脚本来执行此操作。
  • 在您家人的计算机上安装 WinSCP

然后,您将拥有一种不太难使用的非常安全的文件传输方法。

但是,如果您真的希望将“网络驱动器”与 Windows 集成,我会了解 OpenVPN,然后设置到您的家庭网络的桥接隧道。我已经成功地让 Windows 文件共享在这样的隧道上工作。

您还可以使用 PoPToP (pptpd) 来允许 Windows 系统通过 PPTP vpn 连接回您的 Ubuntu 机器。(IPSec/L2TP 隧道会提供更好的安全性,但设置起来很困难)。