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

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

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

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

前提条件

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

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

brew install squid

1
2
3
4
5
6
7
Updating Homebrew...
<snip>
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
<snip>

設定ファイルの編集

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

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

vi /usr/local/etc/squid.conf

1
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
だと思われた。

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

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

サービス停止

こちらは共通のよう。

brew services stop squid

おまけ:brew services command

初めて使った。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#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

1
2
3
4
brew services list
Name Status User Plist
dnsmasq stopped
squid stopped

参照

http://qiita.com/kmats@github/items/8a41c942e079c7a95919

http://qiita.com/mtakayuki/items/6869fa4760afc9a659e9