:::: MENU ::::

C.a.T!

CATch a TAIL!

Japanese sub culture and tech.

  • 2011/01/17
  • 0
engineer

Squidで中間Proxyを立てる

実験環境なんかで、プライベートなネットワーク組むことがよくあるのですが、その際外部ネットワークに HTTP だけは通したいことがよくあります。

OSのパッケージインストールとか、Mavenビルドとかね。

そういうときには Proxy を立てますが、いっつも忘れるのでメモ。

構成的には、プライベートネットワーク内のマシンは、ここで立てるProxyサーバを通して社内ネットワークに接続。

社内ネットワークには、インターネットに出るための社内Proxyサーバが別途立っていて、そこを通らないと Firewall が越えられない前提。

さらに、社内ネットワークのマシン群には、社内Proxyを通さずにHTTPする必要がある。

微妙に、特殊かもしれませんが。

使うのは定番のSquidです。

Ubuntu だと、

# sudo apt-get install squid

で、/etc/squid/squid.conf を以下のように。

#1

http_access allow CONNECT SSL_ports

#2

cache_peer parent.proxy-server parent 3128 7 no-query

#3

acl local-servers dstdomain my.internal.domain

always_direct allow local-servers

#4

never_direct allow CONNECT

#5

forwarded_for off

#1 で SSLポート(デフォルトで定義がある)への接続を許可。

#2 で 社内Proxy(parent.proxy-server)を親Proxyとして設定。これで、外へのアクセスは、社内Proxyへパス。

#3 で 社内ネットワーク(my.internal.domain) へのアクセスは社内Proxyにパスせず直接接続。

#4 で 社外ネットワークに接続する場合のSSL接続は、社内Proxyへパス(SSLはデフォルトで直接接続しようとする)

#5 で 一応IP隠す。

という感じ。

設定は、順番で動作が変わるのでその辺はまることがある。

Leave a comment