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

Z Freenetis Wiki
Přejít na: navigace, hledání
(Podmínky pro přesměrování)
Řádek 25: Řádek 25:
  
 
Do /etc/init.d/freenetis dáme spouštěcí skript z application/vendors/redirection/[[freenetis]]
 
Do /etc/init.d/freenetis dáme spouštěcí skript z application/vendors/redirection/[[freenetis]]
 
  
 
upravíme práva
 
upravíme práva
Řádek 34: Řádek 33:
  
 
  update-rc.d freenetis defaults
 
  update-rc.d freenetis defaults
 
  
 
Do /usr/local/sbin/freenetis_synchronization.sh dáme skript z application/vendors/redirection/[[freenetis_synchronization.sh]]
 
Do /usr/local/sbin/freenetis_synchronization.sh dáme skript z application/vendors/redirection/[[freenetis_synchronization.sh]]
Řádek 40: Řádek 38:
 
  chmod "a+x" /usr/local/sbin/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.
+
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í.
 +
 
 +
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.
  
 
== Jak to funguje ==
 
== Jak to funguje ==
 +
__deprecated__
  
 
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í.
 
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í.
Řádek 49: Řádek 72:
  
 
== Jak to používat ==
 
== Jak to používat ==
 +
__deprecated__
  
 
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é.
 
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é.

Verze z 20. 3. 2011, 01:38

Typy přesměrování

Jednotlivé typy přesměrování se vyhodnocují zdola nahoru, může tedy nastat více přesměrování po sobě.

  • neznámé zařízení
  • 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í

  • 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.

Jak to funguje

__deprecated__

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ě.

Jak to používat

__deprecated__

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é.