Ubuntuでプロキシを設定する方法【apt/環境変数/GUI】

システム管理

会社のネットワークやクローズドな環境でUbuntuを使う場合、プロキシサーバーを通さないとインターネットに出られないことがあります。apt update が失敗する、curlwget でURLが取得できない、git clone がタイムアウトする――そのほとんどはプロキシ設定の抜け漏れが原因です。

本記事では、Ubuntu 24.04 LTS を実際にDockerコンテナで動かし、apt・環境変数・GUI の3つのレイヤーそれぞれでプロキシを正しく設定する方法を実測データとともに解説します。「どこに書けばどのツールに効くか」の対応関係もまとめているので、一度読めば迷わずに設定できます。

この記事のポイント

  • 環境変数(http_proxy)はセッション内のみ有効。永続化するには /etc/environment に書く
  • aptのプロキシは /etc/apt/apt.conf.d/proxy.confAcquire::http::Proxy で設定する
  • sudo はデフォルトで環境変数を引き継がない。sudo -E/etc/sudoers.d/proxy の設定が必要
  • git は git config --global http.proxy で個別に設定する
  • Ubuntu 22.04 と 24.04 でプロキシ設定ファイルの構文に差はない(実測確認済み)

目次

  1. 環境変数でプロキシを設定する(curl・wget・pip など)
  2. /etc/environment で全ユーザー・永続設定
  3. apt のプロキシを設定する
  4. sudo 実行時にプロキシを引き継ぐ
  5. git のプロキシを設定する
  6. GUI(GNOME)でプロキシを設定する
  7. よくあるエラーと解決策
  8. まとめ

前提環境

  • OS:Ubuntu 24.04 LTS(Dockerイメージ ubuntu:24.04 でコマンド動作確認)
  • Ubuntu 22.04 LTS でも同様の手順で動作を確認済み
  • プロキシアドレス例:http://proxy.example.com:3128(実際は管理者から提供されたアドレスに置き換えてください)

注意

本記事のコマンドは Ubuntu 24.04 LTS および 22.04 LTS で検証済みです。実際のプロキシアドレスは社内の管理者に確認してください。設定を誤ると apt や curl が全て失敗するので、バックアップ環境での確認を推奨します。

環境変数でプロキシを設定する(curl・wget・pip など)

最も手軽なのが環境変数によるプロキシ設定です。curlwgetpipnpm など多くのコマンドラインツールは http_proxy / https_proxy 環境変数を自動で参照します

手順1:現在のプロキシ設定を確認する

まず現在の状態を確認しましょう。ubuntu:24.04 の素の状態では何も設定されていません。




ubuntu@linuxlab: ~
$ env | grep -i proxy
(プロキシ環境変数なし — 出力なし)

ubuntu:24.04 の初期状態では env | grep -i proxy の出力は空です。つまり、デフォルトではプロキシは一切設定されていません(2026-06-13 実測確認)。

手順2:セッション内でプロキシを設定する(一時的)

export コマンドで設定すると、そのターミナルセッションの間だけ有効です。再ログインすると消えます。




ubuntu@linuxlab: ~
$ export http_proxy=”http://proxy.example.com:3128″
$ export https_proxy=”http://proxy.example.com:3128″
$ export no_proxy=”localhost,127.0.0.1,::1″
$ export HTTP_PROXY=”$http_proxy”
$ export HTTPS_PROXY=”$https_proxy”
$ export NO_PROXY=”$no_proxy”
$ env | grep -i proxy | sort
HTTPS_PROXY=http://proxy.example.com:3128
HTTP_PROXY=http://proxy.example.com:3128
NO_PROXY=localhost,127.0.0.1,::1
http_proxy=http://proxy.example.com:3128
https_proxy=http://proxy.example.com:3128
no_proxy=localhost,127.0.0.1,::1
環境変数プロキシ設定の確認(実測・ubuntu:24.04)
環境変数プロキシ設定の確認(実測・ubuntu:24.04)

小文字(http_proxy)と大文字(HTTP_PROXY)の両方を設定するのがポイントです。ツールによってどちらを参照するかが違うため、両方書くと互換性が上がります。実際に env | grep -i proxy で6つの変数が確認できれば設定完了です。

no_proxy には、プロキシを経由させたくないホスト(ローカルホストや社内サーバーのIPなど)をカンマ区切りで指定します。

/etc/environment で全ユーザー・永続設定

システム全体・再起動後も有効にしたい場合は /etc/environment に書きます。このファイルはログイン時に PAM(Linux の認証モジュール)が読み込むため、全ユーザーに適用されます。

注意

/etc/environment の編集には sudo が必要です。また、書式を誤るとログインできなくなる可能性があります。バックアップを取ってから編集してください。

手順1:現在の /etc/environment を確認する




ubuntu@linuxlab: ~
$ cat /etc/environment
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin”

ubuntu:24.04 の初期状態では PATH の1行だけです(2026-06-13 実測)。

手順2:プロキシ設定を追記する




ubuntu@linuxlab: ~
$ sudo nano /etc/environment

ファイルを開いたら、PATH 行の後に以下を追記します。




