![绕过 ISP 限制 - Google Cloud 上的 Squid 代理](https://linux22.com/image/919274/%E7%BB%95%E8%BF%87%20ISP%20%E9%99%90%E5%88%B6%20-%20Google%20Cloud%20%E4%B8%8A%E7%9A%84%20Squid%20%E4%BB%A3%E7%90%86.png)
我的目的是绕过 ISP 限制。在土耳其,很多网站都受到限制(包括 Wikipedia)。当然有很多绕过方法,比如购买 VPN 帐户、使用 Opera 和 VPN 等。
我决定使用一种免费且快速的方法。使用 Google Cloud 的免费试用版,我在美国服务器上创建了一个装有 Ubuntu 18.04 LTS 服务器的虚拟机。我在其上安装了 Squid,并进行了以下配置squid.conf
以允许我的家庭网络:
acl allowed_network1 src my_static_ip
http_access allow allowed_network1
在服务器上重新启动服务后squid
,我在 Firefox 中输入了计算机(Ubuntu Desktop 18.04 LTS)上的代理配置,并且能够通过代理。我通过几个 whatismyip 网站确认了这一点。我还可以连接到美国 Netflix 服务器。
问题是,我无法通过代理连接到 ISP 的受限网站。对于其中一些网站,我收到了 ISP 的限制消息(他们拒绝 DNS 查找),而对于一些网站,我根本无法连接。我想我错过了什么,或者完全误解了这个想法。
以免费互联网的名义,任何帮助都将受到感谢。
答案1
看来您的 ISP 也在拦截代理连接。您必须加密计算机和代理服务器之间的连接。但为什么要重新发明轮子呢?我会给您一个更好的选择。
你可以完全删除 squid,然后使用 OpenSSH 的动态转发功能(我假设sshd
已安装在您的 gcloud 服务器中,应该如此)。此功能通过启动本地 SOCKS 代理服务器并将任何流量转发到您的 SSH 服务器来实现,然后 SSH 服务器再将流量转发到目标服务器。由于 SSH 连接默认加密,因此您不必担心窃听/拦截。
如何运作:
$ ssh -D 1080 user@gcloud-vm
将在您的本地机器上启动 SOCKS 代理服务器。
然后,您可以配置要使用此代理服务器的任何程序。只需将代理类型指定为 SOCKS5、代理服务器 IP 指定为127.0.0.1
以及代理服务器端口指定为即可1080
。(确保也代理 DNS 查询)。