클라이언트가 연결될 때 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