systemd での vpnserver 自動起動について(ローカルブリッジ)
Posted: Tue Jan 24, 2017 5:42 pm
systemd を採用している Linux 環境で、VPN Server を自動起動するのに、
下記の Unit を /etc/systemd/system/ へ配置してとりあえず動作することを確認しました。
https://github.com/SoftEtherVPN/SoftEth ... er.service
今まで、旧来の init を使用しており、
# service vpnserver start
のようなコマンドで起動できる状態にしており、その中身は /etc/init.d/vpnserver
をシェルスクリプトで起動スクリプトを書いている状態でした。
start の処理の部分に
--
sleep 5
brctl addif br0 tap_eth0
--
を入れており、これは Linux 環境でローカルブリッジを作成するためにこのように
しており、 stop の処理の部分には
--
brctl delif br0 tap_eth0
--
を入れておりました。
これを、systemd で実装したいのですが、どのように実装すれば良いのでしょうか?
下記は失敗します。
softether-vpnserver.service
--
ExecStartPost=/sbin/brctl addif br0 tap_eth0
--
または
--
ExecStartPost=sleep 5; /sbin/brctl addif br0 tap_eth0
--
または
--
ExecStartPost=sleep 5
ExecStartPost=/sbin/brctl addif br0 tap_eth0
--
vpnserver start でサービスを開始した後数秒して、tap_eth0 が作られるようで、
この絡みがあるので今までは5秒待つようにしていました。
今回の systemd ではどうやってもうまく行かず困っています。
brctl delif br0 tap_eth0 に至っては、
ExecStopPre とかいう属性は[service]セクションでは使えないみたいなので
こっちもどうしていいやらわかりません・・・。
以上、ご教示のほどよろしくお願い致します。
下記の Unit を /etc/systemd/system/ へ配置してとりあえず動作することを確認しました。
https://github.com/SoftEtherVPN/SoftEth ... er.service
今まで、旧来の init を使用しており、
# service vpnserver start
のようなコマンドで起動できる状態にしており、その中身は /etc/init.d/vpnserver
をシェルスクリプトで起動スクリプトを書いている状態でした。
start の処理の部分に
--
sleep 5
brctl addif br0 tap_eth0
--
を入れており、これは Linux 環境でローカルブリッジを作成するためにこのように
しており、 stop の処理の部分には
--
brctl delif br0 tap_eth0
--
を入れておりました。
これを、systemd で実装したいのですが、どのように実装すれば良いのでしょうか?
下記は失敗します。
softether-vpnserver.service
--
ExecStartPost=/sbin/brctl addif br0 tap_eth0
--
または
--
ExecStartPost=sleep 5; /sbin/brctl addif br0 tap_eth0
--
または
--
ExecStartPost=sleep 5
ExecStartPost=/sbin/brctl addif br0 tap_eth0
--
vpnserver start でサービスを開始した後数秒して、tap_eth0 が作られるようで、
この絡みがあるので今までは5秒待つようにしていました。
今回の systemd ではどうやってもうまく行かず困っています。
brctl delif br0 tap_eth0 に至っては、
ExecStopPre とかいう属性は[service]セクションでは使えないみたいなので
こっちもどうしていいやらわかりません・・・。
以上、ご教示のほどよろしくお願い致します。