Вопрос: Открытое скриптовое поведение OpenVPN


Итак, если я запускаю вручную OpenVPN, вывод

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

Вы можете видеть, что скрипт up работает из-за «Найденного туннельного адреса в IP». Если я сейчас запустил команду

sudo service openvpn start/stop/restart

Результат идентичен, но «Найденный туннельный адрес для IP» исчез, указав, что сценарий up может быть выполнен неправильно. Вот интересующая деталь в моей конфигурации OpenVPN:

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

Вот сценарий:

#!/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

Не обладает ли служба openvpn той же мощью (или более), что и я, для выполнения скриптов? Также это работало в FreeNas, но не в Ubuntu 16.04 VM.


0
2018-02-09 00:15


Источник




Ответы: