Skrypt do automatycznego wykonywania poleceń na wielu urządzeniach CISCO jednocześnie
RANCID to doskonałe narzędzie do tworzenia kopii zapasowych urządzeń CISCO, jednak oprócz tego umożliwia on również wykorzystując narzędzie clogin wykonywać automatycznie dowolne polecenia na wielu urządzeniach CISCO jednocześnie.
Przed przeczytaniem tego konieczne jest zainstalowanie i skonfigurowanie RANCID’a. W tym celu polecam przeczytać poniższy poradnik: RANCID jako narzędzie do automatycznego zapisywanie kopii zapasowych urządzeń sieciowych CISCO. (wystarczy postępować zgodnie z instrukcjami zawartymi w punktach 1, 4, 5, 6)
Automatyczne wykonywanie komend na sprzęcie CISCO
Wyobraźmy sobie sytuację, że mamy na 100 urządzeniach wykonać takie same polecenia (np. dodać nowe konto użytkownika). Możemy to zrobić ręcznie, czyli logując się na każde urządzenie po kolei, albo skorzystać z narzędzia CLOGIN. W tym celu wystarczy napisać poniższy prosty skrypt: skrypt.sh (pod systemem operacyjnym linux):
#!/bin/bash for line in $(cat iplist.txt) do su -s /bin/bash -l rancid -c “/var/lib/rancid/bin/clogin -x commands.txt $line” done
Skrypt ten działa następująco:
Czyta zawartość pliku tekstowego iplist.txt linijka po linijce. W pliku tym w każdym wierszu znajduje się adres IP urządzenia, który jest zapisywany do zmiennej line. Następnie dla każdego z tych adresów uruchamiany jest CLOGIN z parametrem -x. Po parametrze -x podana jest nazwa pliku z komendami (commands.txt), które będą wykonywane, a następnie adres IP urządzenia, na którym te komendy będą wykonywane (określony przez zmienną $line).
Przykładowy plik z adresami IP (iplist.txt):
192.168.0.1 192.168.0.2 192.168.0.3
Przykładowy plik z komendami (commands.txt):
conf term username admin privilege 15 password cisco123 end write exit
W powyższym przykładzie dla każdego z 3 urządzeń (192.168.0.1, 192.168.0.2, 192.168.0.3) zostanie dodany użytkownik admin z poziomem uprzywilejowania 15 i hasłem: cisco123.
Do prawidłowego wykonania się skryptu konieczne jest, aby pliki iplist.txt oraz commands.txt znajdowały się w tym samym katalogu co skrypt. Oczywiście plik ze skryptem musi mieć nadane prawo do wykonywania:
root@debian:~# chmod +x skrypt.sh
Skrypt uruchamiamy poleceniem:
root@debian:~# ./skrypt.sh
Plik commands.txt możemy edytować i wpisywać dowolne komendy w zależności od potrzeb.