fascinated with tofu

豆腐に魅せられて

3分で Mac OS X に squid プロキシをたてる

不定期にローカルネットワーク内で作業する機会に恵まれる。
そうしたとき大抵 yum や online license 認証的なことが必要となり、なし崩し的に「そうだ、Squid たてよう」となる。

最新の brew はとても便利で、すぐにおれおれ proxy が立てられたのでメモがてらどうぞ。

*日本語の技術ブログをいくつか参考にさせてもらったのだが、開始・停止コマンドだけ新しくなっていそうなのでそこだけ真新しさがある記事。

前提条件

Mac OS X 10.11.6 (わたしが)
・homebrew 環境あり

インストールと post install メッセージ

brew install squid
Updating Homebrew… To have launchd start squid now and restart at login:
brew services start squid
Or, if you don’t want/need a background service you can just run:
squid

設定ファイルの編集

おそらく大半の人が触らなくていいのでは? 設定変更したい場合、参照を見ていただければそちらの方が詳しい。

私の場合は、以下のみ追記した。

vi /usr/local/etc/squid.conf

acl localnet src X.X.X.X/YY   <= 今回たまたまイレギュラーな IP レンジがローカルネットに存在したため追記

サービス開始

上のメッセージに従おう。

brew services start squid

ただし、メッセージにあるような squid コマンドは使えず。

ここで、下に貼ったbrew services を読むと、

[sudo] brew services run formula|–all
Run the service formula without starting at login (or boot).

とあるので、正確には一時的にサービス開始コマンド
brew services run squid
サービス自動起動コマンドが以下
brew services start squid
だと思われた。

紛らわしいことに両方とも開始語のメッセージは同じだった。

brew services start squid
==> Successfully started `squid` (label: homebrew.mxcl.squid)
brew services run squid
==> Successfully started `squid` (label: homebrew.mxcl.squid)

サービス停止

こちらは共通のよう。

brew services stop squid

おまけ:brew services command

初めて使った。

#brew services
brew services  
    Easily start and stop formulae via launchctl

    Integrates Homebrew formulae with OS X's launchctl manager. Services can be
    added to either /Library/LaunchDaemons or ~/Library/LaunchAgents.
    Basically, items in /Library/LaunchDaemons are started at boot, while those
    in ~/Library/LaunchAgents are started at login.

    When started with sudo, it operates on /Library/LaunchDaemons; otherwise,
    it operates on ~/Library/LaunchAgents.

    On start the plist file is generated and written to a Tempfile, and then
    copied to the launch path (existing plists are overwritten).

    [sudo] brew services list
    List all running services for the current user (or root)

    [sudo] brew services run formula|--all
    Run the service formula without starting at login (or boot).

    [sudo] brew services start formula|--all
    Install and start the service formula at login (or boot).

    [sudo] brew services stop formula|--all
    Stop the service formula after it was launched at login (or boot).

    [sudo] brew services restart formula|--all
    Stop (if necessary), install and start the service formula at login (or boot).

    [sudo] brew services cleanup
    Remove all unused services.

例えば自動起動設定しているサービスのリストは以下。
brew services list

brew services list
Name    Status  User Plist
dnsmasq stopped      
squid   stopped      

参照

認証付きプロキシを強要されるOSXユーザがsquildで幸せになれた話 - Qiita

mac上にHTTPプロキシを立てることで認証プロキシの認証をスキップする - Qiita