使用 SOCKS 代理和 SSH 隧道从美国境外访问仅限美国的网站

OS X 中的终端

各种各样的网站和在线服务仅限于美国地区:Hulu、Netflix、Pandora、年度信用报告、一些银行,名单很重要。区域限制通常是您在需要从美国境外访问网站之前不会注意到的事情,然后它们会带来巨大的痛苦。我们将向您展示如何使用 SOCKS 代理和 SSH 隧道安全地绕过区域限制

在开始之前,您需要以下内容来为此目的设置 socks 代理:

  • 允许 SSH 访问的美国网络托管或 shell 提供商,包括用户名和远程机器 IP
  • 命令行
  • 有基本的了解和熟悉

本演练针对 Mac OS X,但您也应该能够对 iOS、Android 和 Windows 进行大致相同的配置。

如何在 Mac OS X 中设置 SSH 隧道和 SOCKS 代理

假设您有一位美国主持人,让我们开始吧:

  1. 转到应用程序文件夹,然后转到实用程序,然后启动终端并使用以下语法设置 SOCKS 代理:
  2. ssh -D port_number user@remote_host_ip

  3. 例如,如果您的用户名是 AJ,远程主机 IP 是 75.75.75.75,并且您想在端口 2012 上设置代理,则语法为:
  4. ssh -D 2012 AJ@75.75.75.75

  5. 像往常一样登录并在您打算使用代理时保持 shell 连接,如果您担心远程主机超时,只需 ping localhost 或另一个 ip
  6. 现在转到  Apple 菜单并打开“系统偏好设置”
  7. 点击“网络”,然后点击右下角的“高级”
  8. 点击“代理”选项卡,然后点击协议菜单中“SOCKS 代理”旁边的复选框
  9. 将 SOCKS 代理服务器填写为 127.0.0.1 并提供之前的端口,在本例中为 2012
  10. 点击“确定”

在 Mac OS X 中设置和使用 SOCKS 代理

现在启动网络浏览器并仔细检查 Mac 的外部 IP 地址 以确认像 whatismyip.org 这样的网站,或者通过在命令行运行以下命令:

curl ipecho.net/plain 回声

您也可以使用 whatismyip,这似乎改变了他们的服务但有时有效:

curl whatismyip.org

您的 IP 现在应该注册为您隧道通过的远程美国主机,您可以自由查看美国区域限制的内容。如果您不确定 IP 区域注册的是什么,请像这样对其进行 nslookup:

nslookup(ip 地址)

在网络上使用其中一种本地化服务也可以,它们会根据检测到的 IP 地址获得一个粗略的位置,并且还可以确定您是否真的在使用代理。

旁注:在某些情况下,特别是对于根据区域重定向的网站,您只需要找到正确的 URL 而根本不需要隧道。一个非常有用的示例是使用他们的 NCR 站点停止 Google.com 重定向到另一个区域,但还有其他具有相似替代 URL 的搜索引擎和网站。