На странице vpnki.ru/settings/router/settings-openwrt-vpn в абзаце ДОПОЛНЕНИЯ ОТ ПОЛЬЗОВАТЕЛЕЙ приведён метод перезапуска интерфейса при зависании. У меня эти отвалы почему то участились. Хочу сделать так же, но у меня OpenVPN. Не соображу как переделать строки: ifconfig pptp-pptp_vpnki down и
ifconfig pptp-pptp_vpnki up
У меня: интерфейс VPN с физ. интерфейсом tun0
vpnki_XXX - имя самого OpenVPN тоннеля
TP-Link 1043 v.2 c GoldenOrb 2019-03-10 Firmware
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Думаю, что в вашем случае нужно перезапускать соединение OpenVPN и корректнее будет это делать не путем работы с интерфейсом, а перезапускать соединение (процесс).
Вы можете вместо ifconfig pptp-pptp_vpnki down, например, сделать sudo killall openvpn. Эта команда остановит все процессы openvpn и, соответственно, оборвет соединение.
А вот запустить соединение вновь можно командой sudo openvpn /etc/openvpn/vpnki.conf
Однако путь к конфигурационному файлу vpnki.conf в /etc/openvpn в вашем случае может быть другой.
Действительно, в командной строке консоли WinSCP команда
openvpn /etc/openvpn/vpnki.conf - запускает, а
killall openvpn - останавливает VPN
Из под консоли всё работает! Работает без sudo.
Но, сrone запускает rsvpn.sh (cron.info crond[16417]: USER root pid 16447 cmd root /root/rsvpn.sh), а эффекта нет, соединение не устанавливается. Файл rsvpn.sh - со свойствами 0755. Вот что в нём:
#!/bin/bash
PRS1="172.16.0.1"
if (! ping -q -c 3 ${PRS1} > /dev/null 2>&1)
then
openvpn /etc/openvpn/vpnki.conf
killall openvpn
fi
В чём может быть причина?
Последнее редактирование: 4 года 10 мес. назад пользователем UAN1706.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Не понимаю, ведь в скрипте подряд идут две команды:
openvpn /etc/openvpn/vpnki.conf
killall openvpn
Первая поднимает, а вторая сразу обрывает соединение? Какой смысл в этих командах?
Или я что-то не так понимаю?
Понятно, тут нужно траблшутить.
добавьте эти строки.
Вывод должен писать в файл /var/log/test.log, надеюсь, что такая директория там у вас существует и файл создастся
#!/bin/bash
echo "+++Start script" >> /var/log/test.log
date >> /var/log/test.log # а стартует ли скрипт?
whoami >> /var/log/test.log # от какого пользователя стартует скрипт?
PRS1="172.16.0.1"
if (! ping -q -c 3 ${PRS1} > /dev/null 2>&1)
echo $? >> /var/log/test.log # какой результат пинга?
then
ps -ef | grep openvpn >> /var/log/test.log # a работает ли openvpn сейчас?
killall openvpn
echo $? >> /var/log/test.log # прибили ли openvpn?
openvpn /etc/openvpn/vpnki.conf
echo $? >> /var/log/test.log # что же с новым соединением?
fi
echo "+++'Stop script" >> /var/log/test.log