OpenVpnをインストールするとsystemdファイルが、3つ配置される。
それぞれのファイルの内容ついて記載する。
openvpn@.service
/etc/openvpn/配下のconfファイルをロードして、実行する。
現在は非推奨となっている。
- ファイルパス : /usr/lib/systemd/system/openvpn@.service
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf
- 実行形式
systemctl start openvpn@server.service
openvpn-server@.service
/etc/openvpn/server配下のconfファイルをロードして、実行する。
- ファイルパス : /usr/lib/systemd/system/openvpn-server@.service
WorkingDirectory=/etc/openvpn/server
ExecStart=/usr/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
- 実行形式
systemctl start openvpn-server@server.service
openvpn-client@.service
/etc/openvpn/clientにあるconfファイルをロードして、openvpnを起動する
- ファイルパス : /usr/lib/systemd/system/openvpn-client@.service
WorkingDirectory=/etc/openvpn/client
ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf
- 実行形式
systemctl start openvpn-client@client.service
アットマークについて
各ユニットファイルに@がついてる。
@がついたユニットファイルはsystemctlの実行時に@の後ろに文字列を指定すると、ユニットファイルに定義した%iを@の後ろに設定した文字列で置換できる。
# 下記を実行すると
systemctl start openvpn-server@server.service
# %iがserverに設定される
ExecStart=/usr/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
参考