Yani, eğer OpenVPN'i manuel olarak çalıştırırsam çıktı
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
"IP’de tünel adresi bulundu" nedeniyle up betiğinin çalıştığını görebilirsiniz. Şimdi komutu çalıştırırsam
sudo service openvpn start/stop/restart
Çıktı aynıdır, ancak yukarı komut dosyasının doğru şekilde yürütülemeyeceğini belirten "IP'de bulunan tünel adresi" gitti. OpenVPN yapılandırmamdaki ilgili kısım:
script-security 2
up /etc/openvpn/update_bind.sh
İşte 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
Openvpn servisi betiği çalıştırmayla aynı güçte (veya daha fazla) değil mi? Ayrıca bu FreeNas'ta çalıştı ancak bir Ubuntu 16.04 VM'de çalışmadı.