このシステムに対して 192.168.10.5:8080 というプロキシを設定したい場合、適当なネットワークを使うソフトで適当なホストにアクセスする。ここでは firefox。
$ firefox 'http://www.example.com/' &
ページの読み込みが完了する前にネットワークへの接続状態を確認する。たとえば以下のようになる。Foreign Address にプロキシのアドレスがあり、プロキシを使って通信が行われていることがわかる。
$ netstat --inet -n -p -eev (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 10.0.2.15:51604 192.168.10.5:8080 ESTABLISHED 1000 22680 3828/firefox tcp 0 0 10.0.2.15:51603 192.168.10.5:8080 TIME_WAIT 0 0 - tcp 0 0 10.0.2.15:51605 192.168.10.5:8080 ESTABLISHED 1000 22681 3828/firefox
プロキシを使っていない場合、たとえば以下のようになる。
$ netstat --inet -n -p -eev (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 10.0.2.15:44030 192.0.32.8:80 TIME_WAIT 0 0 - tcp 0 0 10.0.2.15:54485 74.125.235.161:80 TIME_WAIT 0 0 - tcp 0 0 10.0.2.15:44044 192.0.32.8:80 ESTABLISHED 1000 22348 3768/firefox tcp 0 0 10.0.2.15:44031 192.0.32.8:80 TIME_WAIT 0 0 - tcp 0 0 10.0.2.15:44041 192.0.32.8:80 ESTABLISHED 1000 22342 3768/firefox tcp 0 0 10.0.2.15:59730 74.125.235.131:80 TIME_WAIT 0 0 - tcp 0 0 10.0.2.15:60495 192.0.43.10:80 ESTABLISHED 1000 22245 3768/firefox tcp 0 0 10.0.2.15:44029 192.0.32.8:80 TIME_WAIT 0 0 -
プロキシの設定方法は個々のアプリケーションで異なる。たとえば firefox はデフォルトで Use system proxy settings が有効になっており、システムのプロキシ設定を使うことになっている。この設定を確認するには gsettings を使う。この内容を参照してプロキシの設定を自動的に行うプログラムも多い。
$ gsettings list-recursively org.gnome.system.proxy org.gnome.system.proxy autoconfig-url '' org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8'] org.gnome.system.proxy mode 'none' org.gnome.system.proxy use-same-proxy true org.gnome.system.proxy.ftp host '' org.gnome.system.proxy.ftp port 0 org.gnome.system.proxy.http authentication-password '' org.gnome.system.proxy.http authentication-user '' org.gnome.system.proxy.http enabled false org.gnome.system.proxy.http host '' org.gnome.system.proxy.http port 8080 org.gnome.system.proxy.http use-authentication false org.gnome.system.proxy.https host '' org.gnome.system.proxy.https port 0 org.gnome.system.proxy.socks host '' org.gnome.system.proxy.socks port 0
たとえば http と https プロキシを 192.168.10.5:8080、ftp プロキシを 192.168.10.5:8021、socks プロキシを 192.168.10.5:1080、に設定し、そのほかのプロトコルでも同じプロキシを使う場合以下のように設定を行う。
$ gsettings set org.gnome.system.proxy mode 'manual' $ gsettings set org.gnome.system.proxy use-same-proxy true $ gsettings set org.gnome.system.proxy.http host '192.168.10.5' $ gsettings set org.gnome.system.proxy.http port 8080 $ gsettings set org.gnome.system.proxy.https host '192.168.10.5' $ gsettings set org.gnome.system.proxy.https port 8080 $ gsettings set org.gnome.system.proxy.ftp host '192.168.10.5' $ gsettings set org.gnome.system.proxy.ftp port 8021 $ gsettings set org.gnome.system.proxy.socks host '192.168.10.5' $ gsettings set org.gnome.system.proxy.socks port 1080 $ gsettings list-recursively org.gnome.system.proxy org.gnome.system.proxy autoconfig-url '' org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8'] org.gnome.system.proxy mode 'manual' org.gnome.system.proxy use-same-proxy true org.gnome.system.proxy.ftp host '192.168.10.5' org.gnome.system.proxy.ftp port 8021 org.gnome.system.proxy.http authentication-password '' org.gnome.system.proxy.http authentication-user '' org.gnome.system.proxy.http enabled true org.gnome.system.proxy.http host '192.168.10.5' org.gnome.system.proxy.http port 8080 org.gnome.system.proxy.http use-authentication false org.gnome.system.proxy.https host '192.168.10.5' org.gnome.system.proxy.https port 8080 org.gnome.system.proxy.socks host '192.168.10.5' org.gnome.system.proxy.socks port 1080
設定をリセットするには以下のようにする。最初の設定に戻ったことが確認できる。
$ gsettings reset org.gnome.system.proxy mode $ gsettings reset org.gnome.system.proxy use-same-proxy $ gsettings reset org.gnome.system.proxy.http host $ gsettings reset org.gnome.system.proxy.http port $ gsettings reset org.gnome.system.proxy.https host $ gsettings reset org.gnome.system.proxy.https port $ gsettings reset org.gnome.system.proxy.ftp host $ gsettings reset org.gnome.system.proxy.ftp port $ gsettings reset org.gnome.system.proxy.socks host $ gsettings reset org.gnome.system.proxy.socks port $ gsettings list-recursively org.gnome.system.proxy org.gnome.system.proxy autoconfig-url '' org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8'] org.gnome.system.proxy mode 'none' org.gnome.system.proxy use-same-proxy true org.gnome.system.proxy.ftp host '' org.gnome.system.proxy.ftp port 0 org.gnome.system.proxy.http authentication-password '' org.gnome.system.proxy.http authentication-user '' org.gnome.system.proxy.http enabled true org.gnome.system.proxy.http host '' org.gnome.system.proxy.http port 8080 org.gnome.system.proxy.http use-authentication false org.gnome.system.proxy.https host '' org.gnome.system.proxy.https port 0 org.gnome.system.proxy.socks host '' org.gnome.system.proxy.socks port 0
firefox と異なり、wget は *_PROXY 環境変数を参照してプロキシの設定を行う。これを確認するには以下のようにする。この内容を参照してプロキシの設定を自動的に行うプログラムは lynx、fetch 等の CUI プログラムに多い。
$ printenv | grep -i proxy
たとえば http と https プロキシを 192.168.10.5:8080、ftp プロキシを 192.168.10.5:8021、socks プロキシを 192.168.10.5:1080、に設定し、そのほかのプロトコルでも同じプロキシを使う場合以下のように設定を行う。
環境変数の設定方法はシェルによって異なる。bash の場合 export を使う。
$ export ALL_PROXY=socks://192.168.10.5:1080/ $ export FTP_PROXY=http://192.168.10.5:8021/ $ export HTTPS_PROXY=http://192.168.10.5:8080/ $ export HTTP_PROXY=http://192.168.10.5:8080/ $ export NO_PROXY=localhost,127.0.0.0/8 $ export all_proxy=socks://192.168.10.5:1080/ $ export ftp_proxy=http://192.168.10.5:8021/ $ export http_proxy=http://192.168.10.5:8080/ $ export https_proxy=http://192.168.10.5:8080/ $ export no_proxy=localhost,127.0.0.0/8 $ printenv | grep -i proxy ALL_PROXY=socks://192.168.10.5:8080/ FTP_PROXY=http://192.168.10.5:8080/ HTTPS_PROXY=http://192.168.10.5:8080/ HTTP_PROXY=http://192.168.10.5:8080/ NO_PROXY=localhost,127.0.0.0/8 all_proxy=socks://192.168.10.5:8080/ ftp_proxy=http://192.168.10.5:8080/ http_proxy=http://192.168.10.5:8080/ https_proxy=http://192.168.10.5:8080/ no_proxy=localhost,127.0.0.0/8
環境変数を削除するには unset を使う。
$ unset ALL_PROXY $ unset FTP_PROXY $ unset HTTPS_PROXY $ unset HTTP_PROXY $ unset NO_PROXY $ unset all_prox $ unset ftp_proxy $ unset http_proxy $ unset https_proxy $ unset no_proxy $ printenv | grep -i proxy
プロキシの設定方法は、プログラムごとに異なるためマニュアルを読むことが大事。