LoginSignup
13
18

More than 5 years have passed since last update.

Linuxで透過プロキシ、プロキシサーバーを設置する

Last updated at Posted at 2016-04-07

面倒な明示を必要としない透過プロキシの使い方など

透過プロキシは、SHELL変数とかに依存しないので便利です。

例えば、ここでは、privoxyを使います。

$ sudo pacman -S privoxy

これは、主に、cookie無効化とかuser agent偽造とか広告ブロックとかアクセス制限とか、そういうのを常時有効にしたい人が使いますね。

/etc/privoxy/config
## all network
# listen-address 192.168.1.X:8118
## local network
# listen-address 127.0.0.1:8118
## tor socks5
#forward-socks5 / 127.0.0.1:9050 .
# transparent proxy
accept-intercepted-requests 1

listen-addressは、デフォルトでは、localhost:8118になります。これは、ローカルで使う場合ですね。

他のパソコンから当該プロキシサーバーを経由したい場合は、ifconfigで調べたサーバーのアドレスを記述すればいいです。

$ sudo systemctl start privoxy
$ sudo systemctl enable privoxy

iptablesを使う場合は以下のような感じ。簡単ですね。

# iptables
$ sudo iptables -t nat -A PREROUTING -s 192.168.1.X -p tcp --dport 80 -j REDIRECT --to-ports 8118

各種デバイスで上記で立ち上げたprivoxy proxy serverを経由する場合は、通常、各種OSのネットワーク設定からプロキシ設定を192.168.1.X:8118にすればいけます。Xはサーバーのアドレス。

ネットワーク設定で一括指定できるので、面倒ではないですね。

通常のローカルネットワークというのは、このようにローカルネットワーク内に設置された一つのプロキシサーバーを経由して、WANとのやり取りをするようになっており、これによって一括してログ監視やアクセス制限が可能な仕組みが一般的です。

/etc/privoxy/configは、デフォルトで/etc/privoxy/user.*を読み込んでいて、それに追記することでユーザー設定が出来ます。cookieを強くすると、認証が失敗することもあるので弱めに。

/etc/privoxy/user.action
## UA
{ +hide-user-agent{ Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en) } }

## Cookie
# { +crunch-incoming-cookies +crunch-outgoing-cookies +filter{content-cookies} }
{ +session-cookies-only }

## Other
{ \
+change-x-forwarded-for{block} \
+hide-from-header{block} \
+hide-referrer{conditional-block} \
+hide-accept-language{en-us} \
+hide-if-modified-since{-60} \
+overwrite-last-modified{randomize} \
+crunch-if-none-match \
+session-cookies-only \
+fast-redirects{check-decoded-url} \
+hide-user-agent{ Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en) } \
}
/

広告ブロックはファイルを自動ダウンロードして設定するものがありますので、そちらを。

$ git clone https://github.com/Andrwe/privoxy-blocklist
$ cd privoxy-blocklist
$ chmod +x privoxy-blocklist.sh
$ sudo su
$ ./privoxy-blocklist.sh

# コメント削除
$ vim /etc/conf.d/privoxy-blacklist
"PRIVOXY_USER=xxx"
"PRIVOXY_GROUP=xxx"
"PRIVOXY_CONF=xxx"
# 再実行
$ ./privoxy-blocklist.sh
# 再起動
$ systemctl restart privoxy

参考

13
18
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
13
18