如何为我的 Mac 设置 Linux 代理

如何为我的 Mac 设置 Linux 代理

正如我的标题所示,我想在 Linux 中设置代理。我使用的客户端是 Mac OS X Lion。我想我理解了理论,但我一直遇到障碍。

我开始使用设置代理服务器 ubuntu linux教程在这里。我已经找到了一台备用电脑,并在其上安装了 ubuntu 12。根据文章,我必须从如何使用 ssh 进行隧道通信文章。

在 ubuntu 中,我确保我有 ssh 服务器,所以我执行了 apt-get install ssh。

然后,是时候将路由器上的端口转发到单个机器了。我假设单个机器是我的 ubuntu 机器,它将充当 ssh 服务器。我的路由器是 Cisco Linksys E3000。

当我尝试设置端口转发时,我遇到了文章。下面这个让我很困惑:

输入您的应用程序名称。有关应用程序可能使用的端口列表,请参阅下面的来源和引文部分。

看来我必须知道他们使用哪个应用程序和哪个端口来访问互联网?例​​如,如果我在 OSX 中使用终端,我需要指定“终端”作为应用程序并知道它使用哪个端口?我需要对 Chrome、Firefox、App Store、暗黑破坏神 3 等重复这一操作吗?

这是通过代理传输互联网流量以便绕过防火墙的标准方式吗?

我如何设置我的代理,以便所有互联网连接都通过我的 ubuntu 服务器并将其传送回我的客户端(Mac OSX)。

如果有人感兴趣的话,我想这样做是因为当我使用 heroku 进行 Web 应用程序部署时,我在工作场所、旅行时等不断遇到防火墙...

谢谢!!!

答案1

使用 SSH 隧道:路由器上的端口和端口转发:

使用 ssh 隧道作为代理需要在默认 socks5 端口 ( ) 上设置本地代理1080。然后,所有应用程序都会将其 Web 流量发送到该端口,然后通过加密的 ssh 隧道发送到您的服务器,再发送到互联网。

您的路由器需要转发端口的唯一应用程序是 ssh 客户端/服务器 - 将端口上的所有传入 TCP 请求路由22到本地网络上服务器的 IP 地址。

下面的图片说明了这一点:

socks5ssh隧道

让我们看一下用于创建 SSH 隧道的命令,以了解它是如何工作的。

ssh -ND 1080 [email protected] -p 22

上述命令用于创建从客户端到服务器的隧道。set -D 1080将在本地端口设置 socks5 代理1080以供应用程序使用。这一切都在您的本地计算机上进行。1080无需使用路由器将端口路由到任何地方。

user是您在服务器上的用户名。 11.11.11.111是您的服务器的 IP 地址。 -p 22是 ssh 客户端尝试连接到您的 ssh 服务器时使用的端口(端口22是默认的,因此如果您没有更改默认设置,则实际上不需要将其包含-p 22在命令中,我只是为了解释目的而添加它)。 这是您需要确保路由器转发到服务器的端口。 如果您选择不使用默认 ssh 端口(22),您还需要配置您的 ssh 服务器来监听不同的端口。

要使应用程序使用此隧道...

您只需修改其代理设置(或使用全局代理——我不熟悉 OS X 如何做到这一点)即可在localhost:1080或 处使用 socks5 代理127.0.0.1:1080。例如,这是使用 Firefox 执行此操作的方法:

使用菜单前往Edit:Preferences:Advanced:Network:(connection)Settings

Firefox 代理

在 OS X 上设置全局代理

我没有使用 OS X,但 OP 确认这有效(见评论)。您可以尝试安装OS X 的 GUI 工具,导航到服务器System Preferences -> Network -> Advanced... -> Proxies并输入服务器和端口。127.0.0.11080

希望这可以帮助。

答案2

如果您想要传输所有流量,则需要使用 VPN。我推荐使用 OpenVPN,它非常容易安装,并且可以在 OS X 和 Linux 上运行。

已经有很好的文档https://help.ubuntu.com/community/OpenVPN

另一个解决方案是查看 tor,或使用 ssh -w,但这要求您更改每个应用程序的设置以使用代理。

如果您在工作中遇到麻烦,我认为您应该联系您的系统管理员,如果出于业务原因,他肯定可以打开防火墙。

相关内容