首先,如果我的英语不够完美,我谨表示歉意,这是因为我不是英语母语者。
所以,说说我面临的问题:我要去国外几天,那里的互联网受到广泛的控制和过滤,这很无聊,因为像谷歌这样的网站都是被过滤的。
所以我搜索了如何绕过这个问题,最常见的答案是使用 VPN,我做了一些研究来了解 VPN 的工作原理,据我所知,它的工作原理如下:当您连接到网络时,您可以创建一个到远程服务器/主机的虚拟隧道,然后将所有请求发送到此主机,而不是使用将(或如果经过过滤则不会)将您的请求发送到互联网的网络。所以这就像您连接到主机的网络一样。
为了进一步了解 VPN 系统的工作原理,我想用附近的公共 wifi 进行一些实验,它需要我的电子邮件地址才能让我在互联网上执行操作(这就像过滤我的请求的外部网络)。关于 VPN 的几个主题都说,如果 VPN 运行良好,我不需要提供我的电子邮件地址就可以上网。
因此我尝试了几种方法连接到远程主机,但都没有成功。
首先,我意识到那些公共 wifi 会阻止 DNS 解析,直到我们给出他们要求的东西,在本例中是一个电子邮件地址。所以我想,如果我已经有了主机的 IP 地址,就不需要获取该 ISP 的 DNS 解析了。所以我尝试直接 ping 我的主机(这当然不是真实地址):
$ ping 256.256.256.256
Request timeout for icmp_seq 0
有时我还会得到额外的信息:
$ ping 256.256.256.256
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
这表明,仅凭 IP 地址还不足以访问互联网。因此,我尝试使用 ssh 连接到我的主机,结果也没有成功:
$ ssh [email protected]
ssh: connect to host 256.256.256.256 port 22: Network is unreachable
所以看来我也无法通过这种方式连接到我的服务器。
所以问题是 VPN 如何绕过 wifi 防火墙或类似的东西,因为每个出站流量都会被过滤,直到我提供我的电子邮件地址。这就像我准备好了虚拟隧道,但入口被锁定了。如果我能清楚地了解这个过程是如何工作的,那就太好了,因为我脑子里真的不清楚。
答案1
要使 VPN 客户端正常工作,您首先必须有互联网连接...即使是阻止已知远程 IP 地址列表的连接
vpn 之所以能起作用,是因为一旦安装了 vpn 客户端,它就只是另一个连接,就像来自本地笔记本电脑/手机的任何其他网络连接一样……因此,它无法与从客户端到任何远程网页的连接区分开来,因为这正是 vpn 连接
最简单的方法就是从 ovh.com 或https://www.hetzner.com并在该远程机器上安装一个 vpn 服务器,然后在你的笔记本电脑或手机上安装其相应的 vpn 客户端(linux/osx/windows/android/ios)...使用下面的 github repo 非常容易
根据我的经验,一个简单的免费和开源的 https://git.io/vpnclients (您必须安装自己的 vpn 服务器,请参阅 repo 中的说明)... 只需具备一些基本的 Linux 技能,在您自己的远程机器上安装自己的 vpn 服务器就比使用付费 vpn 服务要容易得多... 不用说,也更加私密... 请注意,在滥用职权的极权政府国家,访问 vpn 客户端网页的能力本身经常被阻止,因此请制定相应的计划
是的,这种方法在那些专制政府统治的国家里很有效
登录到您自己的远程 ubuntu vps 盒后,出现以下问题以安装您自己的 vpn 服务器
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
以上将通过向您显示您必须记住的设置来完成,以便您可以使用 VPN 客户端进行连接
在限制国家/地区时无需使用 VPN 客户端
我 <-> 所需网页 // 因政府滥用职权而被封锁
现在使用 VPN 客户端
我 <-> 我的远程 vpn 服务器 IP 地址 <-> 所需网页 // 这有效
为什么?因为那个远程 vpn 服务器地址不被那个滥用职权的政府识别,所以来自(我 <-> 我的远程 vpn 服务器)的流量畅通无阻