我正在寻找一种使用不同 IP 的方法,以便访问一些被本地提供商阻止的网站(我需要编写脚本来从这些页面检索数据)。在 Windows 上,我有代理,但现在迁移到 Ubuntu由于为了更好地使用特定内核的 ipython 笔记本,我需要做同样的事情。 Hoewer 我很感兴趣是否可以使用开源的东西来做到这一点,而不是依赖位于其他位置的代理。据我了解,在网络上进行一些研究,开放 VPN 有可能,如果我理解正确,则允许使用 WAN 网络内的专用网络和 ssh 隧道来实现此技巧,但我在该领域的知识非常贫乏。这个社区可以帮助我吗?有这个问题吗?Tnks!
答案1
在非常高的层面上,VPN 端点与代理服务器没有任何不同:您的系统和目标之间的流量通过远程“中间点”(VPN 服务器或代理),因此可以绕过强制执行的限制直接连接。使用 VPN 只会使“中间点”之间的流量更加安全,但如果使用代理有效,那么额外的加密就没有任何好处。
your system <-------> proxy or VPN end-point <-------> target system
您使用 VPN 隧道的方式因所提供的服务而异。您提到了 SSH 隧道,但这需要 VPN 端点也提供 SSH 访问,并且通过 VPN 隧道执行 SSH 只会相互叠加两层加密(效率低下)。
如果您正在谈论那些允许人们使用某些远程端点的免费 openVPN 服务,那么您只需以与代理类似的方式使用浏览器(您提到的页面,我假设您指的是 HTTP 流量/WWW) 。如果 VPN 隧道配置为充当您的默认路由(因此该网络接口上的所有流量都将通过隧道传递),那么您将通过在浏览器地址栏中键入目标站点的地址来直接访问目标站点。但是,如果 VPN 隧道仅通过特定子网(IP 地址空间的子集)建立隧道,那么它就不适合您的目的,除非您可以管理在端点添加代理(并且我们再次将最初的简单想法只是更复杂)或某种地址转换或路由到目标。
因此,如果您的目的只是通过 HTTP 访问网页,并且对代理的需求仅基于简单的访问控制,可以使用代理绕过该访问控制,并且您不必担心因绕过这些访问而受到惩罚控制(例如,不是镇压政权下的人权活动家,只需使用代理即可。我不认为开放/免费的 openVPN 服务比您一直使用的代理(Apache,最常见的网络服务器,也可以充当代理...),或者“更好”,相反,我个人对它们的体验非常糟糕,这让我建立了自己的 openVPN 服务器(但话又说回来,我的目的是保护我的网络安全)在开放热点进行网络访问,使用 VPN 是一个很好的解决方案)。