我有一个全新安装Ubuntu 18.04,需要在带有公司代理的公司环境中配置代理(我知道域、凭据、代理服务器和端口)。
我从另一台电脑(非 Linux)复制了代理 URL 和端口,并将其放入 Ubuntu 中的 Firefox 中。它要求我输入凭据,输入后有效用于 Firefox 会话。
我想现在我可以将其添加到 Ubuntu 中的网络选项中。我在代理设置中选择了手动选项,并使用测试过的代理 URL 和端口填充了所有协议选项。但是没有用。
到目前为止我已经尝试过:
- 输入
username:password@proxyurl
并domain\username:password@proxyurl
手动设置每个协议的代理。端口进入指定输入。 - 我尝试在未经授权的情况下在代理设置的手动配置中添加代理网址和端口
- 做终端的方式
export http_proxy="http://username:password@proxyurl:port/"
没有任何成功 - 设置域、用户名、密码哈希、带端口的代理服务器的 cntlm,然后重新启动 ubuntu,重新启动 cntlm
- 之前尝试过在 Ubuntu Gnome LTS(基于 Ubuntu 16.04 LTS)上使用上述所有方法,但没有成功
问题
如何向 Ubuntu 18.04 添加可在每个应用程序和终端上运行的系统范围的代理?
答案1
我已经成功解决了这个问题。对于遇到同样问题的人,我做了以下事情:
在 Ubuntu 18.04、16.04 和 CentOS 7 上测试
指示
- 安装
cntlm
(通过 Virtualbox 共享文件夹提供) - 指定用户名、域、密码哈希(PassNTLMv2 - 设置用户名和域后使用 cntlm -H 获取)、代理服务器、noproxy、监听(我使用默认的 3128)
cntlm
在 bash 中启动- 使用 DE 的网络设置来设置系统范围的代理(在 gnome 3 中很容易)或者指定 http_proxy 和 https_proxy 到
/etc/environment
(127.0.0.1:3128
cntlm 本地监听端口) - [乌班图]指定代理设置
/etc/apt/apt.conf
(例如Acquire::http::Proxy "http://127.0.0.1:3128";
分别针对 http 和 https)
现在打开一个新的终端窗口来测试连接(wget/apt)或退出并重新登录来测试系统范围的设置。
使用 Firefox 设置
但 Firefox 无法按照上述步骤操作仅有的。打开设置,在底部一般的选项卡中有代理设置。只需手动输入本地服务器的地址,然后选中复选框即可将其用于每个协议。
答案2
在之前的 LTS 14.04 和 16.04 中,我使用了我的自定义指标。
https://github.com/scaamanho/proxy-indicator
由于 18.04 Gnome 桌面移动,我发现了一个运行良好的脚本,而我正处于修改阶段并有时间为它做一个 gnome shell 扩展。