我的目标是绕过 ISP 限制。在土耳其,很多网站都受到限制(包括维基百科)。当然绕过的方法也很多,比如买个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
服务后,我在我的计算机(Ubuntu Desktop 18.04 LTS)上的 Firefox 中输入代理配置,并且我能够通过代理。我通过一些 whatismyip 网站确认了这一点。我还可以连接到美国 Netflix 服务器。
问题是,我无法通过代理连接到我的 ISP 的受限站点。对于其中一些,我收到了 ISP 的受限消息(他们拒绝 DNS 查找),而对于一些我就是无法连接。我想我错过了一些东西或完全误解了这个想法。
以免费互联网的名义,感谢任何帮助。
似乎您的 ISP 也在拦截代理连接。您必须加密您的计算机和代理服务器之间的连接。但为什么要重新发明轮子呢?我会给你一个更好的选择。
您可以完全删除 squid,并使用 OpenSSH 的动态转发功能(我假设
sshd
您的 gcloud 服务器中已经安装了它,它应该是)。这通过启动本地 SOCKS 代理服务器,并将任何流量转发到您的 SSH 服务器,然后将流量转发到目标服务器来工作。由于默认情况下 SSH 连接是加密的,因此您不必担心窃听/拦截。这将如何工作:
将在您的本地计算机上启动一个 SOCKS 代理服务器。
然后,您可以配置要使用此代理服务器的任何程序。只需指定代理类型为 SOCKS5,代理服务器 IP 为
127.0.0.1
,代理服务器端口为1080
. (确保也代理 DNS 查询)。如果您的程序不支持代理,请尝试使用ProxyChains 之类的工具,或者如果不起作用,请尝试tsocks。我在这两个方面都取得了巨大的成功。