OpenVPNサーバ/クライアントを起動時に立ち上げる
LinuxとWindowsの場合は本家HowToに記述があるのだが、
macosxの場合はまた別の作業が必要になる
macosxのサービス起動の仕組みは他のunix系OSと微妙に習慣が異なる
基本的に、起動すると
/System/Library/StartupItems/
/Library/StartupItems/
以下にあるスクリプトを順番に実行していく仕組みになっている、らしい
(補:MacOSX10.4以降はこの手法ではなくlaunchdを利用することを勧めるとのこと)
このうち前者はOSが予め必要とするものを置くのでユーザはいじらず、
後からインストールするものは後者におく、というのがマナー
とりあえず、新しいディレクトリを作る
/Library/StartupItems/OpenVPNserver
(名前は何でもいい、みたい)
起動スクリプトとプロパティリストの二つのファイルを作成
起動スクリプト
/Library/StartupItems/OpenVPNserver/OpenVPNserver
#!/bin/sh ## # OpenVPN ## . /etc/rc.common StartService () { /usr/local/sbin/openvpn --config /etc/openvpn/server.conf /usr/sbin/sysctl -w net.inet.ip.forwarding=1 } RunService "$1"
本当はもっとスマートに
/etc/hostconfigによるサービスのon/offの切り替えや
stop,restartへの対応とかもここに書くのだが
最低限起動するだけならこれで動く、はず
パーミッションを実行可能(744とか)にしておくのを忘れないように
詳しくは他のStartupItemsのスクリプトを参考にして欲しい
もう1つ、パラメータリストを用意する
/Library/StartupItems/OpenVPNserver/StartupParameters.plist
{ Description = "OpenVPN server"; Provides = ("OpenVPNserver"); }
こちらも他にいろいろ設定できるようなのだが、とりあえずこんなもんで
後は再起動してみて、プロセスが走っていればOK