Přesměrování

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

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 (Debian 6 již má ipset v repozitáři)
  • 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 Debianu 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.