Přesměrová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.