Synchronizace FreeNetIS - Mikrotik

Z Freenetis Wiki
Přejít na: navigace, hledání

Nejdříve na úvod mírně vysvětlím, proč vůbec nějaký takový skript vzniknul. V době psaní toho textu se naše sdružení Slfree potýkalo s velkým problémem - databáze všech zařízení ve freenetisu takřka skoro vůbec neodpovídala stavu na samotných routerech (v té době výlučně s OS RouterOS od Mikrotik) a po spuštění Přesměrování by tato entropie napáchala nakonec více škody než užitku. Ve volném čase jsem si tedy zkusil napsat jednoduchý parser exportu IP adres z dhcp-serveru z Mikrotiků a ten jsem pak použil při psaní skriptu, který naparserované informace z nich synchronizuje s db freenetisu.

Indetifikace majitelů adres

Největší problémem bylo, jakým způsobem dosáhnout jednoznačné přiřezaní položek (leases) k majitelům (členům). Nakonec bylo rozhodnuto, že komentář každé položky bude zapsán ve tvaru

ID 1 - Novák Jan

(kde 1 je ID člena Jana Nováka) a synchroniční skript podle něho určí ke kterému členovi určitou IP adresu přiřadí.

Získání exportu

Nejdříve se přihlásíme na některé APčko přes ssh:

[user@pc ~]$ ssh user@10.143.10.1
user@10.143.10.1's password: 

  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 3.7 (c) 1999-2008       http://www.mikrotik.com/
  
[user@slfree_vlara] >

Vytvoříme export jménem vlara:

[user@slfree_vlara] > /ip dhcp-server lease export file=vlara

Stáhnout si ho nyní můžeme na adrese ftp://user@10.143.10.1/vlara.rsc

Spuštění skriptu

V sekci Zařízení je odkaz Import exportu DHCP z Mikrotiku. Po kliknutí na něj se nám otevře formulář, pomocí něhož nahrajeme náš export do freenetisu a po jehož odeslání se spustí nejdůležitější synchronizační skript.

Synchronizační skript