-
Notifications
You must be signed in to change notification settings - Fork 43
/
kvas-ips-reset
55 lines (50 loc) · 2.49 KB
/
kvas-ips-reset
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
# ------------------------------------------------------------------------------------------
#
# ПРОЕКТ КВАС
#
# ------------------------------------------------------------------------------------------
# Данный файл служит основной библиотекой функций пакета КВАС
# ------------------------------------------------------------------------------------------
# Разработчик: kvas@zeleza.ru
# Дата: 18/01/2024
# Лицензия: Apache License 2.0
# ------------------------------------------------------------------------------------------
# Подключаем библиотеку с функциями обработки ndm
. /opt/apps/kvas/bin/libs/ndm_d
tmp_file=/opt/tmp/sub_connection
if [ "${1}" = "hook" ]; then
# Действия для подключений PPTP|L2TP, которое подключено к провайдеру
if [[ ${id} =~ 'PPTP|L2TP' ]] && is_cli_iface_global "${id}"; then
# В случае отключения PPTP|L2TP соединения через основной интерфейс
# проще говоря, в случае если подключение к интернету осуществляется
# через PPTP|L2TP соединение и оно прервалось - ставим флаг, в виде создания файла
case "${layer}-${level}" in
"ctrl-disabled" )
touch "${tmp_file}"
;;
"ctrl-running" )
[ -f "${tmp_file}" ] && {
# После отключения PPTP|L2TP (которое используется для подключения к провайдеру)
# и при наличии файла tmp_file - переустанавливаем ipset правила для восстановления
cmd_vpn_iptable_reset
logger -t "КВАС" "Соединение ${id} успешно подключено, правила восстановлены!"
rm -f "${tmp_file}"
}
;;
esac
fi
# Действия для всех остальных подключений
if [ "${id}" = "$(inface_cli)" ]; then
case "${layer}-${level}" in
"ctrl-disabled" )
link_reboot &> /dev/null
logger -t "КВАС" "Соединение ${id} прервано. Правила и талицы очищены."
;;
"ctrl-running" )
link_up &> /dev/null
logger -t "КВАС" "Соединение ${id} установлено. Правила и талицы пересозданы."
;;
esac
fi
fi