Salut, @Alex Sarbu Varianta pe care o prezinti tu este foarte eficienta (eu o folosesc pentru a taia netul unui abonat) iptables -t nat -A PREROUTING -s <ip abonat>-p tcp --dport 1:65535 -j REDIRECT --to-ports 80 dar o fac ad labam prin adaugare si stergere regula.
Cred ca Radu Radoveneanu s-a referit la ceea ce doresc si eu acum sa fac. O redirectare pentru ... 30 de secunde catre o pagina (locala cu anunturi.. bla, bla) dupa care utilizatorul poate sa isi continue linistit navigarea. Solutia la care m-am gandit implica o baza de date ... dar aici am ramas numai cu ideea. Ofera altcineva o idee? Sun un prieten? Cu stima, Anitei Mircea ----- Original Message ----- From: "Alex Sirbu" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Thursday, March 31, 2005 11:20 AM Subject: [rlug] Re: myx redirect? > > Redirectarea asta se face destul de simplu, si nu e neaparat nevoie de un > proxy pentru a obtine o aplicatie functionala ( in unele cazuri mai > scuteste > ceva timp de munca, dar nu e o regula de baza ) . > > Redirectarea de la MyX era facuta pe echipamente hardware, deci nu se pune > problema folosirii aceleiasi metode, insa principiile sunt identice : > > Intrucat printr-o asemenea aplicatie se doreste "captarea" utilizatorului > catre o anumita pagina web ( de unde si denumirea de 'Captive Portal' ) > metoda cea mai simpla de a face acest lucru este de a redirecta traficul > dinspre utilizator catre orice destinatie cu port 80 catre o aplicatie de > pe masina care face redirectarea ( preferabil pe alt port decat 80 ). > > Redirectarea se face folosind targetul REDIRECT din iptables. > > Ca exemple de lucru , sa ziceam ca utilizatorii nostrii vin dintr-un pool > de > adrese de forma 192.168.0.0/24 . > Definim un chain ( in tabela FILTER sau NAT ) de forma : > > # iptables -t filter -N CAPTIVE > sau > # iptables -t nat -N CAPTIVE. > > In cazul nostru ( 192.168.0.0/24 ) evident ca se va face nat, asa ca > alegem > a doua versiune. > > In chain-ul CAPTIVE vom redirecta tot traficul pe care vrem sa-l captam : > > # iptables -A CAPTIVE -t nat -p tcp --port 80 -d ! 192.168.0.0/24 -j > REDIRECT --to-port 8080 > > Pe masina care va face redirectarea, pornim un server de web ( apache, mai > mult ca sigur ) cu o instanta care sa asculte pe portul 8080 cu > mod_rewrite > si mod_php . > > Listen 8080 ( in httpd.conf ) > Port 8080 ( in httpd.conf ) > > In fisierul de configurare ( in httpd.conf ) vom defini un VirtualHost pe > baza de port : > > <VirtualHost *:8080> > ServerAdmin [EMAIL PROTECTED] > DocumentRoot /var/www/captive_portal > ServerName captive.domain.tld > <Directory /> > AllowOverride All > </Directory> > ErrorLog /var/log/httpd/captive_portal_error.log > CustomLog /var/log/httpd/captive_portal_access_log combined > </VirtualHost> > > In directorul /var/www/captive_portal plasam un fisier .htaccess, cu un > continut de genul : > > RewriteEngine on > RewriteBase / > > RewriteRule ^(.*)$ captive.php [L] > > In felul asta, orice request venit pe portul 8080 va fi tratat > corespunzator, fara sa fie generate erori 404 (not found ) . > > > Ramane la latitudinea fiecaruia ce doreste sa afiseze in captive.php , > inportant este ca acest script sa poata avea acces INDIRECT la firewall .( > prin pipe-uri , db-uri, sau alte metode ) . > > > Pentru a redirecta un uilizator utilizand metoda de mai sus, nu trebuie > decat sa inseram reguli individuale de firewall pentru fiecare utilizator > de > genul : > > iptales -I PREROUTING -t nat -i eth1 -p tcp -s 192.168.0.10 -d ! > 192.168.0.0/24 -j CAPTIVE > > iar de dat drumul i se va da cu o regula inversa : > > iptales -D PREROUTING -t nat -i eth1 -p tcp -s 192.168.0.10 -d ! > 192.168.0.0/24 -j CAPTIVE > > Cam asta ar fi metoda pe care o folosesc eu . > > > > > > -Alex Sirbu- > [EMAIL PROTECTED] > > > ----- Original Message ----- > From: "Radu Radoveneanu" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Thursday, March 31, 2005 10:03 AM > Subject: [rlug] Re: myx redirect? > > >> >> Laviniu Gavanescu wrote: >> >>> >>>Din cate stiu eu Squid-ul are o optiune care face asta. >>>Sper sa nu ma insel :) >>> >>> >>> >>> >> ah, da, fara proxy se poate? :D >> >> --- >> Detalii despre listele noastre de mail: http://www.lug.ro/ >> > > > --- > Detalii despre listele noastre de mail: http://www.lug.ro/ > > > --- Detalii despre listele noastre de mail: http://www.lug.ro/
