Jump to content

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


Recommended Posts

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

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

Link to comment
Share on other sites

Use since

OpenBSD 3.x

FreeBSD 4.x

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

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

 

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

_____________________________

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

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

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

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

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

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

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

Link to comment
Share on other sites

Здравей,

Не търся софтуер, а скрипт.

Link to comment
Share on other sites

: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 при теб.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Преди 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 при теб.

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

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