|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (42)
просмотр истории страницы... |
ceil_out=${ceil_out:-$ceil_in} |
usluga_add(){ # Доступ к социально значимым ресурсам для физиков if [ "$usluga_system_type_id" == "15" ]; then send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list add list=crb_freeinternet_list address=$ip comment=${ip}_crb_freeinternet timeout=24h fi } usluga_del(){ # Отмена доступа к социально значимым ресурсам для физиков if [ "$usluga_system_type_id" == "15" ]; then while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_freeinternet; do :; done fi } |
user_event_before() { |
if [[ "$ip" = "0.0.0.0" ]]; then log WARNING: abonent_id:$abonent_id user_id:$user_id has $ip ip return 1 fi |
if [[ "$ip" = "0.0.0.0" ]]; then log WARNING: abonent_id:$abonent_id user_id:$user_id has $ip ip return 1 fi |
} user_add(){ |
if [ "$auth_type" == "1" ]; then while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_auth; do :; done send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list add list=crb_auth_list address=$ip comment=${ip}_crb_auth fi |
if [ "$auth_type" == "1" ]; then while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_auth; do :; done send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list add list=crb_auth_list address=$ip comment=${ip}_crb_auth fi |
} user_accept(){ |
while while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_blocked; do :; done |
} user_drop(){ |
send_mikrotik_cmd send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list add list=crb_blocked_list address=$ip comment=${ip}_crb_blocked |
} user_redirect(){ |
send_mikrotik_cmd send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list add list=crb_negbal_list address=$ip comment=${ip}_crb_negbal |
} user_redirect_cancel(){ |
while while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_negbal; do :; done |
} |
|
user_rate_set(){ |
# # Сначала удалим из старого сервиса, потом добавим в новый |
while send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple remove numbers=crb_${ip}; do :; done if [ "${burst_in}${burst_out}${burst_threshold}${burst_time}" == "" ]; then send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip} target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s else send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip} target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=${burst_in}K/${burst_out}K burst-threshold=${burst_threshold}K/${burst_threshold}K burst-time=${burst_time}s/${burst_time}s fi |
while send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple remove numbers=crb_${ip}/32; do :; done if [[ -z ${burst_in} || -z ${burst_out} || -z ${burst_threshold} || -z ${burst_time} ]]; then send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip}/32 target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s else send_mikrotik_cmd "$nas_ip" "${telnet_login}" "${telnet_password}" /queue simple add name=crb_${ip}/32 target=${ip}/32 parent=none priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=${ceil_out}K/${ceil_in}K burst-limit=${burst_out}K/${burst_in}K burst-threshold=${burst_threshold}/${burst_threshold} burst-time=${burst_time}s/${burst_time}s fi |
} |
... |
if [ "$auth_type" == "0" -o "$auth_type" == "6" ]; then if [ "${acct_session_id}" != "" ]; then |
sshpass -p "${telnet_password}" ssh "${telnet_login}"@"$nas_ip" /ppp active remove [find session-id=0x${acct_session_id}] |
else |
echo "User-Name=\"${login}\"" | radclient -x ${nas_ip}:${coa_port} disconnect "${radius_secret}" |
fi |
fi |
} |
fi } |
|
|
user_del(){ if [ "$auth_type" == "0" -o "$auth_type" == "6" ]; then |
sshpass -p "${telnet_password}" ssh "${telnet_login}"@"$nas_ip" /ip firewall address-list remove numbers=[find address =${ip}] |
while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=[find address =${ip}]; do :; done echo "User-Name=\"${login}\"" | radclient -x ${nas_ip}:${coa_port} disconnect "${coa_psw}" |
echo "User-Name=\"${login}\"" | radclient -x ${nas_ip}:${coa_port} disconnect "${radius_secret}" |
else while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_auth; do :; done |
... |
users_from_nas(){ |
set +x |
set +x |
send_mikrotik_cmd send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list print .proplist=address ?list=crb_blocked_list > $SYNCDIR/blocked_list.nas || rm -rf $SYNCDIR/blocked_list.nas |
send_mikrotik_cmd send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list print .proplist=address ?list=crb_negbal_list > $SYNCDIR/negbal_list.nas || rm -rf $SYNCDIR/negbal_list.nas |
send_mikrotik_cmd send_mikrotik_cmd -s "$nas_ip" "${telnet_login}" "${telnet_password}" /ip firewall address-list print .proplist=address ?list=crb_auth_list > $SYNCDIR/auth_list.nas || rm -rf $SYNCDIR/auth_list.nas |
set -x |
set -x |
} user_get_mac() { |
... |
user_info(){ |
echo '<pre>' > /tmp/${user_id}_user_info.new |
echo '<pre>' > /tmp/${user_id}_user_info.new |
$EVENT_HANDLERS_DIR/${NAS_SCRIPT_NAME%.sh}.d/user_info $EVENT_HANDLERS_DIR/${NAS_SCRIPT_NAME%.sh}.d/user_info "$nas_ip" "$telnet_login" "$telnet_password" "$ip" >> /tmp/${user_id}_user_info.new || true |
echo '</pre>' >> /tmp/${user_id}_user_info.new |
echo '</pre>' >> /tmp/${user_id}_user_info.new |
|
mv -f /tmp/${user_id}_user_info.new /tmp/${user_id}_user_info chown apache:apache /tmp/${user_id}_user_info |
mv -f /tmp/${user_id}_user_info.new /tmp/${user_id}_user_info chown apache:apache /tmp/${user_id}_user_info |
[ [ "${is_daemon:--}" != 1 ] && cat /tmp/${user_id}_user_info |
} user_event_after() { |
:; |
:; |
} |
... |
# пока временно if [ "${is_daemon:--}" != 1 ]; then |
main "$@" |
main "$@" |
fi |
|
{code} |