我在美国有一台运行 Ubuntu 的 VPS。我想设置类似的东西http://www.usvideo.org 基本上,USVIDEO 是一种 DNS 服务,允许加拿大人访问美国内容,如 Hulu、Netflix、NBC 等(受地理 IP 限制)。
我认为 USVideo 的做法如下:
- 客户端(PS3、XBOX、PC)指定 USVIDEO.org 网站上指定的 DNS 服务器。
- 如果 DNS 请求是视频/音频网站(例如 Netflix 或 Pandora),请将请求转发到代理。否则,对于所有其他请求,请将其转发到不同的 DNS 服务器。
- 如果请求特定的视频/音频 URL,则返回代理服务器的地址,代理服务器又通过美国网关将流量中继到目标视频/音频域,以便看起来访问来自美国 IP 地址。
- 一旦 DNS 请求通过了美国 IP 地址检查,他们的代理服务器就会退出循环,让视频流网站直接联系您以开始视频流。此技巧依赖于视频流网站预先检查您的 IP 地址的国家/地区的方式,但在视频流式传输时实际上不会检查目标 IP 地址的国家/地区。
此解决方案的巧妙之处在于,无需 VPN 隧道即可绕过某些网站的地理 IP 检查。客户端只需指定 DNS 服务器 (VPS)。如果某个站点在地理上被锁定,只需将流量转发到代理即可。这些站点可以在 DNS 条目中指定,或者可以在代理服务中指定,以将 DNS 请求重定向到其自己的代理。
我认为我需要设置类似的东西是 Squid Proxy、IPTables 和 DNS。我需要帮助的是具体如何实现这一点?Squid Proxy 可以设置为透明代理吗?
答案1
诀窍不仅在于您代理什么,还在于您不代理什么。大多数视频网站将网页内容和视频内容托管在不同的主机甚至不同的域上。就 hulu.com 而言,所有视频内容都在 akamaitechnologies.com 域上...因此,如果您代理 hulu.com 但不代理 akamaitechnologies.com,则可以伪造地理区域。
更好的是,如果您可以访问路由器和低带宽 VPN 服务,那么您只需使用防火墙规则即可完成此操作。您可以将低带宽内容重定向到 VPN 服务,而高带宽内容则不进行过滤。此解决方案的优点在于有许多免费的低带宽 VPN 提供商...如果您要勾选的站点数量相当少,您也可以使用 ssh 隧道而不是 VPN。
答案2
我不会对 DNS 做任何手脚;相反,我会在本地网络上设置一个代理,它只对指定的域使用 VPS 上的代理。例如,squid 的cache_peer_domain
选项将实现这一点。在本地 squid 上,您需要添加
cache_peer_domain vps-in-america.example.com .pandora.com
答案3
- 你需要运行自己的私人 DNS 和人工记录,例如 pandora.com
- 您还需要一个真正的 DNS 作为后备。
- 现在,所有针对这些网站的请求都将发送到您位于美国的盒子,您可以在 squid 上打开端口 80 并监听流量。您的 cache_peer 设置应该允许您将每个域映射到它们的真实 IP。流量现在最初从您位于美国的盒子流向服务,但随后服务器响应它直接响应主机。这里没有什么魔法。我不会分享细节,因为最好不要过度利用这一点。
答案4
但像http://tunlr.net自动且免费地完成此操作。我确信那里没有“netflux”在起作用...