私のOpenVPN runitサービスは繰り返し生成されます。

私のOpenVPN runitサービスは繰り返し生成されます。

私はOpenVPNで動作するようにVoid Linuxシステムを取得しようとしています。これは独自の runit サービスを作成する最初の試みです。 Void LinuxのOpenVPNパッケージは初期化ファイルや設定ファイルを提供しません。/etc/openvpn

ユーザーを作成し、openvpn/etc/openvpn/clientのプロファイルを作成しました。

client
dev tun
proto udp

verb 5

#Server IP and Port
remote [redacted] 1194

user openvpn
group openvpn

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
tls-auth /etc/openvpn/client/ta.key 1
remote-cert-tls server

その後、ディレクトリを作成してOpenVPN用のrunitサービスを作成し、次の/etc/sv/openvpn内容を含む実行可能ファイルを作成しました。/etc/sv/openvpn/run

#!/bin/sh

[ -r conf ] && . ./conf
exec /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon $OPTS

サービスファイルを実行可能にした後、次のコマンドを使用してOpenVPNプロセスを開始しました。

# sv start openvpn
ok: run: openvpn: (pid 858) 0s

私はうまくいったので、私はtun0インターフェースが実行されていることを確認しました:

4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none
    inet 10.8.0.102 peer 10.8.0.101/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::475f:cd8d:32e1:2af3/64 scope link stable-privacy
       valid_lft forever preferred_lft forever

しかし、数秒後に別のトンネルインターフェイスが作成されます。

5: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet 10.8.0.102 peer 10.8.0.101/32 scope global tun1
       valid_lft forever preferred_lft forever
    inet6 fe80::fa30:8bfb:2168:6d7b/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
6: tun2: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet 10.8.0.102 peer 10.8.0.101/32 scope global tun2
       valid_lft forever preferred_lft forever
    inet6 fe80::8366:3479:ee34:5f47/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

何らかの理由で、私のrunitサービスはOpenVPNを生成し続けます。プロセスは次のとおりです。

openvpn    865  0.1  0.5   9636  5864 ?        Ss   19:22   0:00 /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon
root       869  0.2  0.5   9636  5784 ?        Ss   19:22   0:00 /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon
root       871  0.0  0.5   9636  5784 ?        Ss   19:22   0:00 /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon
root       877  0.3  0.5   9636  5892 ?        Ss   19:22   0:00 /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon
openvpn    879  0.3  0.5   9636  5912 ?        Ss   19:22   0:00 /usr/bin/openvpn --config /etc/openvpn/client/client.conf --daemon

答え1

問題は、自分で--daemon管理するデーモンがrunitバックグラウンドに入ってはいけないということです。それがどのように行われたのかsshdexec /usr/bin/sshd -D $OPTSそして-Dそれが何を意味するのかを見てくださいsshd will not detach and does not become daemon

関連情報