Zarządzanie siecią w prosty sposób!
Najpierw odpowiedz sobie na kilka pytań:
- Czy sieć, którą administrujesz składa się z kilkuset komputerów i innych urządzeń lub większej ilości?
- Czy Twoja sieć podzielona jest na segmenty, działy lub placówki?
- Czy rejestrujesz nowe stacje, wyrejestrowujesz je, blokujesz, odblokowujesz, monotonnie, dzień za dniem?
- Czy w Twojej sieci są komputery lub urządzenia które potrzebują większego pasma sieciowego lub takie, którym chcesz je ograniczyć?
- Czy użytkownicy sieci powinni mieć możliwość komunikacji z administratorem w prosty sposób tak, aby jednostka nadzorująca miała możliwy dozór?
- Tracisz cenny czas na rozwiązywanie prostych problemów zamiast zająć się prawdziwą administracją?
Być może sytuacja którą opisałem dotyczy Twojego pracownika? Branża IT cierpi na niedobór wystarczająco wykwalifikowanych inżynierów. Jeśli takiego posiadasz - czy nie jest zbyt istotny aby zajmować się ciągle prostą administracją? Czy nie byłoby lepiej gdyby zajmował się prawdziwymi zadaniami, zostawiając proste zarządzanie siecią działowi obsługi klientów wewnętrznych?
Jeśli odpowiedź na powyższe pytania w większości wypadków brzmi - TAK - ta aplikacja pozwoli Ci znacznie poprawić Twoją sieć i zaprowadzi ją do nowego wieku!
Jak to działa?
Urządzenie jest przezroczyste - działa w warstwie drugiej co nie wymaga rekonfiguracji routera ani stacji roboczych.
Na aplikację składają się następujące elementy:
- Aplikacja webowa
- Serwer DHCP
- Baza danych Postgres
- Firewall
- Aplikacja kształtująca ruch
O autorze aplikacji
Pracuję jednocześnie w dwóch firmach - w jednej jestem inżynierem w dziale IT, w drugiej - administratorem sieci na Uniwersytecie Śląskim. Mam kilkuletnie doświadczenie przy rozwiązywaniu problemów dotyczących sieci oraz hostów i cierpie na stały brak czasu aby rozwiązywać proste problemy. Dlatego zdecydowałem się napisać aplikację, która będzie to robiła za mnie.
Pełen wykaz funkcjonalności
- Interfejs zorientowany na wygodę i prostotę
- Powiadomienia o zdarzeniach wysyłane email'em lub SMS'ami (wykorzystana została sieć operatora ERA GSM)
Składniki aplikacji
Na całość aplikacji składają się następujące jej części:
- Usługa DNS do obsługi stacji niezarejestrowanych
- Usługa analizująca ruch sieciowy
- Frontend webowy do zarządzania oraz rejestracji od strony klientów
- Backend generujący firewalla, reguły kształtowania ruchu oraz konfigurację DHCP
- Skrypty wykonujace backup aktualnego stanu na zdalnym hoscie (standardowo szyfrowana transmisja z użyciem niesymetrycznych kluczy w infrastrukturze PKI)
- Dokument opisujący kompletną konfigurację serwera, na którym będzie działała aplikacja
Wymagania
- jeden host (preferowany dedykowany serwer) z dwoma interfejsami sieciowymi, pracujący na systemie Linux (preferowana dystrybucja - Debian)
- jeden zarządzalny switch
Wykorzystane oprogramowanie
- Baza danych Postgres
- Serwer Apache2
- Oprogramowanie rrdtool
- kompilator gcc
- język Lua
- język Python
- filtr layer7
- filtr ipp2p
Środowisko produkcyjne
System miał okazję pracować już w trzech różnych miejscach, z czego jedno było środowiskiem developerskim, a dwa - produkcyjnymi; pracował za każdym razem w nieco innych warunkach (inny sprzęt, inna konfiguracja). W żadnym nie było problemów z jego pracą. Poniżej przedstawiam dwie konfigurację - rackową oraz uproszczoną - wykorzystującą pojedynczy serwer fizyczny. Środowisko zostało również wdrożone jako maszyna wirtualna i również sprawuje się wyśmienicie.