Oreska - Užice

WWW.UZICE.NET - Užičani, hajde da se družimo => Mikrotik => Temu započeo: Fibonacci 10.10.2008. 17:09:17



Naslov: Preusmeravanje na lokalni server
Poruka od: Fibonacci 10.10.2008. 17:09:17
Zna li neko kako da namestim u mikrotiku da bilo koji tcp zahtev usera ide prvo na stranicu sa obavestenjem da treba da uplatimo internet pa da onda produzi na stranicu na koju je krenuo.konfiguracija mikrotika mi je sledeca:
Flags: X - disabled, D - dynamic, R - running
 #    NAME                         TYPE             RX-RATE    TX-RATE    MTU  
 0  R Lan                            ether            0          0          1500 -lokal
 1  R WiFiA-Z                      wlan             0          0          1500
 2  R Internet                      ether            0          0          1500
 3  R WiFiA-                        wlan             0          0          1500
 4  R DC                              ether            0          0          1500 -ovde je http server
 5  R Prizma                        wlan             0          0          1500

adrese su:

Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS                   NETWORK               BROADCAST       INTERFACE  
 0   10.20.3.1/24              10.20.3.0                10.20.3.255       Lan        
 1   10.20.10.1/24            10.20.10.0              10.20.10.255      WiFiA-Z
 2   10.20.8.1/24              10.20.8.0                10.20.8.255        Prizma      
 3 D x.x.106.234/24          x.x.106.0                x.x.106.255        Internet    
 4   10.10.3.1/24              10.10.3.0                10.10.3.255        DC            -ovde je http server
E sad,pokusao sam sa preusmeravanjem i radi ali svaki tcp zahtev ide ponovo na stranicu servera a ne produzava na internet.

na serveru mi je intex.htm:

Kod
GeSHi (html4strict):
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. <style type="text/css">
  7. <!--
  8. body,td,th {
  9. font-family: Geneva, Arial, Helvetica, sans-serif;
  10. font-size: 46px;
  11. color: #CC3300;
  12. }
  13. -->
  14. </style></head>
  15.  
  16. <div align="center"><strong>
  17.  
  18.  
  19.  
  20.  
  21.  
  22. <META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://www.google.com/">
  23. Placanje interneta najkasnije do 15-tog u mesecu</strong>
  24.  
  25. Za 5 sekund cete automacki nastaviti.
  26. <BR>Ako se nista ne desi kliknite
  27.  
  28. <a href="http://www.google.com">ovde</a>
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37. </div>
  38. </body>
  39. </html>
  40.  
Created by GeSHI 1.0.7.13


Ako neko moze da pomogne neka pokusa.
Hvala
  

 


Naslov: Odg: Preusmeravanje na lokalni server
Poruka od: Fibonacci 10.10.2008. 17:29:02
AUUU al je Pedja brz :)
Hvala


Naslov: Odg: Preusmeravanje na lokalni server
Poruka od: Pedja 10.10.2008. 17:39:22
Ta funkcija se obicno postize koriscenjem hot-spot rezima rada AP-a. Mikrotik to vec ima ugradjeno i samo je potrebno podesiti kako treba. S ozbirom da radis komercijalni internet provajding, to ti je najpreporucljivija opcija.

Ako hoces bez hotspot-a onda podesi podesi preusmeravanje neautorizvoanih korsinika prema uputstvu: http://wireless.uzice.net/uputstva/mikrotik-ogranicenje-interneta-nekonektovanim-na-dc/

Nece ti biti bas jednostavno kao u uputstvu jer je tvoja konfiguracija komplikovanija ali snaci ces se valjda.

Lokalni web server podesi tako da prihvata ama bas svaki upit koji dodje na njega, bez obzira na domen, a podesi i url rewriting tako da svaki upit uvek zavrsi na index.php datoteci. U index.php napravi skript koji ce da procita na koji URL je korisnik zeleo da ode, prikazi mu poruku da nije platio i onda ga preusmeri na adresu koju je inace hteo da otvori. Sarzaj moze biti isti ovakav kako si uradio u HTML, samo sto se umesto URL-a koji si stavio u refresh php-om upisuje URL koji je korisnik stvarno odabrao.

