Ubuntu 网络代理配置
<p>Linux 中并没有“全局代理”这一说法,理论上来讲每个应用都可以配置自己的网络协议栈,绕开所谓的“代理”。</p><p>不过以 Ubuntu 为例,要达到接近全局代理的效果大概需要设置以下几个地方:</p>
<ol>
<li>环境变量:<code>ALL_PROXY</code>, <code>HTTP_PROXY</code>, <code>HTTPS_PROXY</code>, <code>HTTPS_PROXY</code>, <code>NO_PROXY</code>,以及这些变量对应的小写形式。大多数网络库都会识别这几个环境变量。</li>
<li>apt: 配置代理后能访问国外源。</li>
<li>dconf/gsettings: dbus 相关的代理,gnome GUI 中的代理设置就是修改这里。</li>
</ol>
<p>如果发现应用在配置以上三项以后依然不走代理,可能此应用使用自己的网络栈配置,绕开代理。可以看看应用官方有没有提供代理方法。</p>
<h2 id="环境变量">环境变量</h2>
<p>把下面这一段内容补充上代理对应的 URL 后,放入到 <code>~/.bashrc</code>,即可为当前用户设置代理。</p>
<pre><code class="language-shell">export ALL_PROXY=
export all_proxy=
export HTTP_PROXY=
export http_proxy=
export NO_PROXY=localhost,127.0.0.1,::1
export no_proxy=localhost,127.0.0.1,::1
</code></pre>
<p>如果希望为所有用户包括 root 设置代理,那就把内容写到<code>/etc/profile</code> 中。</p>
<h2 id="apt">apt</h2>
<p>如果只是暂时设置代理,一次性使用:</p>
<pre><code class="language-shell">sudo apt -o Acquire::https::proxy="http://<proxy-url>:<port>/" update
sudo apt-get -o Acquire::http::proxy="http://<proxy-url>:<port>/" update
</code></pre>
<p>如果希望一直使用代理,可以将下面内容</p>
<pre><code>Acquire::https::proxy "http://127.0.0.1:1080/";
Acquire::http::proxy "http://127.0.0.1:1080/";
</code></pre>
<p>写入文件 <code>/etc/apt/apt.conf.d/12proxy</code>。</p>
<h2 id="dconfgsettings">dconf/gsettings</h2>
<p>这里主要会影响到 GUI 应用的代理配置,包括浏览器,桌面终端等。需要注意,这里设置的代理不会影响到 root。</p>
<p>可以直接通过图形界面来设置:</p>
<p><img src="https://img2020.cnblogs.com/blog/1611794/202111/1611794-20211128103323235-1715024058.png" alt="image" loading="lazy"></p>
<p>如果关闭了 GUI server 的话,一般不需要设置 dconf,通过更改 shell 的环境变量就能够让大部分 shell 应用走代理。</p><br><br>
来源:https://www.cnblogs.com/wyzersblog/p/13303335.html
頁:
[1]