#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. おわりに
お疲れ様でした!