Zarządzanie adresami IP – phpIPAM

Nieodłączny element każdej sieci – adresacja IP. Czy to publiczna, czy prywatna, musimy ją gdzieś zapisywać. Notatnik? Excel? Nie! Są od tego odpowiednie narzędzia, jak phpIPAM.

phpIPAM to kompletne narzędzie do zarządzania adresacją IP. Czym się wyróżnia? Jest darmowe (open source), proste w obsłudze, instalacji oraz bardzo mało wymagające sprzętowo.

Instalacja sprowadza się do pobrania i rozpakowania archiwum, skonfigurowania danych logowania i przygotowania bazy danych. Poniżej opis instalacji i konfiguracji na przykładzie Debiana 10.

Instalacja

Zaczynamy od instalacji apache, php (wraz z potrzebnymi modułami) i serwera baz danych mariadb:

# apt-get install apache2 php php-gmp php-mysql php-mbstring php-gd php-curl php-dom php-pear mariadb-server

Następnie kopiujemy pliki z phpipam, można do tego celu wykorzystać git’a lub pobrać archiwum do rozpakowania. Ja wybrałem to pierwsze:

# git clone --recursive https://github.com/phpipam/phpipam.git /var/www/phpipam
# cd /var/www/phpipam
# git checkout -b 1.4 origin/1.4

Warto w tym momencie edytować plik konfiguracyjny vhosta (domyślny plik jest w /etc/apache2/sites-enabled/000-default.conf) na naszym apache, w celu poprawy ścieżki do katalogu root:

DocumentRoot /var/www/phpipam

Włączamy od razu rewrite i restartujemy Apache:

# a2enmod rewrite
# systemctl restart apache2

Będąc w katalogu z phpipam (/var/www/phpipam), kopiujemy domyślny plik konfiguracyjny:

# cp config.dist.php config.php

Uruchamiamy przeglądarkę i wpisujemy adres http://IP_SERWERA/. Jeżeli nie popełniliśmy żadnego błędu, to powinno nam się wyświetlić okno konfiguracyjne:

Przechodzimy do konfiguracji i wybieramy punkt 1. czyli „New phpipam installation”. W następnym kroku czeka nas konfiguracja bazy danych:

Ja wybrałem automatyczną instalację czyli opcja nr 1.

Podajemy dane dostępowe do bazy danych. Jeżeli nie zrobiliśmy tego wcześniej to dodajemy użytkownika i uprawnienia do bazy:

MariaDB [(none)]> CREATE USER 'ipam'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'ipam'@'localhost';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)

Edytujemy plik /var/www/phpipam/config.php i uzupełniamy dane logowania do bazy:

 * database connection details
 ******************************
$db['host'] = 'localhost'
$db['user'] = 'ipam';
$db['pass'] = 'password';
$db['name'] = 'phpipam';
$db['port'] = 3306;

Klikamy w „Install phpipam database” i jeżeli wszystko skonfigurowaliśmy poprawnie, to baza powinna nam się prawidłowo skonfigurować:

Pozostało nam już tylko ustawienie hasła dostępowego do interfejsu:

Konfiguracja

Logujemy się i widzimy główną stronę interfejsu:

Zarządzanie opiszę na przykładzie jednej podsieci prywatnej. Klikamy w czerwony przycisk „Administration” i wybieramy „Sections”:

Dodajemy nową pozycję za pomocą przycisku „Add section”:

Dodana pozycja pojawi się w spisie „Subnets”. Teraz możemy dodawać podsieci IP. Na początek dodałem sieć główną 192.168.0.0/16 w której będę zakładał mniejsze podsieci:

Dodajemy podsieć która się będzie zawierać w naszej głównej sieci:

Sieć możemy przypisać np do VLANa, jak również do urządzenia. W ramach sieci możemy oznaczać konkretne IP i przypisywać im nazwy. Możliwe jest również skonfigurowanie dnsów, które będą pobierać nazwy hostów z naszych serwerów dns. Jeżeli dodajemy np. podsieć, którą oddajemy całą klientowi, to możemy ją oznaczyć od razu jako pełną. Ciekawostką jest np. obsługa szaf rack:

Funkcjonalność jest naprawdę bardzo szeroka i wciąż poznaje to narzędzie. Zachęcam do własnej instalacji phpIPAM 😉