Rancid on Centos 6. Как что работает.

Rancid backup centos cisco

Disclaimer

Для особограмотных линуксеров-монстров, любящих прикопаться, сообщаю, что я не такой как вы, о линуксах знаю столько же, сколько о кактусах в Мексике и пишу это исключительно для того, чтобы если вдруг, не дай бог, когда-нибудь, придется снова столкнуться с тем, что гордо называется RANCID, не бродить снова в потемках, аки слепой котэ, но быстро словиться и прозреть, как Вий или Ванга на крайний случай.

Что такое RANCID?

По сути, набор скриптов (прежде всего rancid-run), через которые этот друг:

  1. Подключается к консоли роутера, свитча или хзчего так же как это делает обычный пользователь, используя обычную учетную запись.
  2. Выполняет на этом хзчем команду #sh run (для cisco) или ее аналог, что зависит от вендора и типа устройства.
  3. Сохраняет вывод этой команды в файл. При этом используется система контроля версий (CVS), посредством которой всегда видно чем новый конфиг устройства отличается от предыдущего и любая версия всегда доступна для ее использования по назначению или для медитации на нее.
  4. Отправляет уведомление на почту администратору о том, что (или):
    • конфигурация изменилась и изменения вот такие (значком «+» показывается какие строки добавлены, «-» — какие удалены)
    • я не смог подключиться к устройству Х и узнать как дела с его конфигурацией.
  5. Все.

Все эти пять штук он делает по расписанию, которое ты для него определишь. Cron тебе в этом поможет.

Как работает Rancid

Установка Rancid происходит по любому мануалу, коих  Goooooooogle знает множество. После того, как установлен, можно и понастраивать.

Имеем вот такую вернхюю иерархиую файлов и каталогов (в данном конкретном случае случае, после моей неграмотной установки, она вся расположена в /usr/local/rancid):

[rancid@rancid ~]$ ls -a /usr/local/rancid/
.   .bash_history  .bash_profile  bin        etc  pkg    .ssh  .viminfo
..  .bash_logout   .bashrc        .cloginrc  lib  share  var

Сначала идем в файл /usr/local/rancid/etc/rancid.conf и находим в нем штуку, которая начинается со слов LIST_OF_GROUPS

Это, видимо, основная директива, и те слова, которые ты напишешь на месте троеточий здесь LIST_OF_GROUPS=»$LIST_OF_GROUPS …… ….. …..» будут соответствовать группам, по которым ты раскидаешь свое оборудование для некой наглядности и причесанности.

Это может выглядеть так, когда хочется разложить все по типам устройств,:

LIST_OF_GROUPS=»$LIST_OF_GROUPS ROUTERS SWITCHES BITCHES»

Или так, когда хочется по их географической распределенности:

LIST_OF_GROUPS=»$LIST_OF_GROUPS EARTH MOON MARS»

Если ты прирожденный анархистЪ и воюешь против системы, то создай всего одну группу и покидай все туда:

LIST_OF_GROUPS=»$LIST_OF_GROUPS VSEEEE»

Далее от имени ранее созданного пользователя rancid, запускаем скрипт:

#su rancid
rancid@rancid#/home/rancid/bin/rancid-cvs

В результате, в каталоге /usr/local/rancid/var появляется несколько каталогов:

[rancid@rancid]$ ls
CVS  EARTH  logs  MARS  MOON

Теперь, нам нужно настроить бэкап конфигурации роутера коммутатора Cisco Catalyst (именем switch-earth-1.company.com), который находится на Земле (EARTH)

Для этого, находим скрытый файл .cloginrc, который находится в корневом каталоге установки rancid (в данном случае /usr/local/rancid/.cloginrc) и открываем его:

vim /usr/local/rancid.cloginrc

В этом файле делаем вот такую запись:

add user switch-earth-1.company.com backup_user
add password switch-earth-1.company.com password_for_backup_user enable_password
add method switch-earth-1.company.com ssh

Здесь мы говорим, что: когда rancid будет подключаться к свитчу switch-earth-1.company.com, он должен использовать учетную запись backup_user с паролем password_for_backup_user и, раз уж речь об обычном устройстве cisco, еще и enable_password. Подключение должно осуществляеться по ssh.

Аналогичные записи делаем и для всех остальных устройств, с которыми будем работать. Записи могут отличаться, в зависимости от типа девайса и вендора. Например, для контроллера Cisco 2504 WLC аналогичная запись будет выглядеть так:

