OpenVPN up script comportamento estranho

0

Então, se eu executar manualmente o OpenVPN, a saída é

TUN/TAP device tun0 opened   TUN/TAP TX queue length set to 100  
do_ifconfig, tt-did_ifconfig_ipv6_setup=0  
/sbin/ip link set dev tun0 up mtu 1500  
/sbin/ip addr add dev tun0 10.3.37.189/24 broadcast 10.3.37.255  
/etc/openvpn/update_bind.sh tun0 1500 1569 10.3.37.189 255.255.255.0 init  
Stopping SOME_SERVICE.  
Found tunnel address to IP
Starting SOME_SERVICE. 
/sbin/ip route add 31.7.56.130/32 via 192.168.1.1  
/sbin/ip route add 0.0.0.0/0 via 10.3.37.254  
Initialization Sequence Completed/sbin/ip route del 0.0.0.0/0

Você pode ver o script up funcionando devido ao "Endereço do encapsulamento encontrado para IP". Se eu agora executar o comando

sudo service openvpn start/stop/restart

A saída é idêntica, mas o "Endereço do túnel encontrado para IP" desapareceu, indicando que o script up pode não ser executado corretamente. Aqui está a parte em questão na minha configuração do OpenVPN:

script-security 2
up /etc/openvpn/update_bind.sh

Aqui está o script:

#!/bin/bash
/etc/init.d/transmission-daemon stop
VPNADDR='ifconfig | grep -A 5 "tun" | awk '/t addr:/{gsub(/.*:/,"",$2);print$2}''
if [ -z "$VPNADDR" ]; then
        VPNADDR=127.0.0.1
fi
echo "Found tunnel address to $VPNADDR"
cat PATH_TO/settings.json | sed "s/.*bind-address-ipv4.*/    \"bind-address-ipv4\"\: \"$VPNADDR\",/g" > PATH_TO/settings.json.tmp
chmod 600 PATH_TO/settings.json.tmp
chown kriegalex:kriegalex PATH_TO/settings.json.tmp
mv PATH_TO/settings.json.tmp PATH_TO/settings.json
/etc/init.d/transmission-daemon start

O serviço openvpn não tem o mesmo poder (ou mais) que eu para executar scripts? Isso também funcionou no FreeNas, mas não em uma VM do Ubuntu 16.04.

    
por Kriegalex 09.02.2018 / 01:15

0 respostas