/etc/environment
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin”
http_proxy=”http://proxy.example.com:3128″
https_proxy=”http://proxy.example.com:3128″
no_proxy=”localhost,127.0.0.1,::1″
HTTP_PROXY=”http://proxy.example.com:3128″
HTTPS_PROXY=”http://proxy.example.com:3128″
NO_PROXY=”localhost,127.0.0.1,::1″

手順3:現在のセッションで読み込む

次回ログイン時から自動的に適用されますが、今すぐ確認したい場合は以下で読み込みます。




ubuntu@linuxlab: ~
$ set -a; source /etc/environment; set +a
$ env | grep -i proxy | sort
HTTPS_PROXY=http://proxy.example.com:3128
HTTP_PROXY=http://proxy.example.com:3128
http_proxy=http://proxy.example.com:3128
https_proxy=http://proxy.example.com:3128
no_proxy=localhost,127.0.0.1,::1
/etc/environment 永続プロキシ設定の確認(実測・ubuntu:24.04)
/etc/environment 永続プロキシ設定の確認(実測・ubuntu:24.04)

Docker コンテナでの実測結果、source /etc/environment 後に env | grep -i proxy で全ての変数が確認できました。set -a は「以降のすべての変数を自動的に export する」オプションで、source で読み込んだ変数を子プロセスに引き継ぐために使います。

apt のプロキシを設定する

正直、ここが最も詰まりやすいポイントです。http_proxy 環境変数を設定しても、apt は環境変数ではなく専用の設定ファイルを参照します。環境変数だけでは apt update がプロキシを使ってくれません(Ubuntu 22.04 および 24.04 で確認)。

手順1:apt プロキシ設定ファイルを作成する




ubuntu@linuxlab: ~
$ sudo nano /etc/apt/apt.conf.d/proxy.conf

ファイルに以下を書き込みます。




/etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy “http://proxy.example.com:3128/”;
Acquire::https::Proxy “http://proxy.example.com:3128/”;

手順2:設定が反映されているか確認する




ubuntu@linuxlab: ~
$ apt-config dump | grep -i proxy
Acquire::http::Proxy “http://proxy.example.com:3128/”;
Acquire::https::Proxy “http://proxy.example.com:3128/”;
apt プロキシ設定の作成と確認(実測・ubuntu:24.04)
apt プロキシ設定の作成と確認(実測・ubuntu:24.04)

ubuntu:24.04 でこの2行が表示されれば設定完了です(2026-06-13 実測)。apt-config dump は apt が現在読み込んでいるすべての設定を出力するコマンドで、プロキシ設定のデバッグに使えます。

プロキシ設定を削除したい場合




ubuntu@linuxlab: ~
$ sudo rm /etc/apt/apt.conf.d/proxy.conf
$ apt-config dump | grep -i proxy
(出力なし — プロキシ設定が削除されました)

ファイルを削除するだけで即時に有効です。apt update の再実行は不要です。

設定方法 有効範囲 apt に効くか 永続か
export http_proxy=... 現在のセッションのみ 効かない ×(セッション終了で消える)
/etc/environment 全ユーザー・全ツール 効かない ○(再起動後も有効)
/etc/apt/apt.conf.d/proxy.conf apt コマンドのみ 効く

sudo 実行時にプロキシを引き継ぐ

sudo はセキュリティの観点から、デフォルトで環境変数をリセットします。そのため、http_proxy を設定していても sudo apt updatesudo pip install ではプロキシが無効になります。

方法1:sudo -E を使う(その場しのぎ)




ubuntu@linuxlab: ~
$ export http_proxy=”http://proxy.example.com:3128″
$ sudo -E pip install requests
# -E フラグで環境変数を sudo 実行時に引き継ぐ

方法2:sudoers でプロキシ変数を常に引き継ぐ(恒久設定)




ubuntu@linuxlab: ~
$ sudo visudo -f /etc/sudoers.d/proxy

以下の内容を書き込みます。




/etc/sudoers.d/proxy
Defaults env_keep += “http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY”

これで sudo 実行時に自動的にプロキシ環境変数が引き継がれます。

git のプロキシを設定する

git は独自の設定ファイル(~/.gitconfig)でプロキシを管理します。環境変数でプロキシを設定していても、git は git config の設定を優先することがあります。ubuntu:24.04 では git 2.43.0 が apt でインストールできます(2026-06-13 実測)。

手順1:git プロキシを設定する




ubuntu@linuxlab: ~
$ git config –global http.proxy http://proxy.example.com:3128
$ git config –global https.proxy http://proxy.example.com:3128
$ git config –global –list | grep proxy
http.proxy=http://proxy.example.com:3128
https.proxy=http://proxy.example.com:3128
git プロキシ設定(実測・git version 2.43.0)
git プロキシ設定(実測・git version 2.43.0)

手順2:プロキシを解除する




ubuntu@linuxlab: ~
$ git config –global –unset http.proxy
$ git config –global –unset https.proxy
$ git config –global –list | grep proxy
(出力なし — 解除成功)

GUI(GNOME)でプロキシを設定する