add user wlc-earth-1.company.com backup_user
add password wlc-earth-1.company.com password_for_backup_user
add noenable wlc-earth-1.company.com 1
add method wlc-earth-1.company.com ssh

Тут, т.к. WLC работает на своей собственной операционной системе, в синтаксисе которой команда enable не предусмотрена, мы третьей строкой говорим, что делать enable не нужно и во второй строке пароль для enable, как в случае со свитчом выше, не задаем.

По хорошему нужно ко всем девайсам подключаться по ssh, поэтому последнюю строку у этих девайсов можно убрать, и задать общее правило подключения для всех девайсах в начале файла .cloginrc:

add method * ssh

Так-то лучше.

Теперь, когда credentials для switch-earth-1.company.com прописаны в файле .clognrc, продолжим настройку rancid для работы с этим свитчом.

Раньше ты видел, что в /usr/local/rancid/var появились три группы устройств (EARTH, MARS, MOON):

[rancid@linux]$ ls /usr/local/rancid/var
CVS  EARTH  logs  MARS MOON

Искомый свитч, находится в EARTH, смотрим туда:

[rancid@linux]$ ls /usr/local/rancid/var/EARTH/
configs  CVS  router.db  routers.all  routers.down  routers.up  runcount

Там лежит файл router.db, который открываем:

vim /usr/local/rancid/var/EARTH/router.db

и записываем туда:

switch-earth-1.company.com;cisco;up

Тут мы говорим рансиду, что устройство switch-earth-1.company.com есть, изобрели его в cisco, и оно up, т.е. с конфигурацию с него нужно попытаться получить.

Если нужно получать бэкап конфигурации и с вышеупомянутого WLC-контрооллера, в нужно и для него добавить запись в router.db

wlc-earth-1.company.com;cisco-wlc5;up

Отличие для WLC в том, что для него задана своя категория cisco-wlc5, а не просто cisco, как для свитча. По имени этой категории rancid понимает, как ему логиниться в каждое конкретное устройство и какие команды выполнять для получения листинга конфигурации.

Информацию о том, какие типы устройств есть (cisco, cisco-wlc5, cisco-wlc4, juniper, juniper-srx, etc) и как с ними нужно работать, rancid берет из файла:

/usr/local/rancid/etc/rancid.types.base

Его можно открыть и посмотреть для большей осознаности.

Дальше все работает по следующему алгоритму:

  1. Скрипт (rancid-run) пробегается по созданным каталогам, соответствующим категориям, здесь это EARTH, MOON, MARS и смотрит, что написано в файле router.db, каждого каталога, построчно просматривает этот файл.
  2. Обрабатывает каждую найденную строку. Например, наткнувшись на строку switch-earth-1.company.com;cisco;up:
    • понимает, что это cisco и идет в файл rancid.types.base, смотреть как быть с этим устройством;
    • смотрит в файл .cloginrc, чтобы понять, по какому протоколу нужно подключаться к switch-earth-1.company.com и какой username и password использовать для подключения.
    • имея всю собранную информацию, подключается к switch-earth-1.company.com и выполняет команды, описанные в rancid.types.base для этого типа устройства, получает листинг с конфигурацией, который успешно сохраняет сюда:

      /usr/local/rancid/var/EARTH/configs/switch-earth-1.company.com

    • информацию о том, что изменилось в новой версии конфига отностительно предыдущий, и все, что касается работы системы контроля версий, записывает сюда:

      /usr/local/rancid/var/CVS/EARTH/configs/switch-earth-1.company.com,v

    • обновляет этот файл, добавляя новую строку (если удалось подключиться к устройству и получить его конфигурацию):

      /usr/local/rancid/var/SPB/routres.up

    • обновляет файл, добавляя новую строку (если не удалось подключиться к устройству):

      /usr/local/rancid/var/SPB/routres.down

    • делает еще много всякого, о чем мы не догадываемся
    • отправляет информацию о своей работе на e-mail людей, которые за ним наблюдают.

Теперь про почтовые уведомления RANCID/RANCID E-Mail notifications Centos

В общих чертах все выглядит так. Когда мы создали три группы устройств EARTH, MOON and MARS, Rancid по умолчанию знает, что все уведомления, касательно подключения и работы с устройствами, лежащими в каждой группе, нужно слать на следующие адреса:

rancid-admin-EARTH@rancid.company.com
rancid-EARTH@rancid.company.com
rancid-admin-MOON@rancid.company.com
rancid-MOON@rancid.company.com
rancid-admin-MARS@rancid.company.com
rancid-MARS@rancid.company.com

