我想连接到公共 SFTP 服务器,但不是通过其公共 IP,而是通过 OpenVPN 连接,因为该服务器拒绝来自 Internet 的 SSH 连接。我在装有 TAP 驱动程序的 Windows 7 计算机上使用 OpenVPN。
如何配置 FileZilla 以使用 OpenVPN 连接?
答案1
FileZilla 不需要明确知道您想要通过什么连接进行通信。您只需使用 SFTP 服务器的 VPN IP 而不是其公共 IP 作为 FileZilla 中的主机名即可。这样 FileZilla 将通过 VPN 进行连接,而无需执行任何不同操作。
如果您尝试使用 SFTP 服务器的域名作为 FileZilla 的主机名,则可能需要手动配置 Windows 以使用 VPN 的 DNS。OpenVPN 有时无法自动执行此操作。
如果您有权访问服务器,则可以从服务器上的网络配置设置中检查服务器的私有 IP。或者,如果您无权访问服务器,则可以尝试从本地 LAN 客户端之一检查它,方法是查看其配置或只是 ping 服务器。
在某些 LAN 配置中,VPN 连接的客户端无法访问 DMZ 上的服务器,在这种配置中您的请求无法实现。在这种情况下,当通过 VPN 连接时,您将无法使用其私有 IP 进行连接。这应该与网络管理员核实。
答案2
公共 SFTP 服务器必须运行配置为同一虚拟网络一部分的 OpenVPN 实例。如果不是这种情况,OpenVPN 无法为您提供帮助。
如果是这种情况,SFTP 服务器将监听其 OpenVPN IP 地址。它可能是子网中的第一个地址。启动 OpenVPN 实例时,您应该能够 ping 该地址。
例如,我在一台服务器上设置了 OpenVPN 作为服务器。它设置为在其公共 IP、端口 22220 上接受传入连接,并使用私有 IP 地址范围 192.168.64.1 到 192.168.64.126 创建虚拟网络。
在客户端,OpenVPN 设置为连接到我服务器的公共 IP 地址、端口 22220。我启动我的 OpenVPN 客户端,它通过其 IP、端口 22220 连接到 OpenVPN 服务器,并建立隧道。
此时我可以输入ping 192.168.64.1
并访问运行 OpenVPN 的服务器,由于这是在我定义的虚拟网络上,所以它肯定会通过 OpenVPN 隧道。
因此,如果我在该系统上运行 FTP 服务器,我会告诉它监听 192.168.64.1。然后,您可以将 FTP 客户端指向 192.168.64.1 并通过隧道进行连接。