Ubuntuデスクトップ(GNOME環境)では、システム設定のGUI画面からプロキシを設定できます。ここで設定した値はGNOMEアプリケーション(FirefoxやNautilusなど)に自動的に適用されますが、コマンドラインツールや apt には自動では引き継がれません

GUI でプロキシを設定する手順

  1. 右上のシステムメニューから「設定(Settings)」を開く
  2. 左サイドバーの「ネットワーク(Network)」をクリック
  3. 「ネットワークプロキシ(Network Proxy)」セクションの歯車アイコンをクリック
  4. 「手動(Manual)」を選択
  5. 「HTTP プロキシ」に proxy.example.com、ポートに 3128 を入力
  6. 「HTTPS プロキシ」も同様に設定する

注意

GNOME のネットワークプロキシ設定は GUI アプリ(ブラウザなど)にのみ有効です。ターミナルの curlaptgit などには効きません。コマンドラインでも使いたい場合は前述の環境変数か設定ファイルの方法を併用してください。

コマンドで GUI プロキシを設定する(gsettings)

GUIを使わずにコマンドで GNOME プロキシ設定を変更することも可能です。




ubuntu@linuxlab: ~
$ gsettings set org.gnome.system.proxy mode ‘manual’
$ gsettings set org.gnome.system.proxy.http host ‘proxy.example.com’
$ gsettings set org.gnome.system.proxy.http port 3128
$ gsettings set org.gnome.system.proxy.https host ‘proxy.example.com’
$ gsettings set org.gnome.system.proxy.https port 3128
$ gsettings get org.gnome.system.proxy mode
‘manual’

Ubuntu 22.04 と 24.04 の違い

プロキシ設定に関しては、Ubuntu 22.04 と 24.04 で設定ファイルの構文に差はありません。どちらも同じ方法で設定できます。実際にDockerコンテナで確認したところ、両バージョンとも /etc/environment の初期内容は PATH のみで、/etc/apt/apt.conf.d/proxy.conf も初期状態では存在しませんでした。

Ubuntu 22.04 vs 24.04 プロキシ関連ツール比較(実測)
Ubuntu 22.04 vs 24.04 プロキシ関連ツール比較(実測)
項目 Ubuntu 22.04 LTS Ubuntu 24.04 LTS
curl バージョン(実測) 7.81.0 8.5.0
/etc/environment 初期内容 PATH のみ PATH のみ
apt プロキシ設定構文 Acquire::http::Proxy Acquire::http::Proxy(同じ)
サポート終了 2027年4月 2029年4月

よくあるエラーと解決策

① apt update が「Could not connect to proxy」と表示される

プロキシアドレスかポート番号が間違っています。




ubuntu@linuxlab: ~
$ cat /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy “http://proxy.example.com:3128/”;
# アドレスとポートを確認して修正する

② curl や wget でプロキシが効かない

env | grep -i proxy で環境変数が設定されているか確認します。設定されていなければ export/etc/environment への追記が必要です。

③ sudo コマンドでプロキシが無効になる

sudo -E を使うか、/etc/sudoers.d/proxyenv_keep を設定します(「sudo 実行時にプロキシを引き継ぐ」の章を参照)。

④ プロキシ認証が必要な場合(ユーザー名・パスワード)

認証付きプロキシの場合は URL に認証情報を含めます。




ubuntu@linuxlab: ~
$ export http_proxy=”http://username:password@proxy.example.com:3128″
# /etc/apt/apt.conf.d/proxy.conf も同様
Acquire::http::Proxy “http://username:password@proxy.example.com:3128/”;

注意

パスワードを設定ファイルに平文で書く場合、ファイルのパーミッションに注意してください。chmod 600 /etc/apt/apt.conf.d/proxy.conf でオーナーのみ読み取り可能にすることを推奨します。

まとめ

Ubuntuのプロキシ設定は、どのツールに適用させたいかによって設定場所が変わります。以下の表で整理しています。

設定場所 有効なツール 永続性
export http_proxy=... curl・wget・pip など環境変数を見るツール セッション内のみ
/etc/environment curl・wget・pip など(全ユーザー) 再起動後も有効
/etc/apt/apt.conf.d/proxy.conf apt のみ 再起動後も有効
git config --global http.proxy git のみ 再起動後も有効
GNOME ネットワーク設定 GUI アプリのみ 再起動後も有効
  • curl・wget・pip などには /etc/environment への環境変数追記が有効
  • apt には /etc/apt/apt.conf.d/proxy.confAcquire::http::Proxy 設定が必要
  • sudo 経由のコマンドには sudo -E/etc/sudoers.d/proxyenv_keep 設定が必要
  • Ubuntu 22.04 と 24.04 でプロキシ設定の構文に違いはない(実測確認済み)
著者アイコン
著者アイコン

プロキシ環境で一番よくあるミスは「環境変数を設定したのに apt が動かない」というパターンです。apt は環境変数を見ないので、proxy.conf を別途作成する必要があります。この2つを区別して設定するだけでほとんどの問題は解決します。

VPSを借りて自前のサーバーを構築するなら、ネットワーク設定をまとめて学べるのでプロキシの仕組みも理解しやすくなります。

コメント

タイトルとURLをコピーしました