Kada ti to proradi, na mikrotiku podesi da belezi ko je "posetio" lokalni server tako sto ces IP-ove tih korisnika staviti u posebnu address list kao dinamicke zapise koji se sami brisu posle, recimo, jednog sata, a u preusmeravanju proveravaj da li je korisnik na toj listi i ako jeste, pusti ga na Internet bez preusmeravanja.

Tako ces imati efekat da korisnik koji nije platio na prvi pristup internetu biva preusmeren na lokalni server gde mu se prikazuje obavestenje, u tom trenutku se belezi da je on obavesten, i preusmerava se na zeljenu adresu, posto ce mu sada pristup Internetu biti dozvoljen. Medjutim, nakon jednog sata, bice mu ponovo prikazao obavestenje i tako na svaki sat (ili koliko vec ti zelis).


Naslov: Odg: Preusmeravanje na lokalni server
Poruka od: Fibonacci 10.10.2008. 17:53:07
nije komercijalni vec malo udruzenje pa zajedno placamo.
To sa upisom adresa koje su posetile je dobra stvar samo treba umeti :(.Hotspot ne koristimo kao sto rekoh nismo komercijalni.
Ako neko zna neki konkretan predlog sa npr. primerom bilo bi dorodoslo.


Naslov: Odg: Preusmeravanje na lokalni server
Poruka od: Fibonacci 10.10.2008. 17:58:26

 U index.php napravi skript koji ce da procita na koji URL je korisnik zeleo da ode, prikazi mu poruku da nije platio i onda ga preusmeri na adresu koju je inace hteo da otvori. Sarzaj moze biti isti ovakav kako si uradio u HTML, samo sto se umesto URL-a koji si stavio u refresh php-om upisuje URL koji je korisnik stvarno odabrao.


Imas li ideju gde da nadjem kako se radi takava skripta


Naslov: Odg: Preusmeravanje na lokalni server
Poruka od: Pedja 10.10.2008. 18:09:33

nije komercijalni vec malo udruzenje pa zajedno placamo.


Utoliko bolje.

Citat

To sa upisom adresa koje su posetile je dobra stvar samo treba umeti :(.Hotspot ne koristimo kao sto rekoh nismo komercijalni.
Ako neko zna neki konkretan predlog sa npr. primerom bilo bi dorodoslo.


Kao sto rekoh, konfiguracija ti je komplikovana pa je tesko napamet dati konkretna uputstva.

Princip je jednostavan, pogledaj u uputstvu Mikrotika kako se ubacuju IP adrese u listu preko pravila u firewall-u. Samo treba da napravis filter koji ce odvojiti uspostavljene konekcije prema IP-u lokalnog servera na port TCP 80 i upisati ih u address list.

Pogledaj uputstvo http://wireless.uzice.net/uputstva/mikrotik-ogranicenje-interneta-nekonektovanim-na-dc/ koje koristi slican princip.




 U index.php napravi skript koji ce da procita na koji URL je korisnik zeleo da ode, prikazi mu poruku da nije platio i onda ga preusmeri na adresu koju je inace hteo da otvori. Sarzaj moze biti isti ovakav kako si uradio u HTML, samo sto se umesto URL-a koji si stavio u refresh php-om upisuje URL koji je korisnik stvarno odabrao.


Imas li ideju gde da nadjem kako se radi takava skripta


To je prilicno trivijalna stvar za svakoga ko ista zna o PHP-u. Konkretna implementacija delom zavisi od konfiguracije web servera tako da time treba da se pozabavi neko na licu mesta.

Uprosceno to moze da izgleda ovako:

Kod
GeSHi (php):
  1.  
  2. <?php
  3. $m_uri = $_SERVER['REQUEST_URI'];
  4. ?>
  5. Adresa je: <?php echo $m_uri; ?>
  6.  
Created by GeSHI 1.0.7.13