Automatyczny backup konfiguracji CISCO w środowisku Linux

Dzisiaj przedwstawię sposób w jaki rozwiązałem problem z automatycznym wykonywaniem kopii bezpieczeństwa konfiguracji routerów i przełączników CISCO.

Zdaję sobie sprawę, że tyle ilu jest administratorów tyle jest metod i sposobów na rozwiązanie tego problemu. Nie twierdzę, że mój jest jakis specjalny, ale … zobaczcie sami a „nóż widelec” komuś się przyda 😉

Co nam będzie potrzebne: urządzenia CISCO 😉 oraz komputer z Linuxem. Opis będzie dotyczył dystrybucji MintLinux (oparta na Ubuntu 8.10), ale przy może być dowolnie inna (konieczna może być własnoręczna kompilacja podanych pakietów – nie jest to specjalnie trudne, ale jednak nie jest to automat -może niedługo się tym zajmę …-).

Więc do roboty:

  1. Instalujemy pakiet „router-audit-tool” (do czego to słuzy możemy wnioskować z nazwy), którego częścią jest interesujący nas program „router-snarf„, który umożliwia zapisanie konfiguracji urządzenia CISCO pracującego pod kontrolą IOS. W tym celu:
    • łączymy się z Internetem
    • otwieramy konsolę i wpisujemy „sudo apt-get install router-audit-tool
    • zostaniemy spytani o hasło aktualnego uzytkownika, a następnie system zainstaluje pakiet wraz ze wszelkimi zależnościami.
  2. Skoro już dysponujemy narzędziem do zapisywania konfiguracji, zajmiemy się pisaniem skryptu, który „obskoczy” nam wszystkie nasze urządzenia, założy niepowtarzalny katalog z datą i czasem w nazwie i ewentualnie wygeneruje nam plik z adresami urządzeń z których nie udało się sczytać konfiguracji.Nie jest to kurs pisania skryptów w BASH-u, więc pozwolę sobie zamieścić cały mój skrypt i omówię jego działanie z poziomu użytkownika. Jeżeli będzie zainteresowanie to założę osobny wątek związany z programowaniem w BASH-u:pobierz skrypt Backup_konfiguracji.zip

     

  3. Po rozpakowaniu pliku nadajmy uprawnienia dla pliku aby mógł być uruchamiany „chmod 555 Backup_konfiguracji
  4. Tworzymy plik w którym umieszczamy listę adresów IP wszystkich naszych urządzeń (w archiwum mamy przykład takiego pliku).
  5. Skrypt wywołujemy z linii poleceń: „./Backup_konfiguracji plik_z_adresami_urządzeń
  6. Efektem działania skryptu jest utworzenie się katalogu o nazwie zawierającej nazwę pliku_z_adresami oraz datę i czas wykonania skryptu
  7. W przypadku braku pomyślności w zapisaniu konfiguracji urządzenia(ń) tworzony jest jeden globalny plik (w katalogu z którego skrypt jest wykonywany) w którym jest lista wszystkich urządzeń których konfiguracji nie udało się zapisać oraz dodatkowo w katalogu z pkt. 6 tworzone są puste pliki dla każdego z tych urządzeń z nazwą „!BŁĄD …
  8. Ostatnią rzeczą jest wykorzystanie mechanizmów Linux-a do cyklicznego uruchamiania programów / skryptów (cron). Jeżeli chodzi o szczegóły konfiguracyjne: to zapraszam tutaj. Wystarczy że wskażemy nasz pliczek, ustalimy paramerty Crona na np. 1 0 * * * <ścieżka do naszego skryptu plik_z_nr_IP>, co spowoduje automatyczne zapisywanie naszych konfiguracji codziennie minutę po północy 😉

! UWAGA Skrypt do poprawnego działania wymaga uzupełnienia w nim danych odnośnie loginu i haseł dostępu do urządzeń. Zatem doradzane jest utworzenie na każdym z urządzeń osobnego konta i ograniczenie jego do wykonania instrukcji „show running-config
Dodatkowo, na każdym urządzeniu musi być takie konto z takim samym hasłem, najlepiej do tego wykorzystać serwer TACAS lub RADIUS (już wkrótce powiem jak ;-))!

Powodzenia

Dodaj komentarz

Twój adres email nie zostanie opublikowany.