На адреса, в которых есть слово admin, отсылаются уведомления о том, что новое устройство добавлено или что не удается подключиться к уже добавленному устройству.

На адреса, в которых нет слова admin, отсылаются уведомления об изменении конфигурации устройств, если такие изменения были, сами изменения также отправляются на почту (в виде строк со знаком + или -)

Т.е. он просто берет и шлет в систему письма на эти адреса. Дальше ему нужен MTA (например Postfix), который перешлет их дальше, на нормальный почтовый адрес администратора. Чтобы постфикс знал, куда именно слать письма, которые он получил от Rancid с адресом получателя, например rancid-EARTH@rancid.company.com, Postfix смотрит в файл /etc/aliases, который, соответственно, нужно подготовить, добавить в aliases следующие записи:

[root@rancid //]# cat /etc/aliases | grep rancid
rancid-admin-EARTH: monitoring-admin@company.com
rancid-EARTH: monitoring@company.com
rancid-admin-MOON: monitoring-admin@company.com
rancid-MOON: monitoring@company.com
rancid-admin-MARS: monitoring-admin@company.com
rancid-MARS: monitoring@company.com

Когда aliases поправил, нужно выполнить

[root@rancid //]#newaliases

Теперь postfix, получив от rancid письмо с адресатом rancid-EARTH@company.com, перешлет его на твой e-mail monitoring@company.com. Ты радостно его получишь и будешь разглядывать.

А, нет, так просто ты его не получишь, Postfix-то его отправит, но твой адекватно-настроенный почтовый сервер, скорее всего его не примет, т.к. ардес и домен отправителя будет странный, например такой: rancid@rancid.company.com, вместо правильного rancid@company.com. Поэтому, нужно, чтобы Postfix, перед отправкой письма, правильно переписал адрес отправлителя. Делается это так:

# Добавить rewriting map в postfix
echo «rancid@rancid.company.com    rancid@company.com» >> /etc/postfix/generic
postmap /etc/postfix/generic

# Добавить map в main.cf
echo «smtp_generic_maps = hash:/etc/postfix/generic» >> /etc/postfix/main.cf
service postfix reload

После этого все будет хорошо и на твой адрес monitoring@company.com,  скорее всего наконец прилетит то самое письмо от rancid (естественно, после очередного запуска rancid-run)
И тут все вроде бы уже хорошо, но в теле письма в качестве адресата/получателя, ты будешь видеть не monitoring@company.com, а rancid-EARTH@rancid.company.com. Оно вроде не очень страшно (ведь письмо-то ты уже получил), но не очень эстетично. Чтобы это поправить, нужно добавить все в тот же /etc/postfix/generic добавить еще несколько строк:
[root@rancid //]# cat /etc/postfix/generic | grep rancid
rancid@rancid.company.com    rancid@company.com  <—- это добавили ранее>
rancid-EARTH@rancid.company.com monitoring@company.com
rancid-admin-EARTH@rancid.company.com monitoring-admin@company.com
rancid-MOON@rancid.company.com monitoring@company.com
rancid-admin-MOON@rancid.company.com monitoring-admin@company.com
rancid-MARS@rancid.company.com monitoring@company.com
rancid-admin-MARS@rancid.company.com monitoring-admin@company.com
 Далее еще раз выполнить
postmap /etc/postfix/generic
Теперь все хорошо, почта приходит, в теле письма отображаются правильные адреса.

Запуск rancid-run по расписанию

 Когда все проверено и работает, можно создать соответствующую задачу в cron, для периодического выполнения скрипта. Например, нужно чтобы rancid-run запускался каждые полчаса. Создадим задачу в crontab для пользователя rancid, от имени которого запускается rnaicd.run:

crontab -e -u rancid

# run ranid-run script every 30 minutes
*/30  *  *  *  *  /usr/local/rancid/bin/rancid-run

 Теперь rancid-run будет запускаться два раза в 0 и 30 минут каждый час. Если за это время произошло изменение в конфигурации какого-то из опрашиваемых устройств, rancid обновит записи в своей CVS и пришлет соответствующее уведомление на почту. То же произойдет в случае, если какое-то из добавленных устройств окажется недоступным. В случае если ничего не изменилось и со всеми устройствами все в порядке — ничего не произойдет и никаких уведомлений на почту не будет.

 ViewVC

 Для работы с бэкапами конфигураций, который создает RANCID и CVS, нужно использовать веб-интерфейс, который может удобно собрать и представить информацию о имеющихся версиях конфигураций, скачать нужную, сравнить несклько версий. Для этого отлично подходит ViewVC. Ничего сложного в его установке нет, мануалов море, бери и делай.

Траблшутинг/Debugging

Очень полезно, копипаст отсюда.

Test logging into a device:

clogin device.company.com

Test logging into a device and a single command:

clogin -t 90 -c»show version» device.company.com

Test logging into a device and run a sequence of commands:

clogin -t 90 -c»show version;show calendar» device.company.com

Show what RANCID does with debugging output:

rancid -d device.company.com

If the above throws some errors (especially a list of missed commands, and if you’re using TACACS, ensure you have authorisation to run all the commands RANCID tries but logging into the router as the RANCID user and executing them one at a time.
Same as (4) but record all router / switch output for analysis:

setenv NOPIPE YES
rancid -d device.company.com

and then complete output can be found in the file: device.company.com.raw (in this example).
Run RANCID on a single switch / router tree rather than all:

/usr/local/bin/rancid-run [tree]

Run RANCID normally:

/usr/local/bin/rancid-run


Не забывайте оставлять комментарии, если пост был вам полезен!
Опубликовано в Сети
83 comments on “Rancid on Centos 6. Как что работает.
  1. If you desire to obtain a great deal from this piece of writing then you have to apply such techniques to your won weblog.

  2. Hi there to every one, the contents present at this website are in fact awesome for people knowledge, well, keep up the good work fellows.

  3. Really film is the display of some one’s feelings; it gives the lesson to the visitors.

  4. Wow, this paragraph is fastidious, my sister is analyzing these things, so I am going to let know her.

  5. herbal asthma remedies asthma cough treatment
    viagra without doctor prescription
    diseases that affect digestive system what causes an allergy
    viagra without a doctor prescription

  6. Very nice article, exactly what I needed.

  7. Hmmm, yup no doubt Google is best in favor of blogging but now word press is also nice as a blogging because its Web optimization is fastidious defined already.

  8. YouTube is world’s leading video sharing web site, no one can defeat it. Every one upload video tutorials at YouTube then take embed code and post anyplace.

  9. Hi I am from Australia, this time I am viewing this cooking related video at this site, I am really glad and learning more from it. Thanks for sharing.

  10. I and my mates watch the football game clips at YouTube forever, since they have in fastidious quality.

  11. Hi there, every time i used to check webpage posts here in the early hours in the break of day, as i like to find out more and more.

  12. Hello to all, I am also in fact keen of learning PHP programming, but I am new one, I always used to read articles related to PHP programming.

  13. I think the admin of this web page is really working hard for his site, as here every material is quality based data.

  14. The methods stated in this piece of writing regarding to increase traffic at you own webpage are genuinely good, thanks for such nice article.

  15. Okay you are correct, truly Personal home page is a open source and its assist we can take free from any community forum or web page as it happens here at this site.

  16. YouTube includes not only humorous and humorous video tutorials but also it includes learning related video lessons.

  17. Wow, what a quality it is! For the reason that mostly YouTube video tutorials have no good feature, but this is in fact a fastidious quality video.

  18. What a data of un-ambiguity and preserveness of precious familiarity concerning unexpected emotions.

  19. Why visitors still use to read news papers when in this technological globe everything is accessible on web?

  20. Actually programming is nothing however it’s a logic, if you obtain control on it then you are the professional else nothing.

  21. Now YouTube movies quality is more improved and enhanced, therefore that’s the reason that I am watching this video at here.

  22. It’s awesome in support of me to have a site, which is helpful in favor of my know-how. thanks admin

  23. Hi to all, it’s really a good for me to pay a visit this website, it consists of valuable Information.

  24. Hi there buddy, what a quality is! For this YouTube video, I am genuinely happy, as I have never seen good quality YouTube video before,

  25. Hi there dear, are you enjoying with this humorous YouTube video? Hmmm, that’s pleasant, I am as well watching this YouTube comical video at the moment.

  26. Wow, that’s what I was looking for, what a stuff! existing here at this webpage, thanks admin of this website.

  27. This article concerning SEO offers clear idea in favor of new SEO visitors that how to do Search engine optimization, therefore keep it up. Good job

  28. buy cialis online without a prescription buy
    cialis
    cheap cialis
    buy cialis online

  29. What’s up everybody, I know YouTube video consists of fewer bytes of memory due to that its quality is awful, however this YouTube video has great picture quality.

  30. One other technique in support of promoting your webpage is posting comments on different sites with your website link.

  31. If you would like to grow your familiarity just keep visiting this website and be updated with the most up-to-date gossip posted here.

  32. A number of viewers are eager to watch humorous movies, however I like to watch terrible videos on YouTube.

  33. These all YouTube gaming video tutorials are genuinely in pleasant quality, I watched out all these along by means of my colleagues.

  34. Hahahahahahaha, this politics related YouTube video is truly so comical, I liked it. Thanks designed for sharing this.

  35. Hello everyone, I know YouTube video carries less bytes of memory due to that its quality is bad, but this YouTube video has impressive picture features.

  36. home insurance cost affordable home insurance home insurance companies in florida https://homeinsurance.us.com — aaa home insurance quote

  37. If some one wishes expert view about running a blog afterward i advise him/her to visit this blog, Keep up the pleasant work.

  38. For latest information you have to go to see the web and on world-wide-web I found this site as a most excellent web site for most up-to-date updates.

  39. homeowners insurance quotes comparison house insurance quotes comparison homeowners insurance rates https://homeownersinsurancequotes.us.com — homeowners insurance quotes comparison

  40. Can you please send me the code for this script or please inform me in detail concerning this script?

  41. Really movie is the display of some one’s feelings; it provides the lesson to the visitors.

  42. Loan:

    same day loans new payday lender same day payday loans no credit check online loans

  43. Последние женские новости здесь logwoman.ru

  44. Мы подберем для Вас лучшего специалиста для вашего праздника и уложимся в ваш бюджет — richeventtver.ru

    http://richeventtver.ru — ведущий на корпоратив и
    http://richeventtver.ru — юбилей празднование

    Мы знаем их слабые и сильные стоороны и мы поможем вам выбрать лучшего!

  45. If you want to receive borrowed funds, best way to use online sites. Online cash services are very popular today. You should utilize different credits 24/7 and be happy. However – it is very light to use. However needful to say, that you mustn’t call for your relatives or friends. You can use cash 24/7 get payday loans now in Virginia here.

    At maybeloan.com there are many different credit options. You have chance to utilize payday loans in USA. If you have awful credit history in New York, but you highly in need of loan, rather use credit maintan. At this site you can use credit cash. Lending terms are good. You could utilize short term payday credits in NY.

    If you have citizenship of USA, rather to utilize 24/7 credits. Currently a lot of structures like as banks or credit companies would require from your various documents. All we know, that documents like as “money orders” or “data from banking invoices” very tought to receive for few days. If you want, to obtain fast payday credits in USA, we recommend utilize credit 24/7 services.

    Use credit service is very comfortable and auspicious. Sample, less than 7 years ago a lot of guys in USA visited banks and credit organizations. Now it is possible to utilize money online and take it at online credit sources.

    At https://maybeloan.com/payday-loans/ms should receive money for your debit card. Also system has loyal attitude to each client. If you were born at Colorado and would like to utilize short term payday loans in Colorado, it is really. You can also use money credits in Illinois, if you worked in Illinois. Some people hasn’t money to provide it for their children. If you live in WY and wish to provide for your babies fast cash, you could utilize service like this. Many persons utilize fast payday loans in WY, using web sites.

    This source transfer coins for your account. It could be debit card or credit card. If you have any problems with money, you could use online credit service, which is very famous in NY. You can use money fast and get credits as fast as it possible. If you wish any coins, you can use cash loans. Service however get opportunity to receive cash credits in PA.

    If you wish to get cash at evening time, you can use cash in different state. Service is working all over the USA. You may use coins online in different time. Necessary to use make application at source, then team of specialists will process it. Then money will send from website to your bank account.

    If you have poor credit history in Los Angeles, it is not a problem. You shoud use online loans at maybeloan.com and use credit. You can use various amounts.

    Also necessary to highlight, maintain have their own customer support. It will suggest you if you will have some problems. You should contact them at contact form. They will make all what they could and get for you better online decision. If you have any problems with money, necessary to use moderators. This organization working 24/7 and will suggest you with technical issues at website.

  46. 90d5 buy viagra in vancouver bc

    generic viagra
    cheap viagra online

    duitse levitra and viagra

  47. im a women who takes online

    b1c3 online hydrocodone

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Заодно посмотрите мои фоты в моем профиле вконтакте. Любые вопросы по существу статей можете задать там же.
Hostenko — лучший WordPress-хостинг