Ubuntu&Debian Linuxにおけるプロキシ設定ガイド
更新日:
UbuntuおよびDebian Linuxでは、プロキシ設定が実行コンテキストごとに分離されています。シェルセッションは/etc/environmentや~/.bashrcを参照し、APTパッケージマネージャーは/etc/apt/apt.conf.d/を読み込み、systemdサービスはドロップイン設定ファイルを使用し、GNOMEデスクトップはgsettingsを利用します。本ガイドでは、VinaProxy HTTP(S)プロキシを用いた各サブシステムの正確な設定例を提供します。
export http_proxy=http://user:pass@ip:port https_proxy=http://user:pass@ip:port- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
Ubuntuプロキシ設定スコープの比較
デフォルトではsudo実行時にユーザー環境変数がリセットされ、systemdサービスは~/.bashrcを読み込みません。以下のリファレンス表を参考に適切なファイルを設定してください。
| Ubuntuサブシステム | 設定ファイル / コマンド | 適用対象 | 持続性 |
|---|---|---|---|
| 対話型シェル | ~/.bashrc または /etc/profile.d/proxy.sh | curl, wget, python, git, node | すべてのログインシェル |
| システム全体PAM環境 | /etc/environment | すべてのPAMユーザーセッション | 再起動後も保持 |
| APTパッケージマネージャー | /etc/apt/apt.conf.d/80proxy | sudo apt update および apt install | APT専用で恒久的に保持 |
| systemdシステムサービス | /etc/systemd/system/<svc>.service.d/proxy.conf | Dockerデーモン、カスタム常駐サービス | daemon-reload実行後に適用 |
Ubuntu Server&Desktopでのステップ別設定例
bash
# 1. /etc/profile.d/proxy.sh(シェルおよびCLIコマンドツール)
sudo tee /etc/profile.d/proxy.sh > /dev/null << 'EOF'
export http_proxy="http://USER:PASS@IP:PORT"
export https_proxy="http://USER:PASS@IP:PORT"
export HTTP_PROXY="http://USER:PASS@IP:PORT"
export HTTPS_PROXY="http://USER:PASS@IP:PORT"
export no_proxy="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
export NO_PROXY="$no_proxy"
EOF
source /etc/profile.d/proxy.sh
# 2. /etc/apt/apt.conf.d/80proxy(APTパッケージマネージャー)
sudo tee /etc/apt/apt.conf.d/80proxy > /dev/null << 'EOF'
Acquire::http::Proxy "http://USER:PASS@IP:PORT/";
Acquire::https::Proxy "http://USER:PASS@IP:PORT/";
EOF
sudo実行時の変数保持とプロキシ認証情報のセキュリティ
sudo curl ...やsudo pip ...を実行する際は、sudo -Eフラグを付与して環境変数を引き継ぐか、sudo visudoでDefaults env_keep += "http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY"を設定してください。- 複数ユーザーで共有するLinuxサーバーでは、権限を制限(
sudo chmod 600 /etc/apt/apt.conf.d/80proxy)して、他のローカルユーザーにプロキシ認証情報が閲覧されないよう保護してください。
手順
- 1
シェル環境変数のエクスポート(/etc/profile.d/proxy.sh)
小文字(http_proxy, https_proxy, no_proxy)と大文字(HTTP_PROXY, HTTPS_PROXY, NO_PROXY)の双方を定義した/etc/profile.d/proxy.shを作成し、GNUやGo/Rust系CLIツールすべてに認識させます。
- 2
APTパッケージマネージャー専用プロキシの設定
sudo apt updateはユーザーのシェル変数を無視するため、Acquire::http::ProxyとAcquire::https::Proxyを記述した/etc/apt/apt.conf.d/80proxyを作成します。
- 3
curlによる外部接続テスト
source /etc/profile.d/proxy.shを実行して設定を反映し、curl -s https://api.ipify.orgでUbuntuマシンのトラフィックがVinaProxyを経由していることを確認します。
よくある質問
Linuxではなぜ小文字のhttp_proxyと大文字のHTTP_PROXYの両方が必要なのですか?
curlやwgetなどのツールは小文字のhttp_proxyを参照する一方、一部のライブラリや言語環境は大文字のHTTP_PROXYのみを認識します。両方を定義することで互換性を担保できます。
なぜ`sudo apt update`はエクスポートした`http_proxy`を無視するのですか?
sudoはセキュリティ上の理由からデフォルトで環境変数をリセットします。/etc/apt/apt.conf.d/80proxyを設定することで、APTが常に確実にプロキシ経由で通信するようになります。
Ubuntu Desktop GUI(GNOME)でプロキシを設定するにはどうすればよいですか?
設定 → ネットワーク → ネットワークプロキシ → 手動を選択するか、gsettings set org.gnome.system.proxy mode 'manual'とホスト・ポート設定コマンドを使用します。
Ubuntu向けの低遅延HTTP(S)プロキシを入手
7か国対応の専用IPv4および固定ISP住宅プロキシ認証情報を即時発行。
プロキシの料金を見る