Přesměrování

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

Úvod

Toto je finální verze k právě dodělanému modulu přesměrování (červenec 2011). V Unartu Slavičín jsme používali přesměrování napsané s poněkud provizorním návrhem, protože jsme poměrně akutně potřebovali blokovat lidi, kteří neplatili internet. Dříve jsme k tomuto účelu používali přesměrování pomocí firewallu v Mikrotiku, ale toto bylo velmi nešťastné a nepraktické řešení. Konfigurace více než stovky Mikrotiků byla problematická a v praxi to nebylo dlouhodobě použitelné. V roce 2008 během prázdnin, kdy jsme ve Freenetisu dopsali finanční část, která je založená na podvojném účetnictví, jsme potřebovali informace získané o kreditech členů nějak využít. Rozhodli jsme se zabudovat přesměrování do Freenetisu. Výsledný modul tehdy nebyl úplně nejlíp navržený, ale velmi nám pomohl udělat pořádek. Po čase začali růst požadavky a rostla potřeba nových vlastností. Do vývoje Freenetisu se zapojil Lubomír Buben z Hkfree a jeden z modulů, na kterém chtěl pracovat, bylo právě přesměrování. Bohužel ani jemu se nepodařilo dotáhnout výsledek do konce. Dokumentace na této stránce je napsaná až v červenci 2011, kdy konečně nová verze přesměrování byla dokončená.

K čemu to je dobré?

Přesměrování lze využít k blokování přístupu členů na internet z různých důvodů. Jednak je možné takto blokovat lidi, jejichž IP adresa zařízení není v databázi. Dále je možné zablokovat internet lidem, kteří si přerušili členství, anebo nemají zaplaceny členské příspěvky. Přesměrování lze také využít k informování členů o blížící se valné hromadě, o plánovaném výpadku připojení, o možnosti přechodu na novou bezdrátovou technologii apod.

Jak to funguje?

Na jedné straně je Freenetis, ve kterém je kompletní evidence o tom, čí IP adresy mají být přesměrovány. Toto všechno spravuje administrátor Freenetisu nebo hospodář nebo jiný člověk, který tyto věci ve sdružení řeší. On si určí, kdy koho chce zablokovat, kdy komu povolí internet a kdy dá někomu privilegium, aby se na něj přesměrování nevztahovalo.

Na druhé straně je centrální router nebo také brána do internetu. Obvykle je to nějaký stroj s Linuxem, přes který teče provoz ze sítě do internetu a na kterém běží firewall, případně další služby jako DNS atd. Na tomto stroji je cronem spouštěn synchronizační skript v pravidelném intervalu (u nás jedna minuta). Tento skript si stáhne ze speciálních stránek Freenetisu dvě informace. Seznam síťových adres s maskou a seznam povolených IP adres. Skript vezme tyto rozsahy a IP adresy a naplní jimi ipsety v jádře (k tomuto je modul ipset). Následně vygeneruje pravidla pro firewall iptables, na základě kterých pak dochází k přesměrování. Firewall tedy přesměruje ty IP adresy, které chtějí jít na internet, spadají do načtených rozsahů, ale nejsou v seznamu povolených IP adres. To znamená, že přesměrování se uplatňuje jen pro ty podsítě v systému, pro které chce administrátor. Přesměrovány jsou jednak neznámé IP adresy (jinak by byly poslány s v seznamu povolených) a pak ty, které chceme přesměrovat (z pohledu centrálního routeru jde o vyřazení ze seznamu povolených). Toto přesměrování provádí firewall na jiný port (u nás to je 36000) centrálního routeru. Na tomto portu běží lehký webový server, který na tomto portu dělá jednoduchý HTTP redirect na jinou stránku. V našem případě jde o stránku Freenetisu vyhrazenou k tomuto účelu, např. freenetis.domena.cz/redirection.

Vracíme se zpět k Freenetisu. Freenetis si podle IP adresy návštěvníka na této stránce dohledá ve své databázi důvod přesměrování a uživateli zobrazí příslušnou zprávu. Některé zprávy si může uživatel sám zrušit, toto se hodí pro zprávy pouze informativního charakteru. Uživatel v tomto případě klikne na příslušný odkaz a je mu zobrazen rozcestník, na kterém může pokračovat do internetu. Musí ovšem počkat dobu trvání synchronizačního cyklu (u nás jedna minuta) než dojde k aktualizaci informace přesměrování na centrálním routeru.


Typy zpráv

Existuje několik zpráv, které mají různé vlastnosti. Po instalaci obsahuje systém pouze systémové zprávy. Není možné je mazat, protože jsou vázané na konkrétní funkcionalitu v systému.

  • Neznámé zařízení
  • Přerušené členství
  • Dlužník
  • Upozornění na placení - člen ho může sám vypnout oproti přesměrování "Dlužník"
  • Uživatelské zprávy - administrátor si může nadefinovat vlastní zprávy s libovolnými vlastnostmi