Přesměrování: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
(Podmínky pro přesměrování)
m (Quimi přesunul stránku PÅ™esmÄ›rování na Přesměrování bez založení přesměrování)
 
(Není zobrazeno 20 mezilehlých verzí od 6 dalších uživatelů.)
Řádek 1: Řádek 1:
== Typy přesměrování ==
+
== Úvod ==
  
Jednotlivé typy přesměrování se vyhodnocují zdola nahoru, může tedy nastat více přesměrování po sobě.
+
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á.
  
* neznámé zařízení
+
== K čemu to je dobré? ==
* přerušené členství
 
* dlužník
 
* upozornění na placení - člen ho může sám vypnout
 
* volitelná zpráva - např. pozvání na valnou hromadu, člen ho může sám vypnout
 
  
== Podmínky pro přesměrování ==
+
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
 +
 
 +
Při úpravě zpráv je možné použít html tagy i speciální tagy FreenetISu. Například {member_name} je speciální tag napsaný v editoru zprávy.
 +
Uživateli se však místo toho zobrazí jeho jméno, v případě, že IP adresa návštěvníka patří nějakému členovi, jinak jsou zobrazeny tři otazníky ???. Lze použít tagy
 +
 
 +
* {ip_address} - IP adresa návštěvníka
 +
* {subnet_name} - jméno podsítě IP adresy návštěvníka
 +
* {member_name} - jméno člena
 +
* {member_id} - ID člena
 +
* {balance} - stav kreditu člena
 +
* {variable_symbol} - variabilní symbol člena
 +
* {comment} - osobní komentář přesměrovanému konkrétnímu členovi od administrátora
 +
 
 +
Dalším konceptem je bílá listina. Na bílou listinu jsou umísťovány IP adresy členů, na něž se nemá přesměrování používat. Existuje trvalá bílá listina určená pro důležité partnery, obecní úřady apod.
 +
 
 +
Dále pak dočasná bílá listina, kdy člen je přesměrován, protože neměl zaplaceno. On ale potřebuje aktivovat internet hned, aby mohl zaplatit třeba přes internetové bankovnictví nebo i z jiného důvodu. Je proto umístěn na dočasnou bílou listinu, ze které bude smazán při příštím importu výpisu. Výhledově je možné tuto funkcionalitu rozšířit o nějaký pevný čas, např. 3 dny při každodenním importu plateb nebo o individuální čas. Účel bílé listiny ale zůstává stejný.
 +
 
 +
== Instalace ze zdrojových souborů ==
 +
 
 +
'''Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku [http://wiki.freenetis.org/index.php/Instalace#Bal.C3.ADk_freenetis-redirection frenetis-redirection].'''
 +
 
 +
