第一次来这里所以请温柔一点!
我已经设置了一个小型校园网络,其中的 Ubuntu 12.04 服务器主要用作文件服务器。我已经设法设置了服务器(全部基于命令行 - 没有 GUI)并设置了 Samba 共享,它在内部运行得非常好。在内部,学校有 Mac 和 Windows 机器的组合,它们都可以顺利访问共享。
学校有固定 IP ADSL 连接,我在路由器中添加了一条路由,允许我使用 SSH(端口 22)远程访问服务器。这也很好用。到目前为止一切都很好!
我现在想要做的是允许远程访问共享。我读了一些资料,以为我已经找到了 SSHFS 的答案,但我仍然一无所知。
所以,我的基本问题是:
在 Windows 中,如何通过路由器映射到互联网上的 Ubuntu 共享?
在 Mac OS 中,如何通过互联网添加远程共享?
学校以前有一台 Windows 服务器,用户习惯于创建 VPN,然后拉出共享文件夹等,但我不确定如何使用 Ubuntu 服务器执行此操作。我想我需要通过路由器添加另一条路由以允许 SSHFS 或类似的东西?
提前致谢...
唐纳德
答案1
棘手的问题
如果你还没有意识到这一点,那么你问的问题可能答案很长、很复杂,而且离题很多。在不久的过去,在 Ubuntu/Linux 上创建 PPTP VPN 相当容易;但是,不要这样做,因为MS-CHAP 现已可破解。而且,我们绝不会走捷径,通过在路由器/防火墙中为 Samba 打开端口,直接将 Samba 暴露在互联网上(不安全)。简单的方法是购买 VPN 硬件,可能是 SonicWall,或者任何满足您需求的产品。否则,请更改您在互联网上共享文件的方式(而不是使用 SMB)。
问题中没有提到的一个目标是打印。为此,请使用 IPP(Ubuntu 上的 CUPS)。在路由器上打开端口 631,以便CUPS 服务器。另外请记住,如果没有 VPN,我们将无法使用 RDP,除非我们实施下面的 NeoRouter 等软件。但是,您目前没有 VPN,所以我认为这不是问题。
所以,我们已经有一个可用的 SSH 配置。为什么不利用它作为杠杆呢?首先,记得安装 DenyHosts、fail2ban 或其他软件,以确保您免受暴力攻击。服务器几乎肯定会不断受到来自世界各地的攻击。(如果不是今天,请给它时间。)然后,您希望他们指向并单击文件,对吗?
对于 Windows
所以,WIN-SSHFS创建一种通过 SSH 安装 Windows 驱动器号的方法。并且,嗖嗖为 Windows 资源管理器添加对 SFTP 的支持。
对于Mac
我无法对此发表太多评论,因为我不了解 Mac。我知道 Mac 的底层是 Darwin Unix。使用类似的方法可能会奏效MacFusion。
有些不同
NeoRouter我从未尝试过,但听说效果不错。它不仅提供文件共享,还提供 RDP。
钝
我们可以就这个话题展开很长时间。因此,这个答案大多是晦涩难懂的。实现一个满足所有要求的优雅解决方案可能非常具有挑战性。还有很多事情要做。如果您使用的是 SFTP/SSHFS 方法,那么还需要更多时间。例如,对共享目录的文件系统权限可能会通过以下方式完成:访问控制列表虽然这不是一个精确的答案,但我希望有足够的线索来继续前进。