在 Ubuntu 中設定全域的 Proxy
前言
在使用 VM 的時候,不見得所有的 VM 都能拿到可以連上 Internet 的 IP。
不過無論是安裝軟體、安裝更新或是下載映像檔,都得透過網路。
比較常見的作法是讓 VM 透過 Proxy Server 上網。
這篇就簡單分享在 Ubuntu 中要怎麼指定透過哪台 Proxy Server 來上網。
編輯 /etc/environment 檔
在 Console 輸入下列指令透過 nano 來編輯 /etc/environment 檔,來把 Proxy 相關設定寫入環境變數:
sudo nano /etc/environment
接著在裡面加上下列內容:
/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
http_proxy="http://account:password@192.168.178.2:8080/"
https_proxy="http://account:password@192.168.178.2:8080/"
ftp_proxy="http://account:password@192.168.178.2:8080/"
no_prxoy="127.0.0.1,localhost"
注意
- 請自行將上面範例的帳號、密碼、IP 和 Port 替換為你的 Proxy 的設定。
- 完成之後,請重新登入讓 Ubuntu 自動讀取環境變數。
我們也可以透過下面這個指令來確認加入的值是不是有生效:
sudo env | grep proxy
沒意外的話,應該大部份透過系統來存取網路的軟體就都能上網囉。
針對特定的軟體設定 Proxy
除了設定全域的 Proxy 之外,我們也可以為特定的軟體單獨作設定。
抑或,有些軟體不吃系統的 Proxy,也得單獨進行設定(例如 Docker)。
讓 APT Package Manager 透過 Proxy 上網
在 Console 輸入下列指令透過 nano 來編輯 /etc/apt/apt.conf.d/80proxy 檔:
sudo nano /etc/apt/apt.conf.d/80proxy
在裡面加上下列內容:
/etc/apt/apt.conf.d/80proxy
Acquire::http::proxy "http://account:password@192.168.178.2:8080/";
Acquire::https::proxy "http://account:password@192.168.178.2:8080/";
Acquire::ftp::proxy "http://account:password@192.168.178.2:8080/";
按下 Ctrl + X 存檔退出就行囉。
讓 wget 透過 Proxy 上網
在 Console 輸入下列指令透過 nano 來編輯 ~/.wgetrc 檔:
sudo nano ~/.wgetrc
在裡面加上下列內容:
~/.wgetrc
use_proxy = on
http_proxy = http://account:password@192.168.178.2:8080/
https_proxy = http://account:password@192.168.178.2:8080/
ftp_proxy = http://account:password@192.168.178.2:8080/
按下 Ctrl + X 存檔退出就行囉。
讓 Docker 透過 Proxy 上網
注意
- 這邊指的 Docker 是指 Docker Deamon,也就是讓 Docker 可以透過 Proxy 去拉映像檔,和 Container 使用 Proxy 是兩回事喔!!
- 下列動作請務必在安裝完 Docker 之後再執行。
首先請先透過下面的指令建立設定檔的資料夾:
sudo mkdir -p /etc/systemd/system/docker.service.d