絖綛 N@i.jp  昨日:00043024
 今日:00009166
 総計:00301622
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:04/16 19:55


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

OpenVPN(6)

OpenVPNサーバーの自動起動


 手動でのOpenVPNサーバー起動が成功したら、^C で一旦実行を打ち切り、Macブート時に自動的にOpenVPNサーバーが起動するようにします。

 ブート時に自動起動させるには、

  • StartupItem に起動スクリプトを置く方法
  • LaunchDaemons を使う方法

の2つがあるようです。どちらの方法でも構わないのですが、現在では後者の方法の方が推奨されているようですので、ワタシも後者を使いました。
 また、本来は開始、終了、設定変更時の強制リスタートなどに対応できるようにすべきなのでしょうが、以下の記述はどちらも「とりあえず起動すれば良い」という適当な状態です。アシカラズ(^^;)。

  1. StartupItem に起動スクリプトを置く方法
     "/Library/StartupItems"の下にディレクトリを作り、その下に起動スクリプトと初期設定ファイル(.plist)を置きます。
    $ cd /Library/StartupItems
    $ sudo mkdir OpenVPN
    $ cd OpenVPN
    $ sudo vi OpenVPN

    "OpenVPN" 起動スクリプトに書く内容は、こんな感じ。

    #!/bin/sh
    
    ##
    # OpenVPN
    ##
    
    . /etc/rc.common
    
    StartService ()
    {
      ConsoleMessage "Staring OpenVPN server"
    
      /usr/local/sbin/openvpn --config /etc/openvpn/server.conf
    }
    
    StopService ()
    {
      if pid=$(GetPID openvpn); then
        ConsoleMessage "Stopping OpenVPN server"
        kill -TERM "${pid}"
      else
        ConsoleMessage "OpenVPN server is not running."
      fi
    }
    
    RestartService () { StopService; StartService; }
    
    RunService "$1"

    書き終わったら保存して実行権を付けておきます。

    $ sudo chmod a+x OpenVPN

     初期設定ファイルは "StartupParameters.plist" というファイル名にします。内容はこんな感じ。

    {
        Description     = "OpenVPN server Starting";
        Provides        = ("OpenVPN");
        Requires        = ("Network Configuration");
        OrderPreference = "None";
        Messages = {
            start = "OpenVPN server starting";
            stop  = "OpenVPN server stopping";
        };
    }
  2. LaunchDaemons を使う方法
     "/Library/LaunchDaemons" の下に、"org.openvpn.plist" という名前のファイルを起きます。
    $ cd /Library/LaunchDaemons
    $ sudo vi org.openvpn.plist
    

    内容は、こんな感じ。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
    <plist version="1.0">
    <dict>
            <key>Label</key>
            <string>org.openvpn</string>
            <key>OnDemand</key>
            <false/>
            <key>Program</key>
            <string>/usr/local/sbin/openvpn</string>
            <key>ProgramArguments</key>
            <array>
                    <string>openvpn</string>
                    <string>--config</string>
                    <string>/etc/openvpn/server.conf</string>
            </array>
            <key>RunAtLoad</key>
            <true/>
            <key>TimeOut</key>
            <integer>90</integer>
            <key>WorkingDirectory</key>
            <string>/etc/openvpn</string>
    </dict>
    </plist>
    

 上記いずれかの方法で設定しておき、Macを再起動。psコマンドやアクティビティモニタで openvpn プロセスが起動していることが確認できればOK。また、コンソールで /var/log/openvn.log を見て、正しくログが書き出されていればOKです。


 LaunchDaemons を使った場合、上記だけで起動、終了、再起動(リスタート)が以下の方法で可能なのでした。

  1. 起動
    # launchctl load /Library/LaunchDaemon/org.openvpn.plist
    
  2. 終了
    # launchctl unload /Library/LaunchDaemon/org.openvpn.plist
    
  3. 再起動
    # launchctl stop org.openvpn
    


< 過去の記事 [ 6月の 全てのカテゴリ リスト ] 新しい記事 >

2011 calendar
6月
1234
567891011
12131415161718
19202122232425
2627282930


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.