我要连接到 VPN 服务提供商。从 VPN 我将获得一个公共 IP。当我简单地连接到此 pptp VPN 时,所有传入传出流量都将转发到 VPN。我说得对吗?但是,如果我想通过 VPN 仅在特定端口上发送流量,例如 p2p 流量等,该怎么办?之后我想从 VPN 的公共 IP 访问该端口。可以通过这种方式配置 VPN 客户端吗?抱歉,如果这是一个愚蠢的问题,我对此还很陌生。
答案1
流量根据路由决策通过 IP 连接流动。特定流量是否通过 VPN 取决于服务器和客户端的配置。通常,客户端会从服务器接收其他路由。必须至少有一条这样的路由,以确保另一端点的流量被路由到隧道中。
如果您的 VPN 配置为在连接时更改客户端的默认网关,那么您的所有流量都会通过 VPN 路由。在此基础上加上最低要求,一切皆有可能。
然而,话虽如此:FTP 是第 3 层协议,而 VPN 隧道通常在第 2 层运行。换句话说,它们无法识别特定请求是否针对 FTP。而您的正常路由机制也无法做出这种区分。
现在:如果您想要访问的 FTP 站点可从 VPN 和公共互联网访问,那么您可以使用拆分 DNS 来实现此目的。通常,在建立 VPN 连接时,客户端的名称服务器设置(在连接期间)将替换为服务器转发的设置。这样做是为了让客户端可以使用驻留在目标网络中的主机/服务名称。
如果您现在将 DNS 记录添加到目标网络中使用的 DNS 服务器,这会将相关 FTP 站点解析为不同的(内部)IP 地址,那么这些不同的 IP 地址将导致 FTP 流量通过隧道。一旦 VPN 连接停止,就会恢复原始 DNS 设置,并且相同的 URL 现在会再次解析为公共 IP 地址。
请注意,这个技巧将仅有的适用于可通过公共互联网和 VPN(即公司内部资源)访问的 FTP 站点。