如何通过代理服务器设置系统范围的连接

如何通过代理服务器设置系统范围的连接

我的互联网访问是通过代理,我的操作系统是Debian 8,每个应用程序都必须将其配置为使用代理,但是有些应用程序很难使其与代理一起使用,那么我的问题是:有什么办法或一个将我所有连接(tcp、udp 等)发送到代理的程序?也就是说,如何通过代理服务器设置系统范围的连接?

答案1

对此有多种解决方案:

1.配置http_proxy变量

您可以设置$http_proxy其他此类变量。大多数应用程序会自动选择该变量。要在系统范围内设置它,您可以在文件~/.bashrc/etc/profile.将其设置为:

http_proxy=http://user:[email protected]:3128
https_proxy=https://user:[email protected]:3128
export http_proxy
export https_proxy

2.使用proxy_chains

某些应用程序不会使用您的代理变量,它们甚至可能没有使用代理服务器的设置。在这种情况下,您可以使用 来引导所有 PC 流量通过代理服务器proxy_chains

我从未使用过proxy_chains,但是他们的主页似乎在一页中讲述了一切:http://proxychains.sourceforge.net/howto.html

3.使用透明代理

要强制所有 PC 连接通过代理,您还可以使用透明代理作为 proxy_chains 的替代方案。我不太清楚如何设置(我很久以前就这样做了,而且很有效!)所以你必须自己去看。

答案2

正如shivams所说,对此有多种解决方案。仅通过导出http_proxy无法设置连接。我将设置代理的方式如下,

  1. 首先,我将通过运行cntlm.

    A。为此,请/etc/cntlm.conf通过添加您的用户名、密码(您也可以使用为您的密码生成的哈希)、域、工作站和代理等来编辑文件...

    b.我会监听3128端口。

  2. 我将为不同的应用程序或程序设置代理,例如wget我将在内部设置代理/etc/wgetrc,如果它curlcurlrc等...

  3. 我将导出http(s)_proxywith http://localhost:3128。您可以为特定会话设置此环境变量,也可以将其设置在里面/etc/profile.d/
  4. 完毕

答案3

要将代理环境变量设置为全局变量,请打开 /etc/profile 文件:

# vi /etc/profile

添加以下信息:

export http_proxy=http://proxy-server.mycorp.com:3128/

或者

export http_proxy=http://USERNAME:[email protected]:3128/

答案4

您可以在设置首选项中设置代理,它将反映在所有地方

在此输入图像描述

相关内容