我在中国如何访问被屏蔽的网站?

我在中国如何访问被屏蔽的网站?

我有一些同事需要去中国工作,但是他们在那里时无法访问很多网站。其中一个是 GMail(Google Apps),这是他们工作所需的。我们有一个位于英国的 Ubuntu 服务器,我有它的 root 访问权限。

我能为他们做些什么?我考虑过使用 Squid 代理,但它可能依赖于他们酒店开放的 8080 端口,所以不太理想。有没有什么解决方法或其他解决方案?

答案1

我最喜欢的解决方案只需要 SSH。SSH 是穷人的 VPN。如果 ubuntu 机器尚未运行 ssh:

apt-get install openssh-server

如果你的同事在中国使用 OS X/Linux,他们只需输入:

ssh -D1080 your.ubuntu.server.tld

您也可以在 putty 或其他 Windows SSH 客户端中进行此项设置。

然后您的同事将他们的网络浏览器设置为使用 localhost:1080 的 SOCKS 代理。

完成。应该比配置 VPN 更容易。您的同事只需记住在完成后取消选中代理设置即可。

为了提高服务器安全性,需要公钥认证而不是密码认证。但这与通过中国的隧道流量无关。

答案2

答案最终是“使用 VPN”。您可以设置类似OpenVPN建立隧道连接到您的 Ubuntu 服务器,或者使用您选择的其他 VPN 解决方案连接到您的 Ubuntu 服务器或其他位置。您还可以在许多不同的端口上运行代理或其他解决方案,以确保单个端口被阻止不会阻止您访问它。

答案3

除了chrishiestand的回答之外,请注意以下几点:

使用 SSH 代理绕过被 DNS 过滤阻止的网站时,DNS 请求可能不会通过代理,从而导致 DNS 泄漏,并使 DNS 请求转到审查 DNS 服务器。要检查是否存在泄漏,请转到https://ipleak.net/

要修复使用 Firefox 代理设置时出现的问题,请确保选中“使用 SOCKS v5 时代理 DNS”。

如果你想全部程序在 Windows 上使用代理 DNS,可能会有点困难。这个答案建议运行您自己的 DNS 服务器,通过代理转发您的 DNS 请求。如果有人有更简单的方法,请告诉我,我会更新此答案。

我使用了 macOS 上的系统代理设置,那里似乎没有 DNS 泄漏。

相关内容