Databáze IPv6 adres

Obsah



Základní informace

Potřeba evidovat a spravovat IP adresy v Astronomickém ústavu vedla k vytvoření jednoduché databáze a naprogramování webovského rozhraní pro přístup, prohlížení a administraci. Použitá databáze je MySQL a webovské rozhraní je skript v PHP. Databáze se jmenuje ipv4 a skript je ipv6.php. V návaznosti na databázi byly vytvořeny skripty v Perlu, které umožňují vygenerovat nové konfigurační soubory pro DHCP a DNS. Skripty dovolují restartovat služby novými údaji a prohlížet generované soubory a výstupy z příkazů. Skripty před nahráním nových údajů provádí archivaci stávající konfigurace a dovolují se k libovolné konfiguraci zpětně vrátit. A to, aniž by se musely zadávat příkazy z počítače, ale pouze z webovského rozhraní. Později k databázi jistě přibydou další skripty pro správu. Pomocí údajů v databázi půjde snadněji vyhledat případné nesprávné chování na síti a rychle sjednat nápravu. Některé události ve staré evidenci IP adres nešlo řešit. Velkým přínosem je také možnost spravovat síť dalšími administrátory a vytvořit tak zastupitelnost správců sítě a jejich nezávislost. Je snadno řešitelné přidělit zařízení novou adresu, nebo udělat změnu v DNS.

Jméno a heslo pro připojení k databázi

Databáze běží na počítači centos.asu.cas.cz a lze se k ní připojit na stránce http://ipv4.asu.cas.cz. První stránka je přihlašovací. Musí se zadat jméno a heslo. Nejdříve se zkouší autentizace proti tabulce login v databázi. Pokud tato autentizace nevyjde, zkouší skript zadaného uživatele autentizovat na počítači ldap. Uživatel tedy musí mít minimálně účet na ldap. Pokud je uživatel administrátorem, musí být zadán v tabulce login. Zde má nastaven typ uživatele Admin. Jinak je obyčejným uživatelem a může tabulky jen prohlížet. Ověření proti tabulce login je rychlejší a nezávislé. Doporučujeme zadávat uživatele do tabulky login. Administrátoři mohou do tabulky login zadávat další účty uživatelů a nastavovat jim práva. Mohou také změnit heslo k účtům. Na první stránce je také tato nápověda.

Základní nabídka

Po úspěšném přihlášení se objeví několik řádek tlačítek. První řádek vypisuje tabulky z databáze. Tabulku Ip adres jde omezit filtrem, což je řádek tabulky sítě. Další tlačítka slouží k úschově tabulek a k vygenerování nové konfigurace DHCP a DNS. Čtvrtý řádek tlačítek slouží k prohlížení aktuální konfigurace DHCP a DNS. Report tlačítko slouží ke zjištění nesrovnalostí mezi tabulou ip a kontrolními skripty, spouštěnými z cronu. Některé textové soubory v prohlížeči nemusí být aktuální. Záleží, zda se v prohlížeči již zobrazily. Pokud chci vidět aktuální údaje, musím pro jistotu dát v prohlížeči příkaz obnovit. Aktuálnost stránky je nastavena její dobou platnosti (expirací). Pokud by při zobrazení každé stránky vypršela doba platnosti, nefungovalo by v prohlížeči zpětné tlačítko. Předchozí stránka by se musela obnovit. Tyto dva režimy v chování jdou proti sobě, lze si však vybrat jen jeden.

Skripty

Skripty napsané v perlu se spouští na počítači centos a generují konfigurace pro DHCP a DNS čtením údajů z databáze. Pokud mají provést akci, je nutné je spustit jako root. Všechny skripty jsou dostupné pomocí tlačítek z webu. Tady je zajištěno provodení skriptu pod uživatelem root. Pokud však bude nutné tvar generovaných souborů upravit, bude nutné do skriptů zasáhnout.

Tabulky v databázi

V databázi je několik tabulek. Mezi hlavní patří tabulka login, net a ip, net6 a ip6.

Ovládání programu

Databáze může být v provozu, když bude mít aktuální údaje. Aktuálnost databáze omezí nesprávnou konfiguraci sítě s duplicitními adresami a vznikne přehled, které Ip adresy jsou volné.

Pokud zadám v programu větší množství změn, je vhodné provést unload tabulek. Tabulky se dostanou ven z databáze a mohou se zálohovat. Kdybych potřeboval něco hromadně opravit, je externí soubor dobrým pomocníkem. Do databáze jde například zahrnout nově definovaný sloupec a provést Load po změně v programu ipv6.php. Load tabulek provede nejdříve přejmenování starých tabulek na _old a ty se potom exportují ven z databáze. Adresář exportu je /var/www/html/ipv4/unload. Před exportem se zabalí soubory z adresáře exportu do adresáře /home/download/save/ipv4.

GenDhcp a GenDNS z tabulek vytváří novou konfiguraci, ale ještě nic nedělá s aktuální konfigurací na serveru. Nové soubory jde v prohlížeči zobrazit. Pokud nedojde k aktualizaci v prohlížeči, je dobré soubor zobrazit v nové záložce

DiffDhcp a DiffDNS provádí příkaz diff s aktuální konfigurací a konfigurací vzniklou z GenDhcp a GenDNS. Je to dobré prohlédnout, abychom viděli změny.

RestartDhcp a RestartDNS už přepisují aktuální konfiguraci a restartují služby. Ale před nahráním nové konfigurace se stará uloží do adresáře /home/download/save/[dhcp|dns]. Z webovské stránky bych se měl dozvědět, zda se služba restartovala nebo skončila s chybou. V případě chyby jde použít starou konfiguraci nebo zjednat nápravu ručně.

Restore podle tabulky file provede obnovu příslušné služby podle vybraného řádku. Restartují se služby. Tlačítko Restore nic neprovádí s databází. Mohu se tak vrátit k libovolné konfiguraci, pokud ji mám v tabulce. Zrušení řádku v tabulce file zruší i odpovídající soubor zálohy. Jak už bylo popsáno, řádek se do tabulky file zapisuje po tlačítku RestartDhcp nebo RestartDNS z webu a ne po spuštění skriptu.

ViewDhcp a ViewDNS dovoluje prohlížet aktuální konfiguraci. Ve Windows IE vadí asociace souborů .zone, pro prohlížení se otevře WordPad.

Tlačítko ReadArp spustí skript ipv6arp. Skript se také spouští z cronu jednou denně.

Tlačítko Report slouží k aktualizaci databáze a vypisuje zjištěné nesrovnalosti. Také poskytuje přehled o volných IP adresách. Jeho provedení zabere určitý čas, protože se vytváří tabulky report a free.