我目前使用 Ubuntu 20.04。我需要使用代理来连接到互联网。我已将每个程序配置为使用代理,因为大多数软件不尊重http_proxy
环境变量。我尝试在“设置”中设置代理,但大多数软件都不关心它。有没有办法通过代理来连接整个系统?有没有办法制作一个将所有请求传输到 HTTP 代理的接口?
答案1
首先,在“设置”中配置代理。大多数 GUI(至少 GNOME)程序都遵循该配置。然后proxychains
使用以下命令安装:
sudo apt install proxychains
安装后,打开位于的配置/etc/proxychains3.conf
(我不确定,请参阅man procychains
更多信息)。它在注释中包含了如何配置它,请按照说明进行操作。成功配置后,您可以像这样使用它打开任何程序:
proxychains command
任何网络请求都将被重定向到代理。此外,您还可以使用它打开 shell,以便任何网络请求都重定向到代理,如下所示:
proxychains bash
另外,假设您想要apt
与代理链一起使用,那么不要使用此命令:
proxychains sudo apt update
这不起作用。请使用这个:
sudo proxychains apt update
答案2
请尽量详细说明一下。我读到这篇文章时,您可以设置一个 HAProxy,以与通常的 TCP 模式相反的方式连接到您网络中的实际代理。HAProxy 尊重并遵守 proxy_protocol,因此它可以无缝地执行此操作。另一种可能性是设置一个本地 Squid 代理来捕获所有内容并将其转发给另一个代理。
这两种解决方案都可以隐形运行,您无需在任何应用程序中进行任何配置。但是,这样的设置不是默认的。