如何通过互联网通过 Web 和 SSH 从不同的 LAN 访问服务器

如何通过互联网通过 Web 和 SSH 从不同的 LAN 访问服务器

以下是我的情况:

我配置了一台服务器(上面装有 CentOS),以便它能够维护具有一些共同要求的 LAN 用户。该服务器将部署在全球不同的国家/地区。该服务器上安装了一个 Web 应用程序,LAN 内的用户可以访问该应用程序。

我需要直接访问该服务器,无论它位于何处。当我说远程访问时,我指的是通过 Web(访问其 Web 应用程序)和通过 SSH。目前,我的办公室里有一台具有静态 IP 的服务器。如果 Web 访问太复杂而无法获得,那么仅使用 SSH 访问也可以。

您能告诉我需要去哪里寻找解决方案吗?如果您能帮我提供一份蓝图(文字形式,而非图像形式),我将不胜感激。

注1:我不会为远程服务器设置静态 IP。我只有位于我办公室的服务器设置静态 IP。

笔记2:我对这类东西(通过互联网进行远程访问)还不熟悉。所以我只需要知道我需要实现什么。如果需要,我会更准确地提出问题,以了解详细信息。

结论:我所需要的只是一种用文字描述的解决方案的蓝图。(图片没有问题)

答案1

在您的服务器上安装 dyndns 客户端,它会在每次 IP 更改时更新您的 DNS。之后,您只需要在 FQDN 上使用 SSH/Web 即可连接到您的服务器。

答案2

这取决于您希望服务器暴露的程度。

  • dyndns 客户端 + 打开端口 80 和 443 到您计算机的 IP 地址:如果您无法限制对子网或 IP 的访问并且必须允许从整个 Internet 访问服务器,我不建议这样做。
  • 穷人的 VPN:让你的服务器登录到你工作场所的 ssh 服务器(用于autossh保持隧道畅通)并隧道传输流量(示例这里)。锁定主机以仅允许来自隧道和用户所在的内部网络的连接。
  • 企业 VPN

答案3

您可以使用 SSH 隧道通过 SSH 连接用浏览器访问内部管理网站(仅 SSH 端口需要面向公众)。

这是从 Windows 客户端完成的一种 SSH 隧道形式。除了通过远程位置网络浏览网页外,您还可以像在本地一样访问本地服务器(前提是没有添加任何限制来阻止这种情况)。 http://ethertubes.com/dynamic-socks-proxy-with-plink-exe-and-firefox/

要密切关注远程服务器的当前 IP 地址,您可以使用第三方(例如 DynDNS.org),或安排 cron 作业定期致电回家。

我使用 curl 从具有动态 IP 地址的服务器向具有静态 IP 的服务器发出预定的 Web 请求。稍后您可以检查当前 IP 的 Web 日志(假设每个远程服务器都在请求唯一的资源),或者您可以在 Web 服务器上编写脚本来更新数据库或文件。

相关内容