ちっぷす: Mac OS XをHTTPプロキシーサーバーにする

June 12, 2014
November 2, 2010
November 2, 2005

材料

  1. 2014年の構成
  2. 2010年の構成
  3. 2005年の構成

2014年版

もらってきた macosxi-dg をデスクトップにでも置いて、
sudo mv ˜/Desktop/macosxi-dg /usr/local/bin/delegated
などとして使う。

delegate の起動パラメータで ADMIN オプションが必須になったようなので、 設定ファイルに
ADMIN="root@host.domain"
みたいに自分のメールアドレスを指定する行を書き加える。

Mac OS X 10.7 では、delegated 起動時にそのポートへの許可を求めるウィンドウは出てこない。 リモートで CUI で起動できる。

2010年版

いつも使ってるパソコンから、それとは違う LAN セグメント上 (もしくはネットワーク的にも地理的にも離れたところ) にあるパソコンをプロキシーサーバーにして、 ウェブアクセス (HTTP &HTTPS) は全部そのサーバー経由にするための手順。

サーバーの準備

以下、管理者ユーザーで手順を確認している (root ではない)。 サーバーの IP アドレスを 123.456.78.90、 クライアントの IP アドレスを 987.654.32.10 とする。

なお、delegate を起動すると OS がウィンドウを出すので、 サーバー側 Mac OS X の GUI を操作できる環境が必要

  1. サーバーで、delegate をコンパイルする。Tar ball を展開して、make 一発。 configure なし。make しはじめると、 管理者の連絡先 e-mail アドレスを指定するところがある。
  2. パスの通ったディレクトリに、delegate9.9.7/src/delegated をコピー。
  3. delegated の設定ファイルを適当なところに置く。˜/.delegate/ とか。 ファイル名は任意。内容は以下のような具合。
    SERVER=http
    RELAY=proxy,delegate
    PERMIT="http,https,ftp:*:987.654.32.10"
    REMITTABLE="http,https,ftp"
        
    こうすると、プロキシーをサービスするのは http, https, ftp のみになり、 クライアント 987.654.32.10 だけがこのプロキシーサービスを使えるようになる。 なお、REMITTABLE を指定せず (この行を削除する)、PERMIT の最初の : の前を * にすると、SERVER=http を指定したときのデフォルト設定により http, https, ftp, gopher, wais のプロキシーをやるようになる。このとき、HTTPS はポート番号 443番と 563 番に限定される。
  4. で delegate デーモンを起動する。上の設定ファイルを param.txt とし、 ポート番号 13579 で HTTP プロキシーサービスを行うとすると、こんな感じ。
    /usr/local/bin/delegated -P13579 +=$HOME/.delegate/param.txt
        
    これでサービス開始。すると、サーバー側でログインしている画面 (GUI) に右のようなウインドウが現れるので、「許可」をクリック。
  5. サービスの停止と再起動
  6. DeleGate はかなり個性的でかつ多機能なので、詳細については delegate manualtutorial などを参照されたい。

クライアントの準備

Mac OS X の「システム環境設定」で、プロキシーサーバーを指定する。

  1. 「システム環境設定」を起動し、 ウィンドウの上の方の「全てを表示」をクリックして、 「ネットワーク」をクリックする
  2. プロキシーを使いたいネットワーク設定を選ぶ。内蔵Ethernetとか、AirMac とか、そんな名前のことが多い。で、「詳細…」をクリックする。
  3. 「プロキシ」タブをクリックする。
  4. 「構成するプロトコルを選択:」の下にリストアップされているプロトコルのうち、 「Webプロキシ (HTTP)」のチェックボックスをクリックして、 チェックが入った状態にする。
  5. 出てきた「Webプロキシサーバ」のところに 123.456.78.90 (またはサーバーのホスト名) を入れ、その横の:の右側にはサービスのポート番号 13579 を記入する。
  6. プロキシを通さずにアクセスしたいサイトがあったら、 そのホスト名、またはドメインの前に*.を付けたものを 「プロキシ設定を使用しないホストとドメイン」に記入する。たとえば *.go.jp のような感じ。
  7. そのウィンドウの下部にある「OK」をクリックする。
  8. 以降、たとえば Safari からのウェブページ閲覧は、123.456.78.90 を経由して行われる。 サーバー側を上述の設定にしておくと、HTTP も HTTPS も同じポートで受け付けるので、「保護された Web プロキシ (HTTPS)」 にもチェックを入れて同じポート番号を指定すれば、HTTPS もプロキシー経由になる。

参考 URL

2005年版

参考文書。 deligateをコンパイルしてインストールする。

  1. bzip2 -dc delegate8.11.5.tar.bz2 | tar xf -
    (管理者のメイルアドレスを決めておく)
  2. cd delegate8.11.5 && make && sudo cp src/delegated /usr/local/bin

起動

  1. /usr/local/bin/delegated -P8080 SERVER=http
    ポート8080でHTTPリクエストを受けるサーバーを起動。
  2. delegated -P8080 -Fkill
    ポート8080でHTTPリクエストを受けるサーバーを停止。
  3. delegated +=http://server/path/of/parameters.txt 設定ファイルを読み込んで起動。

課題

目的は、産総研内にプロキシーサーバーを設置して、 そこを経由してwebアクセスするようにすることで、産総研内の IP アドレスで契約しているオンラインジャーナルを自宅から読めるようにすることだった。 しかし自宅から産総研内にアクセスするにはVPNサーバーを経由しなければならず、 こいつのおかげで当初の目的は達せられない。