Я следовал инструкциям по установке из интернета, однако у меня проблемы с тем, чтобы Rancid распознал имя маршрутизатора "mikrotik", которое я создал. Буду очень благодарен за любую помощь. Ниже приведена ошибка, которую я получаю:
-bash-3.1$ more mikrotik.20110322.213618 starting: Tue Mar 22 21:36:18 CDT 2011 Trying to get all of the configs. exec failed router manufacturer mikrotik: No such file or directory Getting missed routers: round 1. exec failed router manufacturer mikrotik: No such file or directory Getting missed routers: round 2. exec failed router manufacturer mikrotik: No such file or directory Getting missed routers: round 3. exec failed router manufacturer mikrotik: No such file or directory Getting missed routers: round 4. exec failed router manufacturer mikrotik: No such file or directory cvs diff: Diffing . cvs diff: Diffing configs cvs commit: Examining . cvs commit: Examining configs ending: Tue Mar 22 21:36:18 CDT 2011 \ -bash-3.1$ cat var/mikrotik/router.db 172.16.0.254:mikrotik:up %vendortable = ( ‘agm’ => ‘agmrancid’, ‘alteon’ => ‘arancid’, ‘arista’ => ‘arrancid’, ‘avocent’ => ‘avorancid’, ‘baynet’ => ‘brancid’, ‘cat5’ => ‘cat5rancid’, ‘cisco’ => ‘rancid’, ‘cisco-nx’ => ‘nxrancid’, ‘cisco-xr’ => ‘xrrancid’, ‘css’ => ‘cssrancid’, ‘enterasys’ => ‘rivrancid’, ‘erx’ => ‘jerancid’, ‘extreme’ => ‘xrancid’, ‘ezt3’ => ‘erancid’, ‘f5’ => ‘f5rancid’, ‘force10’ => ‘f10rancid’, ‘fortigate’ => ‘fnrancid’, ‘foundry’ => ‘francid’, ‘hitachi’ => ‘htrancid’, ‘hp’ => ‘hrancid’, ‘juniper’ => ‘jrancid’, ‘mikrotik’ => ‘mtrancid’, ‘mrtd’ => ‘mrancid’, ‘mrv’ => ‘mrvrancid’, ‘netopia’ => ‘trancid’, ‘netscaler’ => ‘nsrancid’, ‘netscreen’ => ‘nrancid’, ‘procket’ => ‘prancid’, ‘redback’ => ‘rrancid’, ‘riverstone’ => ‘rivrancid’, ‘smc’ => ‘srancid’, ‘tnt’ => ‘tntrancid’, ‘zebra’ => ‘zrancid’, ‘mikrotik’ => ‘mtrancid’ );
Я смог обновить Rancid, чтобы он корректно логинился и получал конфигурации. Однако, кажется, он работает полноценно только при ручном запуске. Что-то в автоматическом запуске вызывает ошибку. Пытаюсь получить все конфигурации.
br1.prn: пропущены cmd(s): system routerboard print. Он пытается 4 раза, а потом прекращает работу и никогда не сохраняет конфигурацию. Но если использовать rancid-run -r <router-name>, всё работает нормально и получает все изменения. Кто-нибудь еще сталкивался с таким поведением?
*Обновление: О, я забыл упомянуть, что работает только с версией 3.x, потому что скрипт логина добавляет +ct в конце имени пользователя. Что в 3.x отключает цвет и, возможно, автоматическую табуляцию? 2.9 не знает, что с этим делать, и просто предполагает, что имя пользователя неверно. -Keith- RNS
Подключаюсь к разговору, патч работает отлично у меня, протестировано на роутерах с RouterOS 4.11. Он не патчится чисто под текущую версию, поэтому я написал небольшую страницу и выложил файлы для скачивания здесь: Docs: http://falz.net/tech/rancid-mikrotik Файлы: http://falz.net/static/rancid/ Заметил, что RouterOS вроде как случайным образом генерирует MAC-адрес, указанный под /interface ovpn-server server, даже когда он не используется, и это приводит к тому, что конфигурация меняется каждый раз. Обратите внимание, что мои файлы и инструкции выше предназначены для FreeBSD, пути к папкам, где их нужно поместить, могут отличаться на вашей системе. Также пути к perl и expect в начале каждого файла могут немного отличаться.
Ты прав насчёт этой проблемы с ovpn. Это немного замучило меня. Я выяснил, что если установить поддельный MAC-адрес, то это прекращает работу. И отключает ovpn-сервер /interface ovpn-server server set mac-address=00:00:00:00:00:01 -Keith-
Спасибо, логично. Кстати, я подписался на рассылку RANCID, чтобы предложить добавить их патч в официальную версию. Возможно, обсуждение станет более активным, если другие пользователи Mikrotik+RANCID выскажутся и подтвердят, что используют эту функциональность. http://www.shrubbery.net/pipermail/rancid-discuss/2010-November/005362.html
Проверь первую строку в файлах mtrancid и mtlogin. Они должны указывать на perl и expect в твоей системе. Значения, которые идут вместе со скриптами, скорее всего, не подойдут для твоей системы.
Во-первых, спасибо за всю информацию, которая уже была здесь, она очень помогла. У меня всё настроено, но я застрял на одном довольно простом месте: какой синтаксис использовать для определения пароля для Mikrotik? Никто об этом не рассказывал, я определяю пароль как для Cisco, даже если нет "enable" пароля? Заранее спасибо!
Воскрешаю эту тему из мертвых, мне удалось восстановить работу после "закисания" при попытке откатить маршрут 4.16, но diff показывает гораздо больше изменений, чем просто изменилось: /interface wireless manual-tx-power-table - set Edge comment="" manual-tx-powers="1Mbps:17,2Mbps:17,5.5Mbps:17,11Mbps:17,6Mbps:17,9Mbps:17,12Mbps:17,18Mbps:17,24Mbps:17,36Mbps:17,48Mbps:17,54Mbps: 17,HT20-0:0,HT20-1:0,HT20-2:0,HT20-3:0,HT20-4:0,HT20-5:0,HT20-6:0,HT20-7:0 ,HT40-0:0,HT40-1:0,HT40-2:0,HT40-3:0,HT40-4:0,HT40-5:0,HT40-6:0,HT40-7:0" + set Edge comment="" + manual-tx-powers=1Mbps:17,2Mbps:17,5.5Mbps:17,11Mbps:17,6Mbps:17,9Mbps + :17,12Mbps:17,18Mbps:17,24Mbps:17,36Mbps:17,48Mbps:17,54Mbps:17,HT20-0 + :0,HT20-1:0,HT20-2:0,HT20-3:0,HT20-4:0,HT20-5:0,HT20-6:0,HT20-7:0,HT40 + -0:0,HT40-1:0,HT40-2:0,HT40-3:0,HT40-4:0,HT40-5:0,HT40-6:0,HT40-7:0 Кажется, какие-то команды случайным образом разделяются на строки, что и вызывает diff. У кого-нибудь есть какие-нибудь идеи на этот счет?
Только у тебя так происходит, если сначала делаешь бэкап вручную, а потом через cron? У меня это случалось, когда ssh определял ширину моего терминала – теперь я даю cron делать бэкапы, и никаких проблем.
Похоже, дело не в том, что имя не распознаётся, а в том, что скрипты, которые он запускает, содержат ошибки в первой строке, из-за чего появляется сообщение “No such file or directory”. Запусти mtlogin и mtrancid вручную и исправь эти проблемы. Тогда всё должно заработать. Мне пришлось внести следующие изменения в скрипты Falz’а для Debian 6: mtlogin: #! /usr/local/bin/expect – изменить на #! /usr/bin/expect – mtrancid: #! /usr/bin/perl5 изменить на #! /usr/bin/perl
Твоя строка с переносом на новую строку происходит из-за того, что твоя оболочка (shell) предоставляет ширину терминала. Если ты запускаешь через cron (например), она не должна определять количество столбцов tty и, следовательно, не должна делать перенос. Если ты запускаешь интерактивно, твоя оболочка будет определять какое-то количество столбцов, и оболочка Mikrotik будет подстраиваться под это. Это сделает строки разными, и поэтому diff выдаст изменения. Было бы неплохо добавить команду экспорта без переноса для целей резервного копирования.
Недавно установил Rancid 3.2 и успешно настроил его для работы с маршрутизаторами Mikrotik. Обрабатываю около 11 роутеров разных версий RouterOS, в основном 5.x и 6.x. Проблема, с которой я столкнулся, и она воспроизводится, заключается в том, что при выполнении команды export вывод секции /port крайне ненадежен, что приводит ко множеству разных версий. При изучении этих diff’ов я нахожу следующее:
revision 1.174 by rancid, Mon Jul 6 19:39:17 2015 UTC revision 1.175 by rancid, Mon Jul 6 20:11:36 2015 UTC 180 /port 181 set 0 name=serial0 set 0 baud-rate=115200 name=serial0 182 set 1 name=serial1 set 1 baud-rate=115200 name=serial1
или вообще отсутствие секции /port.
revision 1.18 by rancid, Thu Jun 25 20:36:10 2015 UTC revision 1.19 by rancid, Thu Jun 25 21:06:15 2015 /port set 0 name=serial0 set 1 name=serial1
Это крайне раздражает и воспроизводится в терминале WinBox. Откройте терминал и несколько раз выполните /export, а затем изучите вывод. Когда после секции /port я не нахожу никакого вывода, я пытаюсь изменить скорость передачи данных в WinBox - System - Ports, но при нажатии «Применить» или «ОК» появляется диалоговое окно с ошибкой, информирующее о том, что изменение не может быть применено, поскольку порт использует фоновый процесс. ??Что за фигня?? Это происходит на всех версиях RouterOS 2. В версии 5.x этого не происходит. Я уже исправил конфигурации роутеров для ovpn-сервера mac и перенос строки в скриптах в 5.x. Если я найду решение для отсутствующей секции /port, Rancid будет очень полезен для отслеживания намеренных изменений в конфигурациях роутеров. В данный момент он практически бесполезен, потому что количество изменений, которые нужно просмотреть за день (после сбора конфигураций каждый полчаса), ошеломляет. Кто-нибудь сталкивался с подобным? Поделитесь, пожалуйста!