peektoseen Опубликовано 3 декабря, 2011 (изменено) · Жалоба Привет всем. Какие-то плохие люди вырезают кабель. Причем режут не так, чтобы унести, а так, чтобы хуже сделать, на каждом этаже. За ночь по два-три подъезда режут. Уже четвертый раз за неделю. В сети около 120 dlink'ов, все управляемые DES-3550, DES-3552. Может у кого-нибудь есть скриптик (желательно на perl, но подойдет любой), работающий с cable-diag, поделитесь пожалуйста. Скрипт не обязательно мониторящий длинну кабеля (такой уж был бы вообще что надо), хотя-бы который как-нибудь работал с cable-diag. Изменено 3 декабря, 2011 пользователем peektoseen Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 3 декабря, 2011 · Жалоба Эр-Телеком в город пришёл? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
peektoseen Опубликовано 3 декабря, 2011 (изменено) · Жалоба Да нет :) этих я думаю не занесет к нам. Новых никого не появлялось. У нас всего два провайдера. Мы и МРК. Скорее всего какой-нибудь недовольный (или команда недовольных). Психов хватает. Изменено 3 декабря, 2011 пользователем peektoseen Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Diman Опубликовано 3 декабря, 2011 · Жалоба как то так: #!/bin/sh sw=172.16.0.222 port=2 # проверим длину линка rx=`cat rx-$sw-$port` tx=`cat tx-$sw-$port` snmpset -v2c -c private $sw .1.3.6.1.4.1.171.12.58.1.1.1.12.$port i 1 set x `snmpget -v2c -c private $sw .1.3.6.1.4.1.171.12.58.1.1.1.8.$port` rx_new=$5 rx_cmp=`expr $5 + 5` set x `snmpget -v2c -c private $sw .1.3.6.1.4.1.171.12.58.1.1.1.9.$port` tx_new=$5 tx_cmp=`expr $5 + 5` if [ $rx_cmp -lt $rx -o $tx_cmp -lt $tx ]; then echo \(spizdili kabel\) | mail -s "CABLE link: $rx_new at port $port $sw" 7927xxxxxxx@sms.mgsm.ru fi Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 3 декабря, 2011 · Жалоба sub test_cable { my %report; $report{uid} = shift; my $port = shift; my ($session, $error) = Net::SNMP->session( -hostname => shift || 'localhost', -community => shift || 'private', ); my $oid = '1.3.6.1.4.1.171.12.58.1.1.1.'; my @pair_status = ( 'ok', 'open', 'short', 'open-short', 'crosstalk', 'unknown', 'count', 'no-cable', 'other' ); my $max_tries = 10; $report{'text'} = ''; if (!defined $session) { printf "ERROR: %s.\n", $error; return undef; } my $result = $session->set_request(-varbindlist => [ $oid.'12.'.$port , INTEGER, 1 ],); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); $session->close(); return undef; } # Wait while test executes my ($tries, $test_passed) = (0, 0); while ($tries < $max_tries && $test_passed != 1) { $result = $session->get_request(-varbindlist => [ $oid.'12.'.$port ],); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); $session->close(); return undef; } if ($result->{$oid.'12.'.$port} == 3) { $test_passed = 1; next; } $tries++; sleep(1); } $result = $session->get_request(-varbindlist => [ $oid.'3.'.$port, # Link state (1 = up) $oid.'4.'.$port, # Pair 1 (0 = ok) $oid.'5.'.$port, # Pair 2 (0 = ok) $oid.'6.'.$port, # Pair 3 (8 = no cable; ok for 100 mbit) $oid.'7.'.$port, # Pair 4 (8 = no cable; ok for 100 mbit) $oid.'8.'.$port, # Pair 1 length $oid.'9.'.$port, # Pair 2 length $oid.'10.'.$port, # Pair 3 length (unused) $oid.'11.'.$port, # Pair 4 length (unused) ],); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); $session->close(); return undef; } if ($result->{$oid.'3.'.$port} != 1) { $report{text} .= 'No link. '; $report{nextcheck} = int(time() + 3600 + rand(300)); } if ($result->{$oid.'8.'.$port} == 0 && $result->{$oid.'9.'.$port} == 0 && $result->{$oid.'4.'.$port} == 7 && $result->{$oid.'5.'.$port} == 7) { $report{text} .= 'No cable. '; } else { for (my $pair = 1; $pair <= 2; $pair++) { if ($result->{$oid.($pair+3).'.'.$port} > 0) { $report{text} .= 'Pair '.$pair.' status "'. $pair_status[$result->{$oid.($pair+3).'.'.$port}].'" at '. $result->{$oid.'8.'.$port}.' m. '; } } if ($result->{$oid.'8.'.$port} != $result->{$oid.'9.'.$port}) { $report{text} .= 'Pairs length mismatch! 1 is '. $result->{$oid.'8.'.$port}. ' m, 2 is '. $result->{$oid.'9.'.$port}. ' m. '; } else { # $report{text} .= 'Cable length is '.$result->{$oid.'8.'.$port}.' m. '; $report{length} = $result->{$oid.'8.'.$port}; } } $session->close(); $report{text} = 'OK' if ($report{text} eq ''); # print (Dumper(\%report)); return %report; } Вот Вам ф-ция. Дальше прикрутите сами. Параметры: 1) Идентификатор пользователя (потом возвращается назад). 2) Номер порта. 3) IP свитча. 4) SNMP community. У меня оно работает на 3028. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dyadyajack Опубликовано 3 декабря, 2011 · Жалоба По моему человек не совсем понимает что ему нужно. Может проще отслеживать падение портов на коммутаторе, а потом уже тестить кабель кабель? В таком случае надо вначале смотреть падения портов, а только потом тестировать кабель. Падают порты, по определенному алгоритму, подается сигнал и выводятся айпишка упавшего коммутатора, адрес установки ну и порты что упали. После этого тестируете кабель, если всё гуд -- отбой. Если обрывы примерно на одинаковом метре -- то действуете. Сигнал лучше звуковой, для теста портов -- вебку. Пару протестированных портов будет достаточно, что бы исключить пропадание питалова на фазе с абонентами. Ну а дальше -- либо ваши ребята, которые дежурят выезжают на проблемный адрес, либо же бройлера, если оборудование под охраной. А так что проверять будете? И с какой периодичностью? Раз в минуту, раз в час? Тестить все порты, или только упавшие? Обрезать -- достаточно нескольких минут. Но вот что скажут ваши абоненты, у которых будет пропадать линк при тесте? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
eill Опубликовано 3 декабря, 2011 · Жалоба dyadyajack может как вариант делать трап на пропадание линка? А потом смотреть cable_diag'ом? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 декабря, 2011 · Жалоба У нас коммутаторы отправляли syslog на сервер, на сервере логи отслеживались в реальном времени: 1) одновременное гашение нескольких клиентских портов, 2) гашение порта, в который подключена сигнальная петля (кабель протянут через все этажи и замыкается на себя). Если сработало - то шлётся пачка SMS и емейлов. Исходники здесь: http://sources.homelink.ru/linkdown/ Как минимум однажды благодаря им любители художественной резки по кабелю были схвачены с поличным, с охапкой свежесрезанного кабеля в руках: http://47news.ru/articles/42097/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dyadyajack Опубликовано 4 декабря, 2011 · Жалоба Ну как по-мне, то без логсервера нельзя. Ilya Evseev тут в 1 пункте дело говорит. Сигнальная петля -- тоже отлично. Но лучше использовать как дополнение, на адресе, который железно попадает в зону риска. Так экономиться время на реакцию, не надо проверять действительно ли порезали. А так - лучше визуальная реализация. Особенно если сеть уже не маленькая. Везде то петли ставить - время и отвлечение ресурсов. Как-по мне, то если добавить тест упавших портов, то можно потерять время. А при порезке каждая секунда на счету. Но есть фактор отключения света. А так дежурный, при падении линков видит перед собой айпишку свича, адрес установки, время падение и количество упавших портов. Ну и всплывающее окно с телефонами куда звонить, плюс звуковая сигнализация, что бы не проспал. При наступлении времени Ч, попросту кликает в вебке на айпишку свича, раскрывается окно, в котором указаны админ статус, реальный статусы портов и данные с логсервера. Параллельно набирая дежурную бригаду, или вневедомственную охрану, ну и в таком духе. Нажать два раза на строчку с портом труда не составит. Но вот если данные покажут что всё в норме, то можно отбой давать дежурящей бригаде. ЗЫ:. По такой системе мониторинга поймали не менее 4 любителей поживиться медью. Ну и конечно нужно понимать, что от чудика-аборигена, который возле квартиры обрежет кабло, дабы насолить ничто не поможет. Разве что железные трубки или короба. А так, даже одного аборигена, который резал кабель в своем доме поймали :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
peektoseen Опубликовано 6 декабря, 2011 · Жалоба Всем спасибо, очень помогли. Дальше уже справлюсь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Pro-R Опубликовано 16 января, 2012 · Жалоба У нас на сети тоже есть такая проблема. Режут обычно многопарники, с целью наживы, бывает просто балуются. На многопарнике от свитча до кросса в подъезде - замыкается один порт в петлю, он наблюдается в системе мониторинга (в нашем случае WhatsUp Gold или Zabbix), параллельно если упал порт из списка скрипт звонит в саппорт и трезвонит пока его не отключат. Саппорт круглосуточно может увидеть что где отвалилось, телефонный звонок отдельного телефона пробуждает их в ночи 100%, могут просмотреть статистику портов на этой железке, если метраж одинаковый - вызываем ментов. Работает ;) Сотрудничаем с полицией, они выезжают нарядом на адрес, стараются поймать и получить премию от своего начальника, ну или хотя бы спугнуть металюг. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gohn1985 Опубликовано 16 января, 2012 · Жалоба неповерите дядьки, тоже замыкали на портах, переловили столько, что всю тюрьму можно было заселить, им давали условку и отпускали, закон хромает у нас....в последний раз поймали 2-ух молодых пацанов, 20 и 22 года, больше не режут)) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kriks Опубликовано 16 января, 2012 · Жалоба У нас как то был бум обрезания кабелей. Заночь вырезали по ~4 дома, от А до Я. Жесть, техники не успевали всех перепротягивать, только сделаешь, оп, ночью все срезают снова, кабеля уносили с собой. Металюги проклятые. Длилось месяца 2. После перестали вырезать. Наверно уже сидят. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
E^X Опубликовано 15 февраля, 2012 · Жалоба У нас на свитчах DES-3200 показывают на 40 метрах, метров 70, это нормально просто как бы оно так и будет, потому что это всё таки свитч и кабель всякий бывает, но вроде хороший тянем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 15 февраля, 2012 · Жалоба У нас на свитчах DES-3200 показывают на 40 метрах, метров 70, это нормально просто как бы оно так и будет, потому что это всё таки свитч и кабель всякий бывает, но вроде хороший тянем. Второй конец изолирован или подключен? Если подключен, то результат неадекватен, таков уж метод TDR. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
E^X Опубликовано 15 февраля, 2012 · Жалоба А понятно, да как раз вставлен в сетевуху и поднят интерфейс ну или не поднят. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...