クライアントが接続したときにOpenVPNにスクリプトを実行させたいのですが、クライアント接続の指示を無視しているようです。
私はRaspbianでOpenVPN 2.4.0を実行しています。私のserver.confに
...
script-security 3
# this is the "up" directive but the issue is the same as with client-connect
up /etc/openvpn/up.sh
...
/etc/openvpn/up.sh は world-executable( ) のルートが所有し、rwxr-xr-x
簡単です。
#!/bin/sh
whoami >> /tmp/connect.txt
exit 0
私のサーバーに正常に接続でき、エラーが指摘されていなくても、私のスクリプトが呼び出されないように/ tmpには何も表示されません/var/log/daemon.log
。
ovpn-server[2050]: /etc/openvpn/up.sh tun0 1500 1621 10.100.0.1 10.100.0.2 init
何が間違っていますか?
答え1
私はついに自分に答えた。
OpenVPNはシステムサービス(ターゲット?)で始まり、その設定ファイルにPrivateTmp=true
。した動作し、スクリプトは実際には実行されますが、実際の/ tmpフォルダに書き込まれません。
ただし、実行されたスクリプトのパスは通常のシェルのパスと異なる可能性があるため、バイナリのフルパス(たとえば/usr/bin/whoami
)も使用する必要があります。$PATH