サーバいじくり雑記

2014年3月16日

ProxyChainsでProxy対応していないソフトをProxyを超えて通信可能にする

Filed under: ソフト, FreeBSD, Linux — bompopo @ 2:41 PM

Proxy対応していないようなメールクライアント等のソフトでも強引にProxyを使わせることが可能です。ようはネットワークコネクションを下層でフックしてProxyにリダイレクトしてやればいいのです。
さらにProxyChainsでは間に経由するProxyを多段に自由に構成することができます。

同様な感じではtsocksとかredsocksとかあるようですが多段構成ができなかったり手元では安定性がいまいちだったのでProxyChainsを常用することに。(tor対応のproxychains-ngってのもありますがここでは触れません)

portsなりapt-getなりで導入したらさっそく設定です。
設定は「~/.proxychains/proxychains.conf」に行います。サンプルはそれぞれの環境のetc/proxychains.confを参照のこと。

基本的な使い方しかしないのであれば、いじるのは[ProxyList]の部分のみです。

[ProxyList]
http        127.0.0.1 3128

使い方は簡単。コマンドでproxychainsの引数で目的のソフトを指定するだけです。以下はclaws-mailをプロキシ越しに使いたい場合です。

$ proxychains claws-mail

この場合プロキシサーバ(squid等)がメールで利用するPOPやSMTPポートの利用を許可するよう設定する必要があります。そこは適宜設定のほどを。

さて、上記のままの設定、そのままのproxychainsではプロキシを使わないホストを指定することができません(192.168.*.*と10.*.*.*はプロキシ使わないとなっていますがハードコードでしょうか…)。そこでdebianでは独自パッチを当てることによりプロキシ使わないホストのリストを指定することができます。
以下のようにして192.168.0.1と192.168.0.2にはプロキシを使わない設定が可能です。

[ProxyList]
localnet    192.168.0.1
localnet    192.168.0.2
http        127.0.0.1 3128

どういう時にプロキシ使わないリストが必要になるかっていうと、本当にすべての通信をプロキシしてしまうためXサーバとXクライアントが別ホストだったりする場合Xの通信さえプロキシを経由してしまう場合等です。これはイタイです。ぜひこのパッチを公式に組み込んでいただけたらと思います。
でもこのパッチ、リストの件数がハードコードされており、20件までみたいなんですよね。。。パッチの出来としてはイマイチ(^_^;)

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。