Авторизация

Topic-icon Перезапуск интерфейса OpenVPN под OpenWRT

Больше
1 год 6 мес. назад #4490 от UAN1706
UAN1706 создал эту тему: Перезапуск интерфейса OpenVPN под OpenWRT
На странице 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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 6 мес. назад #4491 от admin
admin ответил в теме Перезапуск интерфейса OpenVPN под OpenWRT
Думаю, что в вашем случае нужно перезапускать соединение OpenVPN и корректнее будет это делать не путем работы с интерфейсом, а перезапускать соединение (процесс).
Вы можете вместо ifconfig pptp-pptp_vpnki down, например, сделать sudo killall openvpn. Эта команда остановит все процессы openvpn и, соответственно, оборвет соединение.
А вот запустить соединение вновь можно командой sudo openvpn /etc/openvpn/vpnki.conf
Однако путь к конфигурационному файлу vpnki.conf в /etc/openvpn в вашем случае может быть другой.

если все заработало - нажмите на баннеры!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 нед. назад - 1 год 2 нед. назад #5396 от UAN1706
UAN1706 ответил в теме Перезапуск интерфейса OpenVPN под OpenWRT
Действительно, в командной строке консоли 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

В чём может быть причина?
Последнее редактирование: 1 год 2 нед. назад от UAN1706.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 нед. назад #5397 от admin
admin ответил в теме Перезапуск интерфейса OpenVPN под OpenWRT
Не понимаю, ведь в скрипте подряд идут две команды:
openvpn /etc/openvpn/vpnki.conf
killall openvpn
Первая поднимает, а вторая сразу обрывает соединение? Какой смысл в этих командах?
Или я что-то не так понимаю?

если все заработало - нажмите на баннеры!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 нед. назад - 1 год 2 нед. назад #5398 от UAN1706
UAN1706 ответил в теме Перезапуск интерфейса OpenVPN под OpenWRT
Извиняюсь, это скопипастил неудачно :( В скрипте - сначала обрываем, потом поднимаем:

killall openvpn
openvpn /etc/openvpn/vpnki.conf

В сроке запуска в crone, кажется, перепробовал всё:
*/5 * * * * root /root/rsvpn.sh
*/5 * * * * bash /root/rsvpn.sh
*/5 * * * * /root/rsvpn.sh
Последнее редактирование: 1 год 2 нед. назад от UAN1706.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
1 год 2 нед. назад #5399 от admin
admin ответил в теме Перезапуск интерфейса OpenVPN под OpenWRT
Понятно, тут нужно траблшутить.
добавьте эти строки.
Вывод должен писать в файл /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

если все заработало - нажмите на баннеры!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.