我正在寻找一种方法来解决困扰我的几件事。我通过许多不安全(且通常维护不善)的网络访问互联网,其中许多网络主动阻止除 HTTP/HTTPs 流量之外的任何流量。
- 保持我的浏览流量的私密性(就我所在的“开放”网络而言)
- 我在端口 8443 上运行一个 SVN 服务器,该端口在很多地方都被阻止,我希望能够通过 443 隧道连接到我的家用计算机,然后再返回到 8443 上的 SVN 服务器。
- 设置其他程序以使用我为上述两个程序创建的任何“隧道”
我认为像 SSH 之类的东西会是一个不错的选择,但我从未设置过它,而且我不确定我是否可以通过它路由所有流量。
答案1
我对 ssh 的熟悉程度比对 OpenVPN 或任何 VPN 的熟悉程度更高。我的解决方案将尝试使用 ssh 来解决您的所有问题。不过 VPN 可能是一个更好的解决方案。
使用 ssh,您必须将家庭系统设置为 SSH 服务器。我使用 VirtualBox 中的 Ubuntu 作为服务器。您也可以使用OpenSSH对于 Windows(但我不建议这样做)。您还应该安装类似denyhosts的程序来阻止试图暴力破解您的 ssh 密码的 IP 地址。听起来您要将 ssh 服务器设置为在端口 442 而不是 22 上托管。您需要跟踪您的家庭公共 IP 地址或使用 DynDNS 之类的服务。
1 & 3. 您可以使用家庭 ssh 服务器作为 SOCKS 代理服务器,以使大部分或所有传出流量都通过加密的 ssh 会话。您可以使用油灰在您的远程系统上连接到您的家庭系统并设置 SOCKS。
在 putty 中,输入家庭系统的主机名或公共 IP 地址(可从互联网连接到该地址)。如果您在家庭 ssh 服务器上设置了端口 443(并通过路由器转发),则端口将为 443。
在打开连接之前,向下滚动到 SSH -> 隧道。在源端口中输入一些未使用的大型端口号(例如 9000)。将目标留空。选择动态。然后打开连接。
- 现在,您必须在 Web 浏览器中进行设置以使用 SOCKS。将主机设置为 localhost,将端口设置为 9000。如果您在 Internet Explorer 中设置这些设置,大多数其他应用程序也将使用这些设置连接到 Internet。您也可以设置程序以单独使用代理(例如 Firefox)。
2.要通过家庭系统将远程系统设置为 SVN 服务器,您还可以使用 SSH 和 Putty。但是,首先必须通过路由器转发端口 8443,将您的家庭系统设置为 SVN 服务器。然后从远程系统(实际的 SVN 服务器)使用Source port 8443
和通过 Putty ssh 连接到家庭系统destination localhost:8443
。我认为您还需要选中顶部的两个复选框,以便不仅仅是您的家庭系统可以使用其本地端口 8443 作为 SVN 服务器。它可能与 ssh 命令行参数中的 -g 选项相同。
答案2
您看过 LogMeIn Hamachi 吗?它是一款非常简单但非常安全且免费的私人 VPN 隧道服务。
我曾经短暂使用过它,但不知道它是否支持您想要的端口转发。