Jump to content

Проблем с queue скрипт и x86 mt


terminated

Recommended Posts

Здравейте , ето и проблема - скрипта си работи на рутерборд , но на пц стига до някъде и дава таймаут !?!?, когато няма никакъв трафик на машината успява да ги добави всичките. Сложих лан карта само за телнет скрипта , която е вързана директно за машината на която се изпълнява , но проблема си остава.

Ето и скрипта:

#!/usr/bin/perl

use Data::Dumper;

use Net::Telnet ();

$telnet1 = new Net::Telnet (

Host => "1.1.1.2",

Timeout => 20,

Dump_log => "./log",

Prompt => '/\[.+\] > $/');

$telnet1->login("user", "passwor");

my $sth; my @row; my @subnet; my $gateway; my $login; my $ip; my $speed; my $block;

open(DATA, "</var/digital/sdp_INT/SDP_S15.TXT");

while (<DATA>)

{

        my($line) = $_;

        chomp($line);

        if ($line =~ /([a-zA-Z0-9\_-]+)\|(\d)\|(\d+\.\d+\.\d+\.\d+)\|(\d+)/) {

                $login = $1;

                $block = $2;

                $ip = $3;

                $speed = $4*1000;

              if ($block == '0')

              {

              $telnet1->cmd("/queue simple add name=$login target-address=$ip max-limit=$speed/$speed interface=all place-before=all");

              }

              if ($block == '1')

              {

              $telnet1->cmd("/queue simple remove $login");

              }

        }

}

$telnet1->close;

Link to comment
Share on other sites

  • Administrator

С коя версия на МТ?

сериозно ли ползваш 1.1.1.2 за свръзка

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа

RB951Ui-2HnD / RBD25GR-5HPACQD2HPND&R11E-LTE6 /  RB952Ui-5ac2nD-TC


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Link to comment
Share on other sites

Пробвах първо с 4.13 , а сега съм с последната бета и при двете резултата е един. С лиценз левел 4 съм ,ако има значение

Link to comment
Share on other sites

  • Administrator

какво показва лога на МТ ?

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа

RB951Ui-2HnD / RBD25GR-5HPACQD2HPND&R11E-LTE6 /  RB952Ui-5ac2nD-TC


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Link to comment
Share on other sites

Ами сега изтрих всичките queue (180) след пускането на 160-тото даде timeout и след няколко пускания на скрипта продалжават да са 160.. В лога от последвалите пускания на скрипта има само user admin log in / log out

Link to comment
Share on other sites

Има ли начин да си взема queue-тата през radius ? На микротика ползвам само nat и queue simple

Link to comment
Share on other sites

  • Administrator

Има вариант през API но там не вдявам много

освен ако не ползваш вградения usermanager

я разясни целевото приложение на скрипта и периода на изпълнението

защото микротика може да прави същите неща и без външна намеса 

http://mikrotik-bg.net/index.php?topic=2168.0

http://mikrotik-bg.net/index.php?topic=2677.0

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа

RB951Ui-2HnD / RBD25GR-5HPACQD2HPND&R11E-LTE6 /  RB952Ui-5ac2nD-TC


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Link to comment
Share on other sites

И аз се чудих на API-то , но не вдянах хич  :-\ . Иначе не ползвам вградения мениджър ,а user-ите ги взимам от един текстов файл и общо взето неплатилите ги спирам , като им изтрия queue-to и всички остават в един общ малъй шейпър...

Link to comment
Share on other sites

  • Administrator

http://forum.mikrotik.com/viewtopic.php?f=9&t=22744

чета тук и не зацепвам дано имаш по голям късмет с това API 

аз бих предпочел директно блокиране по мак адрес  :o

а и все още обичам да цъкам с мишката, някак по визуално ми е 

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа

RB951Ui-2HnD / RBD25GR-5HPACQD2HPND&R11E-LTE6 /  RB952Ui-5ac2nD-TC


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Link to comment
Share on other sites

Това апи не е за мен  :o Идея за скрипт подобен на моя за блокиране по мак ? Горе-долу ми е ясно как може да стане , но как да блокирам макове , които не са ми в базата ?

Link to comment
Share on other sites

Пак закъсах .. предния проблем се оказа от "place-before=all". Реших да си блокирам юзерите по мак адрес и си преправих скрипта по този начин:

#!/usr/bin/perl

use Net::Telnet ();

$telnet1 = new Net::Telnet (

Host => "1.1.1.2",

Timeout => 20,

Prompt => '/\[.+\] > $/');

$telnet1->login("user", "pass");

my $ip; my $block; my $mac;

open(DATA, "</var/digital/sdp_INT/SDP_S15.TXT");

while (<DATA>)

{

        my($line) = $_;

        chomp($line);

        if ($line =~ /([a-zA-Z0-9\_-]+)\|(\d)\|(\d+\.\d+\.\d+\.\d+)\|(\d+)\|([a-zA-Z0-9\_:-]+)/) {

                $block = $2;

                $ip = $3;

                $mac = $5;

              if ($block == '0')

              {

              $telnet1->cmd("/ip arp add address=$ip mac-address=$mac interface=339");

              }

              if ($block == '1')

              {

              $telnet1->cmd("/ip arp add address=$ip mac-address=01:01:01:01:01:01 interface=339");

              }

        }

}

$telnet1->close;

Скрипта си работи добре , НО по този начин , ако се смени мак адреса на съществуващ юзер микротика не го replace,а си остава старият.

EDIT: май намериш решението с - /ip arp set [find address=()] mac-address=

Link to comment
Share on other sites

И отново за пореден път същият проблем  :) /ip arp add address=$ip mac-address=$mac interface=339 .. никакъв проблем 960 арпа от раз , /ip arp set [find address=()] mac-address= 10-тина правила и любимия timeout..

Link to comment
Share on other sites

  • Administrator

Защо не го пренапишеш тоя скрипт да си се пуска директно в машината не отвън

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа

RB951Ui-2HnD / RBD25GR-5HPACQD2HPND&R11E-LTE6 /  RB952Ui-5ac2nD-TC


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

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
  • 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.