OpenVPN --up script - "não foi possível executar o programa externo"

6

Depois de alguns dias no Google, não consigo encontrar a resposta certa para a minha pergunta. Depois de ler muitas possibilidades de script, o OpenVPN está ativo.

Eu tenho um cliente rodando Debian 7.8, com o OpenVPN 2.2.1 x86_64-linux-gnu.

A conexão está funcionando muito bem e está tudo bem. Mas - eu preciso montar alguns drives NFS, então a conexão é iniciada ("up" - eu acho).

Mas - então estou tentando iniciar um script, estou com esse erro:

 Tue Jun 23 10:44:55 2015 /usr/share/openvpn/script-to-start.sh tun0 1500 1542 192.168.2.6 192.168.2.5 init
 Tue Jun 23 10:44:55 2015 WARNING: Failed running command (--up/--down): could not execute external program
 Tue Jun 23 10:44:55 2015 Exiting

Eu adicionei as configurações no arquivo de configuração:

script-security 2
up /usr/share/openvpn/script-to-start.sh
down /usr/share/openvpn/script-to-stop.sh

Veja o arquivo completo de configurações aqui .

O script que estou tentando executar (apenas para teste agora) é:

#/bin/bash

grep vpn /var/log/syslog > /home/USERNAME/test.txt

clear
echo "Good morning, world."

( Atualização 2017: - A marca "!" está faltando na linha # / bin / bash. Não copie / cole a linha acima, porque foi o problema)

Eu testei com "#! / bin / sh" também, só para ter certeza. Afinal, eu testei as permissões e a propriedade:

Comovocêpodever,euadicionei"script-security 2" antes dos comandos "up" e "down". O OpenVPN está sendo executado como root e iniciado por um script init.d, mas mesmo que eu esteja tentando executá-lo com o comando completo, recebo o mesmo erro.

Veja o exemplo abaixo (com e sem sudo):

sudo openvpn --remote SERVERDOMAIN --dev tun1 --ifconfig 192.168.2.2 192.168.2.1 --tls-client --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/TITLE.crt --key /etc/openvpn/easy-rsa/keys/TITLE.key --reneg-sec 60 --verb 5 --script-security 2 --up /usr/share/openvpn/script-to-start.sh

Se eu estou usando o pequeno script sozinho, com SU e Sudo, tudo está indo bem sem problemas.

O ponto é que eu preciso executar este comando, montar algumas unidades NFS, mas agora estou bloqueado. Então eu preciso de ajuda aqui - eu tentei em um fórum dinamarquês sem sorte.

sudo mount 192.168.2.1:/media/usb1/sync /home/USERNAME/sync

Os manuels online não são tão úteis - e agora eu preciso da sua ajuda.

    
por Tobias Nordahl Kristensen 24.06.2015 / 19:16

3 respostas

8

Eu encontrei o mesmo problema, felizmente encontrei uma solução.

Aqui estão as coisas que eu verifiquei:

  1. permissão da pasta
  2. permissão do openvpn para acessar o script
  3. o script deve listar o caminho completo de todos os comandos usados (por exemplo, grep deve ser /bin/grep ; você pode encontrar o caminho completo digitando which na frente de seu comando)
  4. use script-security 2 system em vez
por 08.08.2015 / 10:39
7

Só para deixar claro: Eu esqueci o "! " (ponto de exclamação). Isso explica tudo.

#!/bin/bash
    
por 05.05.2016 / 11:38
-1

Verifique o nome de usuário sob o qual o daemon openvp está em execução e chown da sua pasta ou arquivo de script.

    
por 08.08.2015 / 11:03