通过VPN连接FTP

8
一个客户有一个只能在他们的网络上访问的Web服务器。例如,假设我的登录详细信息是:服务器:example.com用户:user密码:password,当我在他们公司的互联网上时。我使用Cyberduck或FileZilla连接到他们的Web服务器。我更希望能够远程连接,但我在设置这个过程中遇到了很多麻烦。我已经连接到客户的VPN(假设为vpn.example.com),并使用Cisco AnyConnect来完成此操作。除此之外,我对VPN的了解很有限。在FTP客户端中,我应该做些什么以确保它使用VPN连接到example.com而不是我的家庭连接?谢谢。-m

这将取决于TCP/IP路由表; 如果你使用的是Linux系统,请运行“ip route”以转储路由表(如果你愿意,可以编辑它们以保护隐私--只需确保在整个输出中完全相同地替换数字),然后将它们编辑到你的帖子中。 - sarnold
3个回答

4
有两种方法可以解决这个问题。我假设你正在使用Windows或Mac,因为AnyConnect客户端没有Linux版本。

打开CMD/Terminal并输入“route print”或“netstat -r”,注意example.com指向哪里。很可能默认路由会捕捉它。在这种情况下,您需要添加一条路由,使任何流量都通过VPN接口发送到example.com(这样做后,一旦断开VPN连接,您将无法再连接到example.com,除非您重新连接到VPN)。

另一种方法是在连接到VPN后使用FTP的本地IP连接。

如果您使用的是Mac电脑,您可以使用集成的VPN客户端,并启用“通过VPN发送所有流量”选项,这样就可以实现George所提到的功能。另外,是的,请使用远程网络上FTP服务器的局域网IP地址,而不是公共主机名。如果DNS和路由设置正确,您可以使用计算机上安装的FTP客户端连接到远程主机。 - WebDrive

1
由于没有 Linux 解决方案,我将发布我的解决方案。 我不太了解另一侧(VPN 服务器端),因此此解决方案可能不适合您的环境。 我正在使用 vpnc(可通过 Ubuntu 的软件包管理器安装,其他系统也可能适用)。 您可以使用 .conf 文件配置它,我的值如下:
IPSec gateway <server address>
IPSec ID <gateway id>
IPSec secret <kind of group password>
Xauth username <your username>
Xauth password <you password>

0
如果你使用的是UBUNTU操作系统, 可以在Ubuntu软件中心安装Cisco AnyConnect VPN开放客户端,然后使用“openconnect”命令。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接