LoginSignup
25
34

More than 1 year has passed since last update.

Ubuntuにプロキシの設定をする

Last updated at Posted at 2019-05-10

1. はじめに

  • 以下は個々の環境に合わせて読み替えてください

    • server : プロキシサーバーのアドレス
    • port : プロキシサーバーのポート
    • user : 認証用のユーザー名
    • password : 認証用のパスワード
    • url : プロキシを通さないでアクセスするurl(ローカルのサーバーなど)

2. 一時的に設定したい場合

2-1. ~/にproxy.shを追加

cd ~
nano proxy.sh
  • 認証無しの場合
#! /bin/bash
proxy="server:port"
export http_proxy="http://$proxy"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export no_proxy="127.0.0.1, localhost, url"
  • 認証ありの場合
#! /bin/bash
proxy="user:password@server:port"
export http_proxy="http://$proxy"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export no_proxy="127.0.0.1, localhost, url"

2-2. /etc/sudoersを編集

これを忘れるとsudo apt updateなどをするときにsudo -E apt updateにしないとプロキシの設定が反映されないので注意

sudo visudo

以下をDefaults env_resetのあとに追記

Defaults env_keep="http_proxy"
Defaults env_keep+="https_proxy"
Defaults env_keep+="ftp_proxy"
Defaults env_keep+="no_proxy"

2-3. 実行権限を与える

chmod +x proxy.sh

2-4. 実行

新しいターミナルを開くたびに実行しないと設定が反映されないので注意

source proxy.sh

3. 一時的ではない場合

3-1. /etc/profile.d/以下にproxy.shを追加

認証の有無で記述する内容が変わるので注意

sudo nano /etc/profile.d/proxy.sh
  • 認証無しの場合
#! /bin/bash
proxy="server:port"
export http_proxy="http://$proxy"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export no_proxy="127.0.0.1, localhost, url"
  • 認証ありの場合
#! /bin/bash
proxy="user:password@server:port"
export http_proxy="http://$proxy"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export no_proxy="127.0.0.1, localhost, url"

3-2. 実行権限を与える

sudo chmod +x /etc/profile.d/proxy.sh

3-3. /etc/sudoersを編集

これを忘れるとsudo apt updateなどをするときにsudo -E apt updateにしないとプロキシの設定が反映されないので注意

sudo visudo

以下をDefaults env_resetのあとに追記

Defaults env_keep="http_proxy"
Defaults env_keep+="https_proxy"
Defaults env_keep+="ftp_proxy"
Defaults env_keep+="no_proxy"

3-4. 再起動

reboot

2020/9/16 追記

以下のように~/.bashrcに追記することでターミナル起動時に特定のSSIDだった場合にプロキシを設定することができます。この場合でも/etc/sudoersの編集は必要です。

  • SSID1, SSID2は設定したいSSIDに置き換えてください
ssid=`iwgetid -r`
targets=("SSID1" "SSID2")
proxy="server:port"
if [ $ssid ]; then
    for target in "${targets[@]}" ; do
        if [ $ssid = $target ]; then
            export http_proxy="http://$proxy"
            export https_proxy=$http_proxy
            export ftp_proxy=$http_proxy
            export no_proxy="127.0.0.1, localhost, url"
        fi
    done
fi

4. おわりに

お疲れ様でした!

25
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
34