我的互联网访问是通过代理,我的操作系统是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
无法设置连接。我将设置代理的方式如下,
首先,我将通过运行
cntlm
.A。为此,请
/etc/cntlm.conf
通过添加您的用户名、密码(您也可以使用为您的密码生成的哈希)、域、工作站和代理等来编辑文件...b.我会监听3128端口。
我将为不同的应用程序或程序设置代理,例如
wget
我将在内部设置代理/etc/wgetrc
,如果它curl
在curlrc
等...- 我将导出
http(s)_proxy
withhttp://localhost:3128
。您可以为特定会话设置此环境变量,也可以将其设置在里面/etc/profile.d/
- 完毕
答案3
要将代理环境变量设置为全局变量,请打开 /etc/profile 文件:
# vi /etc/profile
添加以下信息:
export http_proxy=http://proxy-server.mycorp.com:3128/
或者
export http_proxy=http://USERNAME:[email protected]:3128/