我的一个朋友在我们的 LAMP 开发服务器上安装了 VPN。以前,我们只使用 SSH,有时也使用 SSH 公钥来避免密码提示。我的问题是,与仅使用 SSH 公钥相比,使用 VPN 有什么优势?我可以利用哪些新功能?为什么 VPN 是必要的?
答案1
如果您使用 VPN 访问一台机器,那么归根结底还是看您有多懒惰。VPN 给您的唯一好处就是无需通过 SSH 使用端口转发或 SOCKS 代理。这对于 FTP 或 UDP 应用程序(如 DNS)等来说可能是有利的。此外,如果您要通过 VPN 链接使用 SSH 访问一台主机,那么这只是浪费一点资源。最重要的是,它可以使某些东西更容易访问,您现在可以更轻松地测试某些服务(如 DNS),但如果只有一台主机,那么您实际上不会获得任何有用的东西。
另一方面,如果您在 VPN 的另一端有一些系统/设备,那么这将非常有利,因为您将能够直接通过 ssh 连接到您的主机,而无需通过跳转箱或设置入站 ssh 端口转发。此外,如果您的 VPN 隧道始终处于开启状态并且可以在两端路由,那么它对于执行数据的远程备份非常有用。
答案2
“虚拟专用局域网”与“虚拟专用端口转发”相对
主要是方便。通过 VPN 连接的整个 LAN 都可以透明地供您使用,而不是只拥有一个 shell 和通过端口转发的服务。
答案3
你支持什么样的环境?
您只是将一个服务或工作站从一个位置连接到另一个位置吗?如果是这样,那么您可以根据需要打开和关闭 SSH 隧道。
您是否将办公室之间的整个子网连接在一起?
在这种情况下,请使用全面的 VPN 解决方案。当然,您可以使用 SSH 隧道和各种自定义黑客技术来创建 VPN 解决方案,仅使用 SSH 和其他系统工具,但您的继任者将很难支持它,并且可能会抛弃它而选择 Cisco 或 OpenVPN。
这实际上关乎作为系统管理员最有效地利用时间,并且考虑到浪费系统管理员时间来破解定制解决方案的机会成本,打包解决方案通常要便宜得多。
有人可能会认为 SSH 隧道是最简单的解决方案,除非人们考虑到建立连接所需的所有部分,但最简单也意味着在部署的整个生命周期内最容易支持和维护。
尽管有重复的风险,我还是强烈推荐新系统管理员阅读这本书:《系统和网络管理实践》。http://www.amazon.com/Practice-System-Network-Administration/dp/0201702711
答案4
通过 VPN,您可以同时访问本地网络(公司/家庭)和远程网络(开发网络),而当您通过 SSH 连接到某个服务器时,您基本上是在远程网络上。
当您的开发服务器位于单独的网络上并且没有从主/公司网络访问它的路由时,VPN 是替代方案之一。