如何检查网络代理是否真的应用?

Ale*_*xar 21 package-management networking proxy

我正在尝试将网络代理设置为使用 LAN 的 Internet 连接来更新软件包。虽然代理设置适用于我的firefox,但包管理器仍然无法连接到 Internet。我已经设置了代理,System >> Preferences >> Network Proxy并且我也在“详细信息”中输入了代理的用户/通行证。

如何确保正确应用代理网络?

kou*_*hik 14

首先,无论何时更改 gnome-network-properties ( System -> Preferences -> Network Proxy)中的代理设置,请确保单击“应用系统范围...” 。这会设置 http_proxy 和相关的环境变量。这应该可用于在代理设置为“应用系统范围...”之后启动的所有程序。可以肯定的是,您可以注销并重新登录以仔细检查这一点。

如果您打开终端并使用该命令,set | grep -i proxy您将看到相关的环境变量集。理想情况下,这应该足够了。

但是,我遇到过上述所有方法仍然不起作用的情况:apt-get即使在以上述方式设置后,Synaptic 或(通过命令行)也无法通过代理连接到 Internet。在这种情况下,一种解决方案是/etc/apt/apt.conf.d为 apt添加一个具有特定代理配置的文件(这将被 apt-get、aptitude、synaptic 和 Ubuntu 软件中心使用)。

请按照以下步骤操作:

  1. 创建 /etc/apt/apt.conf.d/40proxy

    gksudo gedit /etc/apt/apt.conf.d/40proxy

  2. 将以下内容放入其中 - 修改内容以适合您的情况。

    Acquire::http::Proxy "http://proxy.site.com:8080";

如果您http://username:password@proxy.site.com:8080有用户名和密码,您可以在代理 url 中对相同内容进行编码(像这样,),或者您可以使用诸如ntlmaps 之类的东西来更好地控制。

更多信息可以在这里找到。


Oli*_*Oli 6

您是否单击了应用系统范围(突出显示)按钮?如果您的 Gnome 会话没有本地代理设置,因此当root开始下载软件包时,它不会使用相同的网络设置。

代理设置


小智 6

如果您遇到问题(这就是您的问题所暗示的),上面有很多很好的答案可以帮助您。但是,这是对检查是否已应用网络代理设置这一狭隘问题的回答:

方法一:启动一个新的shell(xterm),然后检查环境变量:

% env | grep -i proxy
http_proxy=http://172.17.0.130:8080/
ftp_proxy=ftp://172.17.0.130:8080/
all_proxy=socks://172.17.0.130:8080/
...
Run Code Online (Sandbox Code Playgroud)

请注意,现有 shell不会更新环境变量。因此,如果您正在执行查看其代理设置的环境变量的命令,请在更改代理设置创建的 shell 中启动它。

方法 2:gconftool用于查询 gconf 设置(存储在 下~/.gconf):

% gconftool -R /system/proxy 
 old_ftp_port = 0
 old_ftp_host = 
 old_secure_port = 0
 old_secure_host = 
 autoconfig_url = 
 mode = manual
 ftp_host = 172.17.0.130
 secure_host = 172.17.0.130
 ...

% gconftool -R /system/http_proxy 
 use_authentication = false
 authentication_password = 
 authentication_user = 
 ignore_hosts = [localhost,127.0.0.0/8,*.local,...]
 use_http_proxy = true
 port = 8080
 use_same_proxy = true
 host = 172.17.0.130
Run Code Online (Sandbox Code Playgroud)

正如其他人所指出的,请确保您的浏览器和其他应用程序设置为“使用系统代理设置”。