会社のネットワークやクローズドな環境でUbuntuを使う場合、プロキシサーバーを通さないとインターネットに出られないことがあります。apt update が失敗する、curl や wget でURLが取得できない、git clone がタイムアウトする――そのほとんどはプロキシ設定の抜け漏れが原因です。
本記事では、Ubuntu 24.04 LTS を実際にDockerコンテナで動かし、apt・環境変数・GUI の3つのレイヤーそれぞれでプロキシを正しく設定する方法を実測データとともに解説します。「どこに書けばどのツールに効くか」の対応関係もまとめているので、一度読めば迷わずに設定できます。
この記事のポイント
- 環境変数(
http_proxy)はセッション内のみ有効。永続化するには/etc/environmentに書く - aptのプロキシは
/etc/apt/apt.conf.d/proxy.confにAcquire::http::Proxyで設定する sudoはデフォルトで環境変数を引き継がない。sudo -Eか/etc/sudoers.d/proxyの設定が必要- git は
git config --global http.proxyで個別に設定する - Ubuntu 22.04 と 24.04 でプロキシ設定ファイルの構文に差はない(実測確認済み)
目次
- 環境変数でプロキシを設定する(curl・wget・pip など)
- /etc/environment で全ユーザー・永続設定
- apt のプロキシを設定する
- sudo 実行時にプロキシを引き継ぐ
- git のプロキシを設定する
- GUI(GNOME)でプロキシを設定する
- よくあるエラーと解決策
- まとめ
前提環境
- 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 など)
最も手軽なのが環境変数によるプロキシ設定です。curl・wget・pip・npm など多くのコマンドラインツールは http_proxy / https_proxy 環境変数を自動で参照します。
手順1:現在のプロキシ設定を確認する
まず現在の状態を確認しましょう。ubuntu:24.04 の素の状態では何も設定されていません。
(プロキシ環境変数なし — 出力なし)
ubuntu:24.04 の初期状態では env | grep -i proxy の出力は空です。つまり、デフォルトではプロキシは一切設定されていません(2026-06-13 実測確認)。
手順2:セッション内でプロキシを設定する(一時的)
export コマンドで設定すると、そのターミナルセッションの間だけ有効です。再ログインすると消えます。
$ 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

小文字(http_proxy)と大文字(HTTP_PROXY)の両方を設定するのがポイントです。ツールによってどちらを参照するかが違うため、両方書くと互換性が上がります。実際に env | grep -i proxy で6つの変数が確認できれば設定完了です。
no_proxy には、プロキシを経由させたくないホスト(ローカルホストや社内サーバーのIPなど)をカンマ区切りで指定します。
/etc/environment で全ユーザー・永続設定
システム全体・再起動後も有効にしたい場合は /etc/environment に書きます。このファイルはログイン時に PAM(Linux の認証モジュール)が読み込むため、全ユーザーに適用されます。
注意
/etc/environment の編集には sudo が必要です。また、書式を誤るとログインできなくなる可能性があります。バックアップを取ってから編集してください。
手順1:現在の /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:プロキシ設定を追記する
ファイルを開いたら、PATH 行の後に以下を追記します。
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:現在のセッションで読み込む
次回ログイン時から自動的に適用されますが、今すぐ確認したい場合は以下で読み込みます。
$ 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

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 プロキシ設定ファイルを作成する
ファイルに以下を書き込みます。
Acquire::https::Proxy “http://proxy.example.com:3128/”;
手順2:設定が反映されているか確認する
Acquire::http::Proxy “http://proxy.example.com:3128/”;
Acquire::https::Proxy “http://proxy.example.com:3128/”;

ubuntu:24.04 でこの2行が表示されれば設定完了です(2026-06-13 実測)。apt-config dump は apt が現在読み込んでいるすべての設定を出力するコマンドで、プロキシ設定のデバッグに使えます。
プロキシ設定を削除したい場合
$ 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 update や sudo pip install ではプロキシが無効になります。
方法1:sudo -E を使う(その場しのぎ)
$ sudo -E pip install requests
# -E フラグで環境変数を sudo 実行時に引き継ぐ
方法2:sudoers でプロキシ変数を常に引き継ぐ(恒久設定)
以下の内容を書き込みます。
これで sudo 実行時に自動的にプロキシ環境変数が引き継がれます。
git のプロキシを設定する
git は独自の設定ファイル(~/.gitconfig)でプロキシを管理します。環境変数でプロキシを設定していても、git は git config の設定を優先することがあります。ubuntu:24.04 では git 2.43.0 が apt でインストールできます(2026-06-13 実測)。
手順1:git プロキシを設定する
$ 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

手順2:プロキシを解除する
$ git config –global –unset https.proxy
$ git config –global –list | grep proxy
(出力なし — 解除成功)
GUI(GNOME)でプロキシを設定する
Ubuntuデスクトップ(GNOME環境)では、システム設定のGUI画面からプロキシを設定できます。ここで設定した値はGNOMEアプリケーション(FirefoxやNautilusなど)に自動的に適用されますが、コマンドラインツールや apt には自動では引き継がれません。
GUI でプロキシを設定する手順
- 右上のシステムメニューから「設定(Settings)」を開く
- 左サイドバーの「ネットワーク(Network)」をクリック
- 「ネットワークプロキシ(Network Proxy)」セクションの歯車アイコンをクリック
- 「手動(Manual)」を選択
- 「HTTP プロキシ」に
proxy.example.com、ポートに3128を入力 - 「HTTPS プロキシ」も同様に設定する
注意
GNOME のネットワークプロキシ設定は GUI アプリ(ブラウザなど)にのみ有効です。ターミナルの curl・apt・git などには効きません。コマンドラインでも使いたい場合は前述の環境変数か設定ファイルの方法を併用してください。
コマンドで GUI プロキシを設定する(gsettings)
GUIを使わずにコマンドで GNOME プロキシ設定を変更することも可能です。
$ 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 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」と表示される
プロキシアドレスかポート番号が間違っています。
Acquire::http::Proxy “http://proxy.example.com:3128/”;
# アドレスとポートを確認して修正する
② curl や wget でプロキシが効かない
env | grep -i proxy で環境変数が設定されているか確認します。設定されていなければ export か /etc/environment への追記が必要です。
③ sudo コマンドでプロキシが無効になる
sudo -E を使うか、/etc/sudoers.d/proxy に env_keep を設定します(「sudo 実行時にプロキシを引き継ぐ」の章を参照)。
④ プロキシ認証が必要な場合(ユーザー名・パスワード)
認証付きプロキシの場合は URL に認証情報を含めます。
# /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.confのAcquire::http::Proxy設定が必要 - sudo 経由のコマンドには
sudo -Eか/etc/sudoers.d/proxyのenv_keep設定が必要 - Ubuntu 22.04 と 24.04 でプロキシ設定の構文に違いはない(実測確認済み)
VPSを借りて自前のサーバーを構築するなら、ネットワーク設定をまとめて学べるのでプロキシの仕組みも理解しやすくなります。



コメント