Ubuntu プロキシ設定

User (Desktop): Settings > Network > Network Proxy

Settings > Network > Network Proxy > Manualに設定する。 自動的に環境変数HTTP_PROXY, HTTPS_PROXYにスキームが追加された状態で設定される。

  • HTTP Proxy: proxy port
  • HTTPS Proxy: proxy port
  • Ignore Hosts: localhost, 127.0.0.0/8, ::1(プライベートネットワーク・組織内ネットワークのIPアドレス範囲またはドメインも追加する)

curlやwget、pipなど主要コマンドは 注意点として、別ユーザとしてコマンドを実行すると環境変数が引き継がれない。 例えばsudo curlしたときにプロキシに接続しにいかない。

/etc/sudoers

sudoでコマンドを実行したとき、実行時シェルに設定されている環境変数を引き継ぐようにする。 sudoersは書き込み禁止になっているためvisudoで編集する。

# run as root
visudo -f /etc/sudoers
Defaults env_keep+="HTTP_PROXY"
Defaults env_keep+="HTTPS_PROXY"
Defaults env_keep+="NO_PROXY"
Defaults env_keep+="EDITOR"

/etc/environment

システム全体の環境変数として設定される。影響範囲が大きいので注意。 デスクトップユーザではSettings側の設定(Disabledなら設定されない)が優先されるようだった。

HTTP_PROXY=http://proxy:port
HTTPS_PROXY=http://proxy:port
NO_PROXY=localhost, 127.0.0.0/8, ::1

apt: /etc/apt/apt.conf

Acquire::http::proxy "http://proxy:port";
Acquire::https::proxy "http://proxy:port";

Snap: systemctl edit snapd.service

/etc/systemd/system/snapd.service.d/override.confにsystemdの設定ファイルを作成する。

# run as root
systemctl edit snapd.service # edit service file here
systemctl daemon-reload
systemctl restart snapd.service
# run as user
snap install ...

/etc/systemd/system/snapd.service.d/override.conf

[Service]
Environment=http_proxy=http://proxy:port
Environment=https_proxy=http://proxy:port

透過プロキシ

プロキシ非対応のHTTPアプリケーションでもプロキシを通過させるようにする透過プロキシを利用すると便利。