Jump to content

Скрипт за "убиване" на неактивни pppoe потребители


Recommended Posts

Здравейте колеги!

Имам една драма, която я мъча вече две-три седмици. Имам PPPoE сървър и проблема ми е със спирането на клиентите. Когато искам да спра някой потребител, "билинг-а" го disable-ва (през апи-то), но не го kill-ва от Active Connections. Понеже "билинга" не е писан от мен и едва ли на човека му се занимава да го преправя, според мен решението е да се направи един скрипт, който през 5мин (примерно) да следни да disable-нати потребители и ако са активни, да ги "убива". Някой може ли да помогне с подобен скрипт?

Адрес на коментара
Сподели в други сайтове

  • Администратор

Use since

OpenBSD 3.x

FreeBSD 4.x

Centos 5.x Debian 3.x Ubuntu 7.x

Аз съм фен на OpenWRT.

 

Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена.

_____________________________

___|____|____|____|____|____|__

_|____|____|____|____|____|____

___|____|_ Удряй _|____|____|__

_|____|___ главата ___|____|____

___|____|_ си тук!! |____|____|__

_|____|____|____|____|____|____

___|____|____|____|____|____|__

Адрес на коментара
Сподели в други сайтове

:log info Starting...
:local username
:local tmp1
:local pppuser
:local userinfo

:foreach file in=[/ppp active print as-value where service=pptp ] do={
   :set username ($file->"name")
   :log info "Cheking $username"
   :set tmp1 [/ppp secret print as-value where name=$username disabled=yes]
   :set pppuser [ :pick $tmp1 0 ]
   :if ( ($pppuser->"name") = $username ) do={
      :log info "Kill $username"
      :ppp active remove numbers=[/ppp active find where name=$username]
     }
}

 

 

Оправи само service=pptp, да е pppoe при теб.

  • Харесай 2
  • Благодаря 1
Адрес на коментара
Сподели в други сайтове

Преди 1 час, byte написа:
:log info Starting...
:local username
:local tmp1
:local pppuser
:local userinfo

:foreach file in=[/ppp active print as-value where service=pptp ] do={
   :set username ($file->"name")
   :log info "Cheking $username"
   :set tmp1 [/ppp secret print as-value where name=$username disabled=yes]
   :set pppuser [ :pick $tmp1 0 ]
   :if ( ($pppuser->"name") = $username ) do={
      :log info "Kill $username"
      :ppp active remove numbers=[/ppp active find where name=$username]
     }
}

 

 

Оправи само service=pptp, да е pppoe при теб.

Благодаря! Точно това ми трябваше!

Адрес на коментара
Сподели в други сайтове

Създайте нов акаунт или се впишете, за да коментирате

За да коментирате, трябва да имате регистрация

Създайте акаунт

Присъединете се към нашата общност. Регистрацията става бързо!

Регистрация на нов акаунт

Вход

Имате акаунт? Впишете се оттук.

Вписване
  • Потребители разглеждащи страницата   0 потребители

    • No registered users viewing this page.
×
×
  • Създай нов...

Important Information

By using this site, you agree to our Terms of Use.