<font color=red>UPOZORNĚNÍ: Tento text je zastaralý, aktuální zdrojové kódy k přesměrování jsou [https://github.com/freenetis/freenetis-redirection zde].</font>
 +
 
 +
=== Co je potřeba nastavit na straně FreenetISu? ===
 +
 
 +
Je potřeba vyplnit nastavení v menu Přesměrování. Informace o jednotlivých položkách je v programové nápovědě. Dále je potřeba napsat texty minimálně pro systémové zprávy. Je možné využít html tagů i speciálních tagů ve složených závorkách.
 +
 
 +
Pokud máte již FreenetIS nainstalovaný, tak musíte ještě upravit váš soubor .htaccess. V něm přidejte povolení přístupu pro stránku redirection a smažte povolení přístupu pro stránku static. Výsledné pravidlo pak může vypadat např. takto:
 +
 
 +
  # URL containing these strings will not be rewrited.
 +
  RewriteCond $1 ^(index\.php|robots\.txt|favicon\.ico|media|redirection|backuppc)
 +
  RewriteRule ^(.*)$ - [PT,L]
 +
 
 +
Toto se netýká nových instalací FreenetISu, jim by už měl být .htaccess vygenerován správně instalátorem.
 +
 
 +
=== Co je potřeba nastavit na straně centrálního routeru? ===
 +
 
 +
Toto nastavení je už komplikovanější, ale člověk trochu znalý Linuxu by to měl zvládnout. Je potřeba nainstalovat
 +
 
 +
* ipset (v Debianu 6 je už dostupný přes repozitář, jinak je nutná ruční instalace)
 +
* lighttpd (nebo jiný nenáročný web server pro HTTP redirect)
 +
 
 +
Do vhodného umístění (např. /usr/local/sbin) umístit synchronizační skript a nastavit jeho pravidelné spouštění v cronu.
 +
 
 +
Náš současný skript obsahuje zastaralé funkce a zatím nám na starém Debianu funguje. V novém Debianu bude potřebovat menší upgrade, aby fungoval. Současné verze je ve složce
 +
 +
  application/redirection/vendors/redirection/frnts_ipset
 +
 
 +
Co se týče nastavení skriptu je potřeba určit vnitřní a veřejné IP adresy brány a port, na který bude firewallem přesměrován uživatel. Seznam rozsahů je stahován z adresy
 +
 
 +
  <domena>/cs/web_interface/redirected_ranges
 +
 
 +
Seznam povolených IP adres pak z adresy
 +
 
 +
  <domena>/cs/web_interface/allowed_ip_addresses
  
 
* je potřeba mít na centrálním routeru linux, kde jeho jádro bude zkompilováno spolu s modulem ipset
 
* je potřeba mít na centrálním routeru linux, kde jeho jádro bude zkompilováno spolu s modulem ipset
* na centrálním routeru je potřeba mít správně nakonfigurovaný shorewall
+
* na centrálním routeru je potřeba mít správně nakonfigurovaný firewall
* pomocí cronu pravidelně spouštět [[script freenetis_ipset]], který z Frenetis-u pravidelně stahuje IP adresy, určené k přesměrování.
+
* je pořeba řádně nastavit synchronizační skript
 +
 
 +
Instalace [http://ipset.netfilter.org/ ipsetu] v bebianu lze z balíků
 +
 
 +
apt-get install ipset ipset-source
 +
m-a a-i ipset
 +
 
 +
v jiných distrech dle možností a v neposlední řadě je vlastní kompilace.
 +
 
 +
Sychronizační skript by měl být nekonfliktní s vaším aktuálně nastaveným firewallem. Pokud nastanou problém, je nutné je řešit individuálně.
 +
 
 +
Do /etc/init.d/freenetis dáme spouštěcí skript z application/vendors/redirection/[[freenetis]]
 +
 
 +
upravíme práva
 +
 
 +
chmod 755 /etc/init.d/freenetis
 +
 
 +
a spust9me po startu
 +
 
 +
update-rc.d freenetis defaults
 +
 
 +
Do /usr/local/sbin/freenetis_synchronization.sh dáme skript z application/vendors/redirection/[[freenetis_synchronization.sh]]
 +
 
 +
chmod "a+x" /usr/local/sbin/freenetis_synchronization.sh
 +
 
 +
Do /etc/freenetins.cfg dáme skript z application/vendors/redirection/[[freenetis.cfg]] a dle potřeby upravíme.
 +
 
 +
Při samotném přesměrování se předpokládá, že na centrálním routeru naslouchá na portu 36000(lze kdykoliv změnit v /etc/freenetis.cfg) démon, který veškeré příchozí http dotazy přesměruje pomoci http redirect na stránku FreenetISu.
 +
 
 +
Pro naši potřebu je dostatečný server lighttpd. V debianu nainstalujema pomocí
 +
 
 +
apt-get install lighttpd
 +
 
 +
a v /etc/lighttpd/lighttpd.conf přidáme/upravíme:
 +
 
 +
server.port  = 36000
 +
 
 +
url.redirect = ( "." => "http://freenetis.domain.ltd" )
 +
 
 +
Defaultně nám server startuje i na ipv6 což nepotřebuje, takže zakomentujeme
 +
 
 +
#include_shell "/usr/share/lighttpd/use-ipv6.pl"
 +
 
 +
Takovéto přesměrování ale bude mít kód 301, moved permanently. Pro bezproblémový chd doporučuji přesměrovávát s kódem 307, tj. temporary redirect. V lighttpd od verze 1.5.0 lze změnit kód [http://redmine.lighttpd.net/wiki/1/Docs:ModRedirect malou úpravou]
 +
 
 +
url.redirect-code = 307
 +
 
 +
Je možné použít jakýkoliv http server - i vlastní řešení.
  
== Jak to funguje ==
+
TODO: Plánuji vlastní "server" založený na nějakém malém http serveru - např. [http://tinyhttpd.sourceforge.net/ TinyHTTPd]. Na jakýkoliv dotaz odpoví temporary redirect na freenetis a nic víc. Eazy.
  
Freenetis na speciální stránce http://domena/cs/redirect/ipset/ranges vypíše seznam všech podsítí, které mají ve Freenetisu zaplé přesměrování. Na tyto rozsahy pak skript na centrálním routeru reaguje tak, že je přidá do ipsetu rozsahů, na které jsou pak aplikována pravidla v iptables. Na další speciální stránce http://domena/cs/redirect/ipset/members jsou vypisovány seznamy povolených IP adres. Pokud IP adresa není ve Freenetisu, nebo tam je a má nastavený nějaký příznak přesměrování, pak zde není zobrazena. Tyto IP adresy jsou pak centrálním routerem přesměrovány na stránky http://domena/cs/redirect. Freenetis pak sám zjistí důvod přesměrování a zobrazí příslušnou strnku. Pokud je důvodů víc pak se vyhodnocují podle priority, viz typy přesměrování.
 
  
Všechny speciální stránky se seznamy IP adres nebo rozsahů jsou pak kvůli bezpečnosti přístupné jen z IP adresy centrálního routeru. Tato IP adresa se dá nastavit volitelně.
+
Synchronizační skript startuje automaticky po startu systému. Je pomžné jej zastavit, nastartovat nebo restartovat pomocí příkazu /etc/init.d/freenetis start|stop|restart
  
== Jak to používat ==
 
  
V sekci Administrace->Nastavení->Brána si nadefinujte texty pro jednotlivé důvody přesměrování. Můžete použít i jednoduché HTML tagy. Náhledy výsledných zpráv jsou k dispozici na http://domena/cs/redirect/test/0, kde možné čísla jsou 0, 1, 2, 4, 8 (kvůli binární masce). Připomínám, že je potřeba mít vše správně nastaveno na straně centrálního routeru i na straně Freenetisu. Hlavně je důležité, aby bylo zaplé přesměrování na dané podsíti. Přesměrovat lze z různého důvodu manuálně jednoho člena v jeho profilu, celou podsíť v sekci Podsítě nebo všechny členy kterých se to týká v sekci Členové.
+
'''POZOR!''' Pokud budete jakoliv měnit konfigurační soubor ujistěte se, že je skript ukončen a až pak soubor editujte. Vyhnete se tím nanuálnímu odstaňování starých pravidel z iptables.

Aktuální verze z 31. 1. 2018, 14:16

Ú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

Při úpravě zpráv je možné použít html tagy i speciální tagy FreenetISu. Například {member_name} je speciální tag napsaný v editoru zprávy. Uživateli se však místo toho zobrazí jeho jméno, v případě, že IP adresa návštěvníka patří nějakému členovi, jinak jsou zobrazeny tři otazníky ???. Lze použít tagy

  • {ip_address} - IP adresa návštěvníka
  • {subnet_name} - jméno podsítě IP adresy návštěvníka
  • {member_name} - jméno člena
  • {member_id} - ID člena
  • {balance} - stav kreditu člena
  • {variable_symbol} - variabilní symbol člena
  • {comment} - osobní komentář přesměrovanému konkrétnímu členovi od administrátora

Dalším konceptem je bílá listina. Na bílou listinu jsou umísťovány IP adresy členů, na něž se nemá přesměrování používat. Existuje trvalá bílá listina určená pro důležité partnery, obecní úřady apod.

Dále pak dočasná bílá listina, kdy člen je přesměrován, protože neměl zaplaceno. On ale potřebuje aktivovat internet hned, aby mohl zaplatit třeba přes internetové bankovnictví nebo i z jiného důvodu. Je proto umístěn na dočasnou bílou listinu, ze které bude smazán při příštím importu výpisu. Výhledově je možné tuto funkcionalitu rozšířit o nějaký pevný čas, např. 3 dny při každodenním importu plateb nebo o individuální čas. Účel bílé listiny ale zůstává stejný.

Instalace ze zdrojových souborů

Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku frenetis-redirection.

UPOZORNĚNÍ: Tento text je zastaralý, aktuální zdrojové kódy k přesměrování jsou zde.

Co je potřeba nastavit na straně FreenetISu?

Je potřeba vyplnit nastavení v menu Přesměrování. Informace o jednotlivých položkách je v programové nápovědě. Dále je potřeba napsat texty minimálně pro systémové zprávy. Je možné využít html tagů i speciálních tagů ve složených závorkách.

Pokud máte již FreenetIS nainstalovaný, tak musíte ještě upravit váš soubor .htaccess. V něm přidejte povolení přístupu pro stránku redirection a smažte povolení přístupu pro stránku static. Výsledné pravidlo pak může vypadat např. takto:

 # URL containing these strings will not be rewrited.
 RewriteCond $1 ^(index\.php|robots\.txt|favicon\.ico|media|redirection|backuppc)
 RewriteRule ^(.*)$ - [PT,L]

Toto se netýká nových instalací FreenetISu, jim by už měl být .htaccess vygenerován správně instalátorem.

Co je potřeba nastavit na straně centrálního routeru?

Toto nastavení je už komplikovanější, ale člověk trochu znalý Linuxu by to měl zvládnout. Je potřeba nainstalovat

  • ipset (v Debianu 6 je už dostupný přes repozitář, jinak je nutná ruční instalace)
  • lighttpd (nebo jiný nenáročný web server pro HTTP redirect)

Do vhodného umístění (např. /usr/local/sbin) umístit synchronizační skript a nastavit jeho pravidelné spouštění v cronu.

Náš současný skript obsahuje zastaralé funkce a zatím nám na starém Debianu funguje. V novém Debianu bude potřebovat menší upgrade, aby fungoval. Současné verze je ve složce

 application/redirection/vendors/redirection/frnts_ipset

Co se týče nastavení skriptu je potřeba určit vnitřní a veřejné IP adresy brány a port, na který bude firewallem přesměrován uživatel. Seznam rozsahů je stahován z adresy

 <domena>/cs/web_interface/redirected_ranges

Seznam povolených IP adres pak z adresy

 <domena>/cs/web_interface/allowed_ip_addresses
  • je potřeba mít na centrálním routeru linux, kde jeho jádro bude zkompilováno spolu s modulem ipset
  • na centrálním routeru je potřeba mít správně nakonfigurovaný firewall
  • je pořeba řádně nastavit synchronizační skript

Instalace ipsetu v bebianu lze z balíků

apt-get install ipset ipset-source
m-a a-i ipset 

v jiných distrech dle možností a v neposlední řadě je vlastní kompilace.

Sychronizační skript by měl být nekonfliktní s vaším aktuálně nastaveným firewallem. Pokud nastanou problém, je nutné je řešit individuálně.

Do /etc/init.d/freenetis dáme spouštěcí skript z application/vendors/redirection/freenetis

upravíme práva

chmod 755 /etc/init.d/freenetis

a spust9me po startu

update-rc.d freenetis defaults

Do /usr/local/sbin/freenetis_synchronization.sh dáme skript z application/vendors/redirection/freenetis_synchronization.sh

chmod "a+x" /usr/local/sbin/freenetis_synchronization.sh

Do /etc/freenetins.cfg dáme skript z application/vendors/redirection/freenetis.cfg a dle potřeby upravíme.

Při samotném přesměrování se předpokládá, že na centrálním routeru naslouchá na portu 36000(lze kdykoliv změnit v /etc/freenetis.cfg) démon, který veškeré příchozí http dotazy přesměruje pomoci http redirect na stránku FreenetISu.

Pro naši potřebu je dostatečný server lighttpd. V debianu nainstalujema pomocí

apt-get install lighttpd

a v /etc/lighttpd/lighttpd.conf přidáme/upravíme:

server.port  = 36000
url.redirect = ( "." => "http://freenetis.domain.ltd" )

Defaultně nám server startuje i na ipv6 což nepotřebuje, takže zakomentujeme

#include_shell "/usr/share/lighttpd/use-ipv6.pl"

Takovéto přesměrování ale bude mít kód 301, moved permanently. Pro bezproblémový chd doporučuji přesměrovávát s kódem 307, tj. temporary redirect. V lighttpd od verze 1.5.0 lze změnit kód malou úpravou

url.redirect-code = 307 

Je možné použít jakýkoliv http server - i vlastní řešení.

TODO: Plánuji vlastní "server" založený na nějakém malém http serveru - např. TinyHTTPd. Na jakýkoliv dotaz odpoví temporary redirect na freenetis a nic víc. Eazy.


Synchronizační skript startuje automaticky po startu systému. Je pomžné jej zastavit, nastartovat nebo restartovat pomocí příkazu /etc/init.d/freenetis start|stop|restart


POZOR! Pokud budete jakoliv měnit konfigurační soubor ujistěte se, že je skript ukončen a až pak soubor editujte. Vyhnete se tím nanuálnímu odstaňování starých pravidel z iptables.