我在家只能通过 Web 代理和仅支持 TCP 的 Socks 5 服务器访问互联网。(故事很长,别问了)。我最近买了一台 Xbox,想访问 Xbox-Live。但我需要路由 IP 流量。所以我需要能够通过某种隧道路由 TCP 和 UDP 数据包。
我可以在我的终端上设置一个 Linux 防火墙,并且我在互联网上有一台 Solaris 机器可供我使用,我可以在它们之间进行 ssh 连接。有人可以推荐一些可能对我的设置有用的资源吗?
我知道 ping 时间可能会非常糟糕。我对多人游戏的兴趣不亚于对知识和允许下载更新的兴趣。
谢谢
答案1
另一个想法是在远程 Solaris 系统上安装 OpenVPN。
接下来,如果您有自己的 Linux 路由器,您可以对其进行修改,或者设置一个专用盒子作为 XBox 的路由器,通过 VPN 隧道路由所有内容。(我相信 OpenVPN 可以轻松通过 SOCKS5 代理。)因此,如果您成功了,您的 XBox 看起来就像安装在数据中心一样。很酷,不是吗?
答案2
您本质上想要的是让您的 Linux 防火墙充当互联网上 Solaris 机器的 VPN 客户端。然后您的 Xbox 将成为 VPN 网络的一部分,并可以通过 VPN 访问互联网。
答案3
这听起来很难。我从来没有用过 XBox,所以这是一次随机的尝试。不过这需要一点努力。
- 了解 XBox 需要连接到哪个主机。希望它只是一个主机,例如 live.xbox.com 或其他任何主机 — 甚至每个端口一个主机。也就是说,如果 XBox 建立连接,即使不查看目标 IP,您也已经知道它应该连接到哪个主机。
- 您需要让 XBox 连接到您的路由器以进行所有传出连接,方法如下:
- 使用 iptables REDIRECT 目标,或者
- 设置一个自定义 BIND 服务器,将所有 IP 地址映射到您的专用代理,并且显然只有 XBox 使用该服务器进行 DNS
- 无论如何,编写一个简单的代理(索卡特在循环中可能会工作得很好),它会执行以下操作:
- 等待 XBox 的连接
- 当它到达时,确定预期的最终主机 - 可以从端口号中得知,或者始终硬编码为 live.xbox.com 或其他。 使用上述 BIND 解决方案并解析最近的查询日志以确定 XBox 查找的实际主机名可获得加分!
- 使用 SOCKS5 代理,建立传出连接,然后在远程主机和 XBox 之间来回传递数据。
与 OpenVPN 解决方案相比,此解决方案的优势在于您的 ping 时间不会受到任何影响,因为 XBox 或多或少直接连接到目标服务器(代理在您的 LAN 上并且可忽略不计)。