Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Terminale ABA-X3 od dostarczane od połowy listopada 2010 r. są wyposażane w oprogramowanie umożliwiające skanowanie podsieci w poszukiwaniu aktywnych terminali ABA-X3 oraz automatyczny odczyt wybranych informacji o ich konfiguracji oraz aktualnym stanie (wersja oprogramowania, obciążenie systemu itp.). W przeciwieństwie do innych rozwiązań skanowanie sieci nie wymaga instalacji jakiegokolwiek oprogramowania na serwerach zadanie to jest realizowane w całości przez dowolny, wybrany terminal ABA-X3. Program skanujący sieć pracuje w tle i nie obciąża w znaczącym stopniu systemu terminala może więc być wykorzystywany także podczas jego normalnej pracy. Administrator terminali może uruchomić przeszukiwanie sieci na kilka sposobów: wykorzystując lokalną przeglądarkę WWW (o ile terminal jest w nią wyposażony), korzystając z dowolnej zdalnej przeglądarki WWW W pierwszym przypadku uruchamiamy przeglądarkę zainstalowaną w terminalu i wpisujemy adres localhost, zaś w drugim w polu adresowym przeglądarki wpisujemy adres IP terminala, który zamierzamy wykorzystać do skanowania sieci. Następnie wybieramy grupę Monitorowanie i podgrupę Administracja : ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 1 z 7
Obsługa wyświetlonego formularza jest intuicyjna nie należy jednak zapomnieć o wpisaniu hasła administratora wybranego terminala. Po pewnym czasie, zależnym od liczby skanowanych adresów IP w oknie przeglądarki ukaże się wynik skanowania. Wynik ten jest równocześnie zapisywany do pliku /tmp/scanfile w systemie plikowym terminala (plik tekstowy) i może być pobrany (np. protokołem FTP) lub wysłany na drukarkę. Skanowanie sieci może być równieź uruchomione z linii komend zarówno z konsoli administracyjnej terminala lub zdalnie (telnet lub ssh). Służy to tego skrypt zdalne_info, który znajduje się w katalogu /mnt/conf/check nowej wersji terminala ABA-X3. Ten sam skrypt jest wykorzystywany przez interfejs WWW. Pełny opis tego skryptu zamieszczono poniżej. Ponieważ skrypt przesyła wyniki na standardowe wyjście, aby zapisać je do pliku należy użyć przekierowania wyjścia na plik o dowolnej nazwie. ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 2 z 7
Opis skryptu zdalne_info Zadaniem skryptu jest wykrycie aktywnych terminali ABA-X3 w zadanej podsieci klasy C - np. 10.0.0, 10.1.1 itp. Użytkownik podaje zakres przeszukiwanych adresów IP adres początkowy oraz końcowy. Składnia wywołania skryptu jest następująca: zdalne_info <podsieć> <IP_min> <IP_max> Uwaga: podając podsieć nie należy wpisywać końcowej kropki! Możliwe jest podanie IP_min = IP_max. W takim przypadku zostanie sprawdzony tylko jeden adres IP. Skrypt realizuje to zadanie wykorzystując protokoły ICMP (echo requets popularny ping) oraz HTTP. W pierwszym etapie skrypt sprawdza, czy adres jest aktywny za pomocą polecenia ping. Jeśli adres nie jest aktywny (nie odpowiada na ping) zostaje on wyświetlony na standardowym wyjściu bez żadnego dodatkowego komentarza. Jeśli urządzenie o kolejnym adresie IP odpowie echem ICMP, adres zostaje uznany za aktywny i skrypt przystępuje do sprawdzenia, czy jest to terminal ABA-X3. Wykorzystywany jest w tym celu protokół HTTP. W pierwszej fazie skrypt sprawdza, czy urządzeniu zainstalowano program konfiguracyjny ABMIN, co jest cechą charakterystyczną terminali ABA-X3. ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 3 z 7
Jeżeli wynik testu jest negatywny na standardowe wyjście zostanie wysłany komunikat: 10.1.1.88 Adres 10.1.1.88 jest aktywny To nie jest terminal ABA-X3 Jeśli skrypt stwierdzi obecność programu ABMIN, to sprawdzi, czy terminal zawiera rekord informacyjny. Jeśli stwierdzony zostanie brak tego rekordu, to skrypt prześle komunikat: 10.1.1.46 Adres 10.1.1.46 jest aktywny i jest to terminal ABA-X3 Brak rekordu informacyjnego - stara wersja ABA-X3? W przypadku, gdy terminal zawiera rekord informacyjny (najnowsze lub uaktualnione wersje oprogramowania ABA-X3) komunikat będzie zawierać treść rekordu informacyjnego np.: 10.1.1.76 Adres 10.1.1.76 jest aktywny i jest to terminal ABA-X3 --[ pxes ]--------------------------------------------------------------- PXES 1.0-7 (orca) Linux ABA-X3 2.6.10-6pxes.2 #17 Tue Apr 28 13:08:51 CEST 2009 i686 unknown 23:55:27 up 5:21, load average: 0.00, 0.04, 0.06 PXES_CLIENT_MAC_ADDR='00E04C4172D3' PXES_CLIENT_NAME='ABA-X3' Treść rekordu informacyjnego może być różna zależnie od konfiguracji oprogramowania. Do tworzenia rekordów informacyjnych służy dodatkowy skrypt info_demon, który jest opisany w dalszej części tej instrukcji. Skrypt zdalne_info jest nstalowany w najnowszych wersjach terminali ABA-X3 w katalogu /mnt/conf/check i może być uruchamiany wyłącznie przez administratora. Skrypt może być uruchomiony na terminalu zarówno lokalnie, jak i zdalnie (telnet, ssh) oraz za pomocą interfejsu WWW. W ten sposób każdy terminal ABA-X3 może być wykorzystywany do wykrywania tych urządzeń dzięki temu nie ma potrzeby instalacji żadnego dodatkowego oprogramowania na serwerach systemu. Skrypt może także zapisywać wyniki testowania podsieci do pliku o dowolnej nazwie np. zdalne_info 10.1.1 20 250 > <plik_wynikowy> ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 4 z 7
Jeśli skrypt zdalne_info jest wykorzystywany na terminalu ABA-X3 zaleca się korzystanie z katalogu /tmp -np: zdalne_info 10.1.1 20 250 > /tmp/wyniki_testu Możliwe jest jednakże wykorzystywanie tego skryptu pod dowolnym systemem LINUX oraz większością systemów UNIX (w tym ostatnim przypadku mogą być niezbędne niewielkie modyfikacje). Będziemy mogli wówczas wykorzystać polecenie powłoki tee, które nie jest zaimplementowane w powłoce ash (BusyBox) ABA-X3: zdalne_info 10.1.1 20 250 tee /tmp/wyniki_testu Wyniki będą wówczas równocześnie wysyłane na standardowe wyjście oraz do pliku. Plik wynikowy jest zwykłym plikiem tekstowym, który można przesłać na dowolną drukarkę. Rekord informacyjny oraz tworzący go skrypt info_demon Najważniejszą właściwością terminali ABA-X3 jest ogromna elastyczność konfiguracji. W przeciwieństwie do typowych, zamkniętych rozwiązań administratorzy terminali ABA-X3 mogą je konfigurować w nieomal dowolny sposób. Zasadą zapewnienia możliwie jak największej elastyczności kierowaliśmy się również opracowując system zdalnego wykrywania terminali ABA-X3. System ten pozwala administratorowi uzyskać nieomal dowolne informacje pod warunkiem odpowiedniego przygotowania skryptu tworzącego rekord informacyjny terminala. Każdy terminal ABA-X3 wyposażony jest w program sysinfo, który umożliwia uzyskanie pełnej informacji o pracy terminala obciążeniu systemu, rodzaju i wydajności procesora, gospodarki pamięcią, systemami plikowymi i pamięcią flash, modułach wykorzystywanych przez jądro systemu, listą aktywnych procesów, ustawieniach grafiki i interfejsu sieciowego itp. Program ten jest dostępny zdalnie w zakładce Monitorowanie konfiguratora WWW terminala. ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 5 z 7
Część z tych danych może być zapisywana w rekordzie informacyjnym terminala np. /bin/sysinfo head -n 4 > /usr/www/html/info zapisuje pierwsze cztery linie wyniku wykonania programu sysinfo do rekordu informacyjnego. Ustawienia terminala są dostępne w zbiorach zmiennych sterujących np. /var/run/pxes/env. Aktualna wartość każdej zmiennej może być dołączona do rekordu informacyjnego np.: more /var/run/pxes/env grep PXES_CLIENT_MAC_ADDR >> /usr/www/html/info more /var/run/pxes/env grep PXES_CLIENT_NAME >> /usr/www/html/info Rekord informacyjny jest tworzony przez skrypt info_demon: mount -o remount,rw / #while true #do /bin/sysinfo head -n 4 > /usr/www/html/info more /var/run/pxes/env grep PXES_CLIENT_MAC_ADDR >> /usr/www/html/info more /var/run/pxes/env grep PXES_CLIENT_NAME >> /usr/www/html/info #sleep 120 #done mount -o remount,ro / zaś sam rekord - plik /usr/www/html/info jest pobierany podczas testowania podsieci przez skrypt zdalne_info. Rezultat jest następujący:... 10.1.1.75 10.1.1.76 Adres 10.1.1.76 jest aktywny i jest to terminal ABA-X3 --[ pxes ]--------------------------------------------------------------- PXES 1.0-7 (orca) Linux ABA-X3 2.6.10-6pxes.2 #17 Tue Apr 28 13:08:51 CEST 2009 i686 unknown 23:55:27 up 5:21, load average: 0.00, 0.04, 0.06 PXES_CLIENT_MAC_ADDR='00E04C4172D3' PXES_CLIENT_NAME='ABA-X3' 10.1.1.77 ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 6 z 7
Rekord informacyjny może być tworzony jednorazowo (np. przy starcie oprogramowania terminala ABA-X3) lub okresowo modyfikowany (np. co 120 sekund po usunięciu komentarzy w skrypcie info_demon. Zawartość rekordu informacyjnego może być praktycznie dowolna. Skrypt info_demon jest umieszczony w katalogu /mnt/conf/check. Instalacja i uruchomienie całości: 1. Pobieramy pliki instaluj_scan oraz scan.tar.gz do katalogu /tmp, 2. Nadajemy prawa wykonywania skryptowi instalacyjnemu chmod 755 /tmp/instaluj_scan 3. Uruchamiamy skrypt instalacyjny: /tmp/instaluj_scan 4. Rekord informacyjny będzie odtąd tworzony automatycznie przy każdym uruchomieniu terminala ABA-X3. 5. Po instalacji możliwe jest skanowanie sieci za pomocą terminala ABA-X3. ABA PHC i CPSz, J.Barbaszewska, Kraków 2010 r. str. 7 z 7