IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Contingut

Introducció

Per a començar aquest projecte de síntesi necessitem el següent material:

  • Una màquina virtual UbuntuServer-10.10 muntada sobre VirtualBox. L'usuari de la màquina virtual(servidor) és guifi així com també els diferents passwords que hem introduït, com són el password del compte d'usuari, el password del servei MySQL, li hem posat el proxy de l'aula 202 de l'Institut de l'Ebre (http://192.168.202.1:3128/), hem instal·lat els següents paquets: Open SSH i el LAMP.
  • Un router Mikrotic model 750G.
Router Mikrotic 750G
  • Una màquina amb Ubuntu Desktop-10.04LTS que ens servirà per a configurar el Router 750G en mode gràfic a través del navegador web i amb l'ajuda de les aplicacions Wine i Winbox.
  • Un switch per a poder comunicar el servidor amb el Router Mikrotic.
  • Cables de xarxa del tipus directe per a poder connectar els diferents dispositius de xarxa entre ells.





Aquest crèdit de síntesi parteix d'una situació inicial, la qual està representada en el següent gràfic:

Jc2905112.png
El client necessita passar per el MotherBoard 750G i després per router ADSL de l'Institut per a poder accedir a Internet.


La situació final que volem aconseguir és la següent. Volem que les peticions que el client o diversos clients facin via web, siguin desviades o enrutades cap una altra interfície de la MotherBoard 750G. En aquesta interfície hi haurà connectat un servidor Web que serà el que respondrà a les sol·licituds webs dels diferents clients amb un Portal captiu; tal i com es veu en el següent diagrama de flux:

Jc2905113.png


El client ja no accedeix a Internet de manera directa, sinó que les seves peticions web seran dirigides cap al Portal Captiu del servidor web.

Informació

El router ja ve configurat de fàbrica amb la següent informació:

  • Direcció IP: 192.168.88.1/24.
  • Paraula de pas: admin.
  • T'has de connectar-hi per un port entre el 2 i el 5, sinó no podràs accedir a la seva interfície gràfica pel navegador.

Procediment

Començarem connectant els diferents dispositius de xarxa entre ells i al corrent elèctric. Tot seguit, a la màquina amb Sistema Operatiu Ubunut Desktop, mitjançant el procés IP Aliasing , li hem donat dos direccions IP a la targeta de xarxa eth0 per a que així pugui comunicar-se amb el Router 750G i amb la xarxa per a poder tenir accés a Internet.

La comanda que hem fet servir és:

$ sudo ip addr add 192.168.88.2/24 dev eth0

Per a consultar les direccions IP assignades a la targeta eth0, executarem la següent comanda:

$ sudo ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
   link/ether 44:87:fc:95:2b:94 brd ff:ff:ff:ff:ff:ff
   inet 192.168.202.116/24 brd 192.168.202.255 scope global eth0
   inet 192.168.88.2/24 scope global eth0
   inet6 fe80::4687:fcff:fe95:2b94/64 scope link 
      valid_lft forever preferred_lft forever

Tot seguit per a poder configurar el Router 750G ens hi podem connectar via web de la següent manera:

http://192.168.88.1/

Amb el resultat següent:

Jchotspot1.png


Instal·lació del Wine i Winbox

Ara, ja podem instal·lar el Wine amb la següent comanda:

$ sudo apt-get install wine

El Wine serveix per a poder instal·lar programes Windows en màquines que utilitzen el Sistema Operatiu Linux.


Per tant, ara ja podem instal·lar ja l'aplicació Winbox. Primer ens l'hem de descarregar de la web de Mikrotic:

http://www.mikrotik.com/download/winbox.exe

També ho podem fer amb wget:

$ wget http://www.mikrotik.com/download/winbox.exe 

O sinó mitjançant la interfície web a través de la qual ens hem connectat al Router 750G.

http://192.168.88.1/
Jchotspot2.png
NOTA: Si descarregueu winbox des del navegador, és molt possible que se us executi directament winbox.


Per a poder executar Winbox sense cap problema, ha de tenir accés als ports 80 i 8291. Per comprovar-ho:

$ sudo nmap 192.168.88.1
Starting Nmap 5.00 ( http://nmap.org ) at 2011-05-02 18:26 CEST
Interesting ports on 192.168.88.1:
Not shown: 993 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
53/tcp   open  domain
80/tcp   open  http
2000/tcp open  callbook
8291/tcp open  unknown
MAC Address: 00:0C:42:A5:C6:4D (Routerboard.com)
Nmap done: 1 IP address (1 host up) scanned in 0.33 seconds

Finalment, per a executar l'aplicació Winbox al Ubuntu-Desktop-10.10 escriurem la següent comanda:

$ wine winbox.exe
wine: created the configuration directory '/home_local/alumne/.wine'
fixme:system:SetProcessDPIAware stub!
fixme:dwmapi:DwmIsCompositionEnabled 0x33cfdc
fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
fixme:advapi:SetNamedSecurityInfoW L"C:\\windows\\system32\\gecko\\1.0.0\\wine_gecko\\components\\xpti.dat" 1 536870916 (nil) (nil) 0x195cd4 (nil)
fixme:iphlpapi:NotifyAddrChange (Handle 0x26ae8d8, overlapped 0x26ae8e0): stub
fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
fixme:advapi:SetNamedSecurityInfoW L"C:\\windows\\system32\\gecko\\1.0.0\\wine_gecko\\components\\compreg.dat" 1 536870916 (nil) (nil) 0x1bf6b94 (nil)
wine: configuration in '/home_local/alumne/.wine' has been updated.

Tot seguit ens apareixerà aquesta finestra on hem d'escriure la direcció IP o la MAC del Router 750G.

Jchotspot3.png

Una volta hem escrit la direcció IP o la MAC del Router 750G, seleccionem la casella Connect i ens apareixerà la següent pantalla:

Jchotspot4.png

Donar direcció IP a les interfícies de xarxa

Per donar direccions IP a les interfícies de la Motherboard 750G, hem d'anar al menú esquerre i seleccionar les següents caselles:

Jcsintesi0705111.png
  • Anar a les caselles IP > Addresses i clickar al signe + per a afegir una direcció IP nova.
  • Donar-li una IP a la interfície de xarxa seleccionada. Si li donem la màscara de subxarxa com és el cas de l'exemple(xxx.xxx.xxx.xxx/24), NO és necessari indicar-li la xarxa ni la direcció de broadcast.
  • El resultat final després d'afegit diverses direccions IP és aquest:
Jcsintesi0705112.png


Canviar el tipus d'interfície dels ports de la MotherBoard 750G

En aquest model de MotherBoard, els 5 ports dels que disposa poden actuar com un únic switch o com 5 ports independets els quals seran enrutats entre ells. Nosaltres necessitem 3 ports que funcionin independentment. Per aconseguir-ho farem els següents passos:

  • Comprovarem la configuració de fàbrica, és a dir, quines interfícies actuen com a router i quines com switch d'un altre port. La configuració de fàbrica és la següent:
Jc1005113.png

Com es pot veure en la captura, el port 1, actúa com a Gateway, el port 2 actúa també coma a una interfície independent(router); i els altres tres ports, funcionen com a switch del port número 2

  • Necessitem que el port 3, funcioni com a port independent. Per tant, seleccionem la línia del port 3, i ens apareix la següent finestra emergent:
Jc1005114.png
  • A continuació, el que farem serà editar el nom del port i li direm que el port 3 ja no depèn de cap altre port, és a dir, és independent.
Jc1005115.png
  • El resultat final és que ara ja tinc tes ports que funcionen com a tres xarxes independents que és el que necessitàvem en un principi.
Jc1005116.png

DHCP

Per a una millor configuració, el millor és deshabilitar tant el servidor com el client DHCP. Per fer-ho Només cal anar a IP > DHCP Server o bé IP > DHCP Client i després seleccionar la regla que executa el servei DHCP i tot seguit, seleccionar la casella per deshabilitar el servei. En el cas del DHCP Client es fa de la mateixa manera.

Jcsintesi1005111.png

Crear normes d'enrutament

el nostre cas, quan donem direcció IP a les diferents interfícies de xarxa de la MotherBoard 750G, el router ja crea una taula d'enrutament amb les tres rutes que hem afegit. Crea aquestes regles d'enrutament de manera dinàmica.

Jc1005117.png
  • El que ens fa falta és afegir la ruta per defecte, és a dir, totes aquelles peticions que es facin a una direcció IP que no es trobi a la taula d'enrutament, per on s'han d'enviar?
Resposta: Es crea la ruta per defecte i així tot aquelles peticions no satisfetes en les tres xarxes internes, s'han de poder satisfer a Internet.
Jc1005118.png

El significat d'aquesta captura és que qualsevol petició amb qualsevol direcció IP que no sigui cap de les tres rutes que tenim afegides dinàmicament a la taula d'enrutament, s'ha d'enviar a la direcció IP 192.168.202.1 a través de la interfície 1


  • El resultat final és el següent:

Hi ha tres rutes dinàmiques i una ruta, que és la ruta per defecte, estàtica.

Jc1005119.png


Ara comprovaré que des del client amb direcció IP 192.168.222.2 podré fer ping a una direcció qualsevol d'Internet i que puc navegar:

# ifconfig 
eth0      Link encap:Ethernet  HWaddr 08:00:27:ce:1c:86  
         inet addr:192.168.222.2  Bcast:192.168.222.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fece:1c86/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:112 errors:0 dropped:0 overruns:0 frame:0
         TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:9181 (9.1 KB)  TX bytes:5750 (5.7 KB)
lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:28 errors:0 dropped:0 overruns:0 frame:0
         TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:1680 (1.6 KB)  TX bytes:1680 (1.6 KB)

Comprovo que puc accedir a la web sol·licitada:

# ping www.google.com
PING www.l.google.com (209.85.146.99) 56(84) bytes of data.
64 bytes from bru01s01-in-f99.1e100.net (209.85.146.99): icmp_seq=1 ttl=49 time=97.5 ms
64 bytes from bru01s01-in-f99.1e100.net (209.85.146.99): icmp_seq=2 ttl=49 time=120 ms
64 bytes from bru01s01-in-f99.1e100.net (209.85.146.99): icmp_seq=3 ttl=49 time=94.1 ms
64 bytes from bru01s01-in-f99.1e100.net (209.85.146.99): icmp_seq=4 ttl=49 time=126 ms
64 bytes from bru01s01-in-f99.1e100.net (209.85.146.99): icmp_seq=5 ttl=49 time=93.3 ms

A continuació faig un traceroute per tal d'observar com s'accedir des del client a una pàgina web d'Internet passant per la MotherBoard 750G i les interfícies que intervenen:

~# traceroute www.google.com
traceroute to www.google.com (209.85.147.103), 30 hops max, 60 byte packets
1  192.168.222.1 (192.168.222.1)  0.554 ms  0.520 ms  0.488 ms
2  192.168.202.1 (192.168.202.1)  1.136 ms  1.100 ms  1.382 ms
3  192.168.153.1 (192.168.153.1)  45.269 ms  46.435 ms  48.979 ms
4  49.Red-81-46-35.staticIP.rima-tde.net (81.46.35.49)  51.652 ms  52.522 ms  54.317 ms
5  So4-0-0-0-grtbcntb1.red.telefonica-wholesale.net (213.140.50.77)  73.706 ms  75.166 ms  76.997 ms
6  xe1-1-0-0-grtlontc2.red.telefonica-wholesale.net (84.16.13.146)  107.779 ms Xe4-1-2-0-grtloneq1.red.telefonica-wholesale.net (84.16.13.78)  128.676 ms Xe5-0-4-0-grtpareq1.red.telefonica-wholesale.net (84.16.13.30)  123.166 ms
7  Xe8-2-0-0-grtfraix2.red.telefonica-wholesale.net (84.16.14.90)  126.401 ms Xe-3-3-0-0-grtfraix2.red.telefonica-wholesale.net.121.142.94.in-addr.arpa (94.142.121.62)  132.881 ms  130.000 ms
8  Google-8-1-0-0-grtfraix2.red.telefonica-wholesale.net (84.16.8.34)  141.892 ms  122.373 ms Google-7-1-0-0-grtfraix2.red.telefonica-wholesale.net (84.16.8.30)  117.639 ms
9  209.85.255.172 (209.85.255.172)  143.078 ms  126.829 ms 209.85.255.170 (209.85.255.170)  137.991 ms
10  209.85.250.140 (209.85.250.140)  133.400 ms  139.314 ms  143.262 ms
11  209.85.240.158 (209.85.240.158)  150.001 ms 209.85.240.221 (209.85.240.221)  144.897 ms 209.85.240.158 (209.85.240.158)  118.036 ms
12  209.85.252.83 (209.85.252.83)  117.039 ms 72.14.236.191 (72.14.236.191)  124.451 ms 209.85.252.83  (209.85.252.83)  117.410 ms
13  216.239.46.117 (216.239.46.117)  117.851 ms 216.239.46.113 (216.239.46.113)  119.624 ms  118.215 ms
14  bru01m01-in-f103.1e100.net (209.85.147.103)  108.490 ms  116.624 ms  116.595 ms

Si comprovo gràficament, puc accedir satisfactòriament a la direcció wwww.google.com des del client.

Jc10051110.png

Regla d'Iptables

Hem de fer una regla de l'iptables pareguda a la segona que hi ha en aquest apartat. És a dir, necessitem que totes les peticions que arriben a l'Ap des dels clients wi-fi, passin pel Hotspot i pel servidor. Regles d'iptables al servidor

Per a introduir la regla a l'Iptables de la MotherBoard 750G, seguirem aquests passos:

  • Ens connectarem a la Motherboard 750G amb una màquina amb Sistema Operatiu Ubuntu-Desktop 10.10. Primer hem de fer IP Aliasing per a poder obtenir una IP que pertanyi a la xarxa de la direcció IP de la MOtherBoard 750G. La MotherBoard 750G té la direcció IP per defecte de fàbrica 192.168.88.1; per tant, li donarem a la màquina amb Sistema Operatiu Ubuntu-Desktop 10.10 la direcció 192.168.88.2 amb la comanda següent:
$ sudo ip addr add 192.168.88.2/24 dev eth0


  • Després obrirem un terminal de la màquina amb Sistema Operatiu Ubuntu-Desktop 10.10 per tal de poder connectar-nos amb l'aplicació Winbox.exe. Ho farem amb la comanda següent:
$ sudo wine winbox.exe

Escrivim la direcció IP de la MotherBoard, l'usuari admin i sense password per a poder accedir a la configuració de la regla d'Iptables:

Jcsintesi011.png


  • Un cop a dins de l'aplicació Winbox, anirem al menú de l'esquerre i seleccionarem IP > Firewall
Jcsintesi012.png


  • Després, ens apareixerà una finestra emergent de la qual escollirem la pestanya NAT. Tot seguit, afegirem una nova regla escollint la icona representada per una suma.
Jcsintesi013.png


  • Ens apareix una altra finestra emergent per tal de configurar la regla de l'Iptables. Omplirem aquests camps:
Jcsintesi014.png


Jcsintesi0115.png


L'explicació d'aquesta regla és la següent:

Qualsevol petició que es faci per la targeta ether2 al port 80(web), es redireccionarà a la màquina-servidor amb IP 192.168.88.2 i pel seu port 81

Configuració del servidor que allotja el Portal Captiu

La màquina que allotjarà el Portal Captiu, serà una màquina virtual amb Sistema Operatiu Ubuntu Server10.10. El nostre Servidor és la màquina a la qual redireccionem el trànsit web amb l'anterior ordre que hem introduït a l'Iptables .Aquest Servidor ha d'estar connectat de manera directa a una interfície de la Motherboard 750G.

L'usuari i el password per accedir al servidor són els següents:
[*]Usuari:guifi
[*]Password:guifi

El port per defecte del servei web és el 80 i el que succeeix és que NO volem que el nostre Portal Captiu xafi les altres possibles pàgines web que pugui allotjar el Servidor Apache. Per tant, el que hem fet és posar l'Apache a escoltar també pel port 81 i així, les peticions que arribin per aquest port seran tractades per el nostre portal captiu,tal i com hem dit abans.

Passos a seguir en la configuració del Servidor Apache

  • Per dir-li que escolti pel port 81 s'ha d'editar el següent fitxer
$ sudo nano /etc/apache2/ports.conf 

I introduir-hi el següent contingut:

NameVirtualHost *:81
Listen 81 
Nota:Aquí hem posat el port 81 però pot ser un altre port com ara el port 8080 o 8081. 

Darrera de les línies següents:

NameVirtualHost *:80
Listen 80
  • En el següent pas, hem de configurar el Virtual Host, podem utilitzar com a plantilla el Virtual Host per defecte:
$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/portalcaptiu

El fitxer /etc/apache2/sites-available/portalcaptiu conté la configuració del nostre portal captiu, l'editarem per tal d'adaptar-lo a les nostres necessitats. En negreta trobarem les línies canviades. El contingut del fitxer és el següent:

$ sudo nano /etc/apache2/sites-available/portalcaptiu
<VirtualHost *:81>
       ServerAdmin [email protected]

       DocumentRoot /var/www_portalcaptiu
       <Directory />
               Options FollowSymLinks
               AllowOverride None
       </Directory>

       <Directory /var/www_portalcaptiu/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>

       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>

       ErrorLog  /var/log/apache2/error_portalcaptiu.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog /var/log/apache2/acces_portalcaptiu.log combined

       ErrorDocument 404 /index.php

       Alias /doc/ "/usr/share/doc/"
       <Directory "/usr/share/doc/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride None
       Order deny,allow
       Deny from all
       Allow from 127.0.0.0/255.0.0.0 ::1/128
   </Directory>

</VirtualHost>
  • En el següent pas, crearem la carpeta que contindrà el Portal captiu, és a dir, la pàgina web:
$ sudo mkdir /var/www_portalcaptiu

Comprovem que la carpeta s'ha creat:

$ ls /var/
backups  lib    lock  mail  run    tmp  www_portalcaptiu
cache    local  log   opt   spool  www
  • Tot seguit, creem el fitxer que tindrà el codi del portal captiu:
$ sudo nano /var/www_portalcaptiu/index.html

Amb el següent contingut:

<tittle>PORTAL CAPTIU</tittle>
 Es una prova del portal captiu


  • Després activarem el mòdul que hem creat anteriorment:
$ sudo a2ensite portalcaptiu
Enabling site portalcaptiu.
Run '/etc/init.d/apache2 reload' to activate new configuration!

I recarregarem la configuració al servidor Apache:

$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2                                     [ OK ]

Un cop hem carregat la nova configuració al Servidor Apache, ens connectem via web al servidor però pel port 81. Amb el següent resultat:

Jcsintesi010.png

Comprovar que la redirecció del trànsit web cap al Portal Captiu

Una volta hem creat el Portal Captiu, passarem a activar la regla de la taula NAT que hem creat en un punt anterior, concretament en el punt Regles Iptables. Amb aquesta regla, el que farem serà que totes les sol·licituds web procedents dels clients que pertanyen a la xarxa 192.168.222.0/24 vagin a parar al Servidor que conté el Portal Captiu pel seu port 81; el servidor té la direcció IP 192.168.88.2.

Per comprovar que quan sol·licito una pàgina web des d'un client, el que em fa la MotherBoard 750G és redireccionar la sol·licitud cap a la direcció IP 192.168.88.32:81, el que hem fet és executar l'eina Tcpdump per a poder escoltar el trànsit que rep el servidor.

Jc10051115.png

Com podem veure en la captura, les peticions web del client amb IP 192.168.222.2 són redirigides cap al servidor amb direcció IP 1192.168.88.2 i pel seu port 81.

Per comprovar-ho en mode gràfic es veu com al navegador escric una direcció web com per exemple www.google.com' i el que em fa ela MotherBoard 750G és redirigir-me cap al servidor i em mostra el contingut del Portal captiu que té instal·lat.

Jc10051116.png


Configurar una pàgina d'Error 404 a mida

Podem configurar una pàgina típica d'error 404 a mida de la manera següent:

  • Editem el fitxer index.php del portal captiu.
sudo nano /var/www_portalcaptiu/index.php
  • I hi introduïm el següent contingut que ens mostrarà informació de la connexió del client. El contingut de l'script amb php que hem introduït és el següent:
 <?php
 echo '<table border="1">';
 foreach ($_SERVER as $k => $v) {
    echo "<tr><td>" . $k . "</td><td>" . $v .  "</td><td>";
 }
 echo "</table>"
 ?>

I quan un client demana una pàgina, al fer un REDIRECT s'obté la següent informació:

Jc1705111.png

Crear un Node a Guifi.net

Per crear el node a Guifi hem d'entrar a Guifi.net i registrar-mos amb aquests paràmetres:

  • Ususari: guest
  • Password: guest

Un cop tenim un compte hem d'accedir a la zona de Tortosa, allí localitzem l'institut IES Ebre al mapa i afegim el node amb el nom IesEbre_Proves i de nom curt IesEbre_Proves.

  • Clickem a Add a new node here.
Jc1805111.png


  • Tot seguit li donem un nom i un nom curt.
Jc1805112.png


  • Després comprovem el posicionament per coordenades de la ubicació del node.
Jc1805113.png


  • Finalment, guardem la configuració del node i ja està creat però no actiu. Això que hem fet fins aquí no és res més que una representació gràfica del que farem més tard.
Jc1805114.png


Afegir un "trasto" al node

  • Una vegada ja tenim el node li hem d'afegir trastos. El primer trasto que afegirem és la RouterBoard RB435G, és del tipus trasto sense fils, com un router, bridge, punt d'accés.
Jc1805115.png


  • Un cop hem premut la casella Afegeix, ens porta a una nova pantalla on hem d'omplir els següents camps referents a la Routerboard RB435G. La pàgina web de Guifi.net li dóna la node un identificador al node que hem creat anteriorment.

Nosaltres li donem un nom curt al trasto que sigui entenedor o descriptiu i li canviem l'estat a Operatiu.

Jc1905111.png


  • Després seleccionem el model i la marca del trasto, el firmware que utilitza i l'adreça MAC de la targeta de xarxa.
Jc1905112.png
Nota: El model del trasto és RB435G però, com en la pàgina de Guifi.net no està creat 
el model, posarem un model bastant potent que si està creat, concretament el model Mikrotic RouterBoard800. El tipus de firmware també és provisional,
l'únic que és una dada real és la MAC de la targeta de xarxa del tipus Mini-PCI.


  • Tot seguit, afegirem una ràdio amb mode Acces Point.
Jc1905113.png


  • Finalment, guardarem els canvis i continuarem editant.
Jc1905114.png


Configuració de la ràdio

  • Una volta hem guardat els canvis, ens apareix una pantalla on seleccionem l'apartat Radio; allí seleccionem el SSID, el protocol, i el canal per a WI-FI. També li hem de dir que accepti clients ja que és un Acces Point

Els ajustaments de l'antena són aquests que apareixen en la captura següent (ens els ha donat el professor).

Jc1905115.png


  • Després guardem els canvis i veiem com hem creat el trasto i com ens dóna una direcció IP per a la interfície de la xarxa sense fils.
Jc1905116.png

Afegir un Hotspot al node

  • En l'apartat ràdio, si clickem la icona encerclada en la següent captura, afegirem un Hotspot
Jc1905117.png
  • Després guardem els canvis i veiem com hem creat el Hotspot.
Jc1905118.png

Aconseguir una configuració per al trasto

Per acabar, farem que el web ens doni una configuració per al trasto prement a la casella Unsolclic.

Jc1905119.png

La configuració que ens ha donat a nosaltres és la següent:

Jc19051110.png
Jc19051111.png
Jc19051112.png
Jc19051113.png


Crear una pàgina web amb Joomla

Per a crear la pàgina web amb Joomla hem fet servir la instal·lació que han redactat els nostres companys del projecte OpenFPnet. Per veure la informació de la instal·lació, només cal clickar al següent enllaç Instal·lació Joomla.

Nosaltres hem fet servir la instal·lació de la versió 1.5.23 perquè hi han més extensions, plugins i plantilles que per a la versió 1.6. Per a poder accedir al back-end de la pàgina web hem de fer servir els següents paràmetres:

[*]Usuari: *****
[*]Password: *****

Aquesta pàgina web serveix per identificar l'àrea del Hotspot i per a que els usuaris que s'hi connectin, es puguin descarregar un instal·lador del Mozilla Firefox customitzat, el qual simplifica tot el procés de connexió a la xarxa utilitzant un proxy, és a dir, la gran majoria d'usuaris d'Internet no saben o ignoren l'ús de servidors intermediaris o proxys, per tant amb aquest instal·lador el que hem fet és que només seleccionant un botó del navegador Firefox, es pot desactivar o activar el proxy del navegador i per tant, depenent de si l'usuari està en una xarxa que utilitza un servidor proxy o no, clickarà el botó o no.

Amb això el que volem evitar és que usuaris que es connecten a xarxes que utilitzen servidors intermediaris, quan arribin a casa(normalment no s'utilitzen servidors intermediaris), veuran que no es poden connectar a Internet i no saben el perquè.

IMPORTANT:Aquest instla·lador només serveix per a Sistemes Operatius Windows.

Aquí està l'enllaç de com es pot crear el teu propi instal·lador customitzat del Mozilla Firefox i instal·lar-hi el plugin que necessitis i per tant, que s'instal·li juntament amb el Firefox. Customitzar el Firefox. S'ha de comentar que la instal·lació no és una instal·lació desatesa.

Com es pot comprovar en la següent captura, l'instal·lador es pot descarregar de la pàgina web:

Jc3005111.png

Com crear el teu propi instal·lador de Firefox i com costumitzar-lo

Aquest manual només funciona per a fer una instal·lació del Mozilla Firefox a sobre d'una màquina amb Sistema Operatiu Windows.

El que volem realitzar és un fitxer executable per a Windows, és a dir, una màquina client amb Sistema Operatiu amb Windows que es connecti a la xarxa Guifi.net es podrà descarregar aquest fitxer executable que crearem. Aquest fitxer executable, és un instal·lador del navegador Mozilla Firefox customitzat amb un pluguin que activa i desactiva el proxy depenent de la xarxa on està connectada la màquina client.

El més normal és que una persona que es connecta a Internet a casa seva no utilitzi un proxy. Per tant, si per navegar a la xarxa Guifi.net, es necessita un proxy, el que pot passar és que en arribar a casa, aquesta màquina client no navegui i la persona no sàpiga què passa ni com solucionar-ho.

Aquest pluguin que s'anomena GuifiProxy és un botó que ha d'aparèixer a la dreta de la finestra del navegador, el qual facilitarà la connexió i desconnexió del proxy de la xarxa de Guifi.net. El procediment serà prémer el botó quan el client s'hagi de connectar a la xarxa Guifi.net i després haurà de prémer el mateix botó per desconnectar el proxy i així poder navegar en una xarxa sense proxy com pot ser la de casa.


Per fer tot això necessitem una eina o plugin de Firefox que s'anomena CCK que permet crear un addon/extensió per a Firefox que al instal·lar-la permet configurar Firefox (pàgines d'inici, certificats, bookmarks, configuració de proxy, etc.)

Com integrar l'addon GuifiProxy a l'instal·lador de Mozilla Firefox des de Linux

Els passos que seguirem per fer-ho en Linux seràn els següents:

  • Creem la següent que servirà per guardar tot el contingut i crear l'executable:
$ mkdir -p firefox/custom
$ cd firefox/custom
  • Tot seguit instal·larem el 7zip:
/firefox/custom$ sudo apt-get install p7zip-full
S'està llegint la llista de paquets... Fet
S'està construint l'arbre de dependències       
S'està llegint la informació de l'estat... Fet
Paquets suggerits:
  p7zip-rar
S'instal·laran els paquets NOUS següents:
  p7zip-full
  • I aquí trobarem l'executable per a Windows:

http://download.mozilla.org/?product=firefox-4.0&os=win&lang=ca

El podem descarregar amb la comanda wget:

wget http://mirror.informatik.uni-mannheim.de/pub/mirrors/mozilla.org/firefox/releases/4.0/win32/ca/Firefox%20Setup%204.0.exe
  • Després ens baixarem el fitxer 7zSD.sfx:
wget http://lxr.mozilla.org/mozilla/source/other-licenses/7zstub/firefox/7zSD.sfx?raw=1
  • Tot seguit ens baixarem una extensió per a que els usuaris que utilitzin el mozilla fet a mida tinguin un botó per activat i desactivar el proxy de manera més fàcil per a ells:
$ wget -Oguifiproxy.xpi https://addons.mozilla.org/firefox/downloads/file/110724/guifiproxy-2.5-fx+tb.xpi?src=addondetail
  • Ara executarem la següent comanda perextraure el fitxer Firefox Setup 4.0.exe:
7z x -ofirefox firefox.exe  

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=ca_ES.utf8,Utf16=on,HugeFiles=on,1 CPU)

Processing archive: Firefox Setup 4.0.exe

Extracting  core/removed-files
Extracting  core/omni.jar
Extracting  core/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
Extracting  core/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png
Extracting  core/components/binary.manifest
Extracting  core/chrome.manifest
Extracting  core/searchplugins/bing.xml
Extracting  core/blocklist.xml
Extracting  core/searchplugins/diec2.xml
  • I ara entrem a la carpeta firefox:
$ cd firefox
  • Llavors a la carpeta /core/extensions/ podem posar les extensions:
# cd core/extensions/
  • Ara posarem l'addon del guifiproxy a la carpeta /core/extensions:
/firefox/core/extensions# wget -Oguifiproxy.xpi https://addons.mozilla.org/firefox /downloads/file/110724/guifiproxy-2.5-fx+tb.xpi?src=addondetail
--2011-05-04 18:17:25--  https://addons.mozilla.org/firefox/downloads/file/110724 /guifiproxy-2.5-fx+tb.xpi?src=addondetail
Resolent addons.mozilla.org... 63.245.209.91
S'està connectant a addons.mozilla.org|63.245.209.91|:443...
  • Ara a la carpeta firefox/ torno a crear l'executable:
# 7z a -t7z /home/guifi/firefox/custom.7z . -mx -m0=BCJ2 -m1=LZMA:d24  -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=ca_ES.utf8,Utf16=on,HugeFiles=on,1 CPU)
Scanning

Creating archive /home/guifi/firefox/custom/custom.7z 

Compressing  �      
Compressing  core/removed-files      
Compressing  custom/.7z.7z      
Compressing  core/omni.jar      
Compressing  core/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} /icon.png          
Compressing  core/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} /preview.png       
Compressing  core/components/binary.manifest      
Compressing  core/chrome.manifest      
Compressing  core/searchplugins/bing.xml      
Compressing  core/blocklist.xml      
Compressing  core/searchplugins/diec2.xml      
Compressing  core/searchplugins/google.xml      
Compressing  core/searchplugins/huubs.xml   
  • Ara sortim de la carpeta en la que estem:
cd ..
  • I ara comprovem que a la carpeta firefox tinguessim el fitxer custom.7z i ara li crearem l'executable de FirefoxCustom:
# cat 7zSD.sfx custom.7z > FirefoxCustom.exe
  • Desde una altra màquina virtual provarem si funciona l'executable, el primer que farem serà eliminar-lo:
  • Reiniciarem la màquina i comprovarem que no s'ens executa, tot seguit agafarem i ens passarem d'una màquina virtual fins a l'altra

Com implementar el proxy desitjat al fitxer guifiproxy

  • Ens baixem el fitxer guifiproxy com habiem fet a l'instal·lació del addon de Mozilla:
# wget -Oguifiproxy.xpi https://addons.mozilla.org/firefox /downloads/file/110724/guifiproxy-2.5-fx+tb.xpi?src=addondetail
  • I el que farem per poder implementar els proxys que nosaltres desitjem serà afegir aquests tipus de línies amb els proxys de les diferents aules del institut:

Davidrosell909.png

  • Hauría de haver-hi una cosa com aquesta amb la sintaxi següent:
userPrefNetProx.setCharPref("nom_delservidor","proxy;port");
  • Nosaltres hem afegit:
  • Que no faci servir el proxy a l'hora de entrar a un localhost nostre.
  • Una contrasenya.
  • Dos proxys de prova.
  • Un proxy del alumnat i un dels professors.
  • Un proxy de WIFI.
  • Un proxy de l'aula 203 i 204.
  • I també li he afegit una URL.

Resolució de problemes

Si no s'ens guarda la configuració, és perque sols es guarden les preferencies al desinstal·lar i tornar a instal·lar, el que podrem fer es entrar al navegador i posar:

about:config

I allí posarem el filtre(Per trobar totes les extensions que tenim del guifiproxy):

extensions.guifiproxy

Si veiem que no estan totes les que nosaltres habiem afegit al fitxer les afegirem aquí nosaltres manualment apretant al botó dret i afegint-les de la següent forma:

Davidrosell988998.png


Davidrosell0230.png

Ara ja els he afegit tots els que necessitava:

Davidrosell99.png

També un problema que em passava és que dins de l'extensió del guifiproxy tenia que canviar el nom per a que funciones jo li posava [email protected] i llavors no s'hem veia perque no s'hem canviava el id del fitxer install.rdf i per això no s'executava amb el Mozilla al instal·lar-lo.

Per arreglar-ho he comprovat a Eines/Consola d'errors i hem sortià aquest error:

Davidrosell12'0.png

I el que he fet per resoldre el problema ha sigut anar a dins de l'executable core/extensions/[email protected] i llavors obric el fitxer install.rdf i a on posa el id de la extensió li he posat el nom que li he posat jo al fitxer ([email protected]):

Davidrosell2323.png

Com integrar l'addon GuifiProxy a l'instal·lador de Mozilla Firefox des de Windows

Ens descarreguem l'executable d'un Firefox 4.0 normal i corrent com els que ens instal·lem a casa:

http://mirror.informatik.uni-mannheim.de/pub/mirrors/mozilla.org/firefox/releases/4.0/win32/ca/Firefox%20Setup%204.0.exe

Ara ens baixarem el 7zip per poder descomprimir:

http://www.softcatala.org/wiki/Rebost:7-Zip

Després per crear el nostre executable necessitarem baixar-nos aquest fitxer:

http://acacha.org/~sergi/7zSD.sfx

Ara ho tenim que posar tot a la mateixa carpeta, jo ho tinc a la de Downloads, ara necessitarem que el 7zip estigui al PATH per tal de poder descomprimir el fitxer .exe del Firefox, per entrar a la línia de comandes anirem a Inici/Executa../cmd i posem la següent ruta:

C:\Documents and Settings\david\Mis documentos\Downloads

I per posar al PATH el 7zip com avans hem comentat, executarem la següent comanda:

>set path=%path%;C:\Archivos de programa\7-Zip

Ara extraurem l'instal·lador del Firefox que ens hem descarregat:

> 7z x -ofirefox "Firefox Setup 4.0"

Ara entrarem a la carpeta firefox que és on ho farem tot, entrem a la carpeta:

> cd firefox

Llavors si volem posar alguna extensio la posarem a la capreta core/extensions, jo m'he baixat una extensio del guifi proxy per a que els usuaris puguin treure o posar el proxy sol amb un botó que surt al navegador, ens el descarregarem d'aquí:

https://addons.mozilla.org/firefox/downloads/file/110724/guifiproxy-2.5-fx+tb.xpi?src=addondetail

Després de descarregar-nos l'extensio agafarem el fitxer .xpi i el posarem a core/extensions, ara tornarem a crear l'executable:

> 7z a -t7z ..\custom.7z . -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3

Sortim de la carpeta en la que estabem:

> cd ..

I aquí crearem l'executable final:

> copy /b 7zSD.sfx + custom.7z FirefoxCustom.exe

Com crear el teu propi instal·lador de Internet Explorer i com costumitzar-lo amb IEAK

Per poder instal·lar el IEAK en un Windows XP necessitarem una versió del Internet Explorer 8 el podem descarregar d'aquí:

http://windows.microsoft.com/es-ES/internet-explorer/products/ie/home

Ara ens baixarem el IEAK que el podem trobar a:

http://download.microsoft.com/download/7/B/7/7B7417DA-5298-4E24-ACD9-59B26EAB6D76/WIN32_XP/esn/ieak.msi

Una vegada l'hem descarregat l'instal·larem seguint els següents passos:

Davidrosell20.png
  • Acceptem la lícencia:
Davidrosell21.png
  • Triem una distribució interna per a una intranet perque estem a la xarxa local del institut:
Davidrosell22.png
  • Aquí posem el nom de la nostra organització que és guifi:
Davidrosell23.png
  • Ara ja està preparat per poder-lo instalar:
Davidrosell24.png
  • La instal·lació s'ha realitzat amb éxit:
Davidrosell25.png
  • Ara una vegada l'hem instal·lat executarem l'assistent per a personalitzar de Internet Explorer i seguirem els següents passos:
Davidrosell26.png
  • Acceptem la lícencia:
Davidrosell27.png
  • Aquí li triem la versió del XP per a la que volem que faci l'executable:
Davidrosell28.png
  • Ara triem l'idioma, jo he triat l'espanyol perque el català no estava:
Davidrosell29.png
  • Ara podem triar el medi de distribució, com nosaltres sols ho posarem al portal captiu del hotspot triarem amb arxiu per poder-ho penjar:
Davidrosell30.png
  • Aquí podem triar les característiques que tingui el nostre Internet Explorer, jo ho he deixat tot sel·leccionat que és com venia per defecte:
Davidrosell31.png
  • En aquesta pantalla ens fa baixar la mateixa versió que té l'equip per a l'instal·lador per a que es sincronitzin (una vegada s'ha acabat la primera instal·lació ens sortirà una altra pantalla per executar-ne una altra, ho cancelem perque és la mateixa instal·lació:
Davidrosell32.png
  • Aquí comprovem que siguin les mateixes versions i passarem a la següent pantalla:
Davidrosell49.png
  • Ara ens pregunta que si volem instal·lar algun component, jo no n'he posat cap:
Davidrosell35.png
  • Ens pregunta que si volem que s'instalin noves actualitzacions, jo li he dit que si i tambe ens pregunta si volem que pregunti al usuari si vol que sigui el navegador predeterminat, jo li he dit que si també:
Davidrosell36.png
  • Ara li diem que volem que sigui una instal·lació estandard per a que als usuaris no els hi sigui difícil instal·lar-lo, també ens pregunta si volem que pregunti avans de reiniciar el navegador, jo he triat que si també:
Davidrosell37.png
  • Ara ens pregunta si a la barra de dalt de tot volem posar algun text jo posare que es el hotspot de guifi:
Davidrosell38.png
  • Ens hauría de sortir una cosa així al navegador:
Davidrosell45.png
Davidrosell39.png
Davidrosell40.png
  • Li deixem la configuració per defecte:
Davidrosell41.png
  • I ens diu que si volem posar algun proxy, jo he posat el de la nostra aula:
Davidrosell42.png
  • Ens diu que ja s'ha finalitzat l'instal·lació:
Davidrosell43.png
  • I per últim ens indica a la carpeta on s'ha guardat l'instal·lador:
Davidrosell44.png


COMPROVAR VELOCITATS DE TRANSFERÈNCIA DE LA ROUTERBOARD 750G DE MIKROTIK

  • Per comprovar la velovitat del nostre router hem connectat directament un servidor i un client on hem fet servir el iperf, per veure-la el client ha executat la següent comanda:
$ iperf -c 192.168.202.203
------------------------------------------------------------
Client connecting to 192.168.202.203, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.88.3 port 42206 connected with 192.168.202.203 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec    336 MBytes    282 Mbits/sec
  • Observem que la velocitat de transferència és de 336 MB i l'ample de banda és de 282Mbits/segon(En teoria hauría de ser de 1GB).Tot seguit per comprovar la transferència d'arxius en el servidor hem creat per línia de comandes un fitxer que es d'una grandària de 15 GB:
# dd if=/dev/zero of=15G count=15000 bs=1024K
15000+0 registres llegits
15000+0 registres escrits
15728640000 octets (16 GB) copiats, 213,476 s, 73,7 MB/s
  • I per últim des de el client amb la comanda scp hem copiat el fitxer de 15 GB i així hem comprovat la velocitat transferència i el temps que ha tardat:
$ sudo scp [email protected]:15G /media/David/15G
[email protected]'s password: 
15G                                           100%   15GB  30.1MB/s   08:18


  • També hem provat de descarregar-lo per web amb el servidor desde el client, hem penjat el fitxer al servidor i desde el navegador web m'he connectat posant l'IP i l'he descarregat:

Hotspot1212.png

  • Hem posa que tarda 3 minuts i 21 segons però mes o menys m'ha tardat un minut menys:

Hotspot121212.png

Fer un redirect amb l'Squid

  • Per començar, hem d'instal·lar el paquet Squid3, el qual posarà en funcionament el servei proxy. Ho farem amb la següent comanda:
$ sudo apt-get install squid3

Un cop instal·lat reiniciem amb:

$ sudo /etc/init.d/squid3 restart

Com qualsevol dimoni de Linux, tenim diverses opcions més per a poder parar, iniciar, reiniciar o recarregar la configuració del servei.Aquestes opcions són stop, start, restart o reload. També podem utilitzar la comanda

$ sudo squid3 -k reconfigure

aquesta opció es realment interessant quan només hem fet canvis en el fitxer de configuració de squid3, que és squid.conf, el qual es troba a:

$ /etc/squid3/squid.conf

Configuració de l'Squid

  • Tot seguit hem canviat el nom al fitxer squid.conf original per a guardar-lo com una còpia de seguretat, li hem donat el nom squid.conf_original. En creem un altre que anomenem squid.conf amb el següent contingut:
#
#cache_effective_user squid
#cache_effective_group squid
# Port servei peticions HTTP
http_port 3128
#
# Rel�lacio amb altres catxes, treball en jerarquia
#cache_peer proxy.aula202.iesebre.com parent 3128 0 no-query no-digest default
#
# Dimensionat de l'espai de catxe al disc dur i memoria RAM
cache_dir ufs /var/spool/squid3 100 16 256
cache_mem 4 MB
#
visible_hostname Hotspot-captiu-server
#
# Control d'acces als serveis del proxy
# Definicio acl
#acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl CONNECT method CONNECT
acl hotspot src 192.168.202.0/24
#
# Aplicacio de les acl
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow manager all
http_access allow manager localhost
http_access allow manager hotspot
http_access allow localhost
http_access allow hotspot
http_access deny all
#
icp_access deny all
miss_access allow hotspot
miss_access allow localhost
miss_access deny all
#
# Control d'acces del proxy a l'exterior
#acl locals dst 192.168.202.0/255.255.255.0
#always_direct allow locals
#always_direct allow localhost
#never_direct deny locals
#never_direct allow all
#
# Control de l'aplicacio de monitoritzacio cachemgr.cgi
cachemgr_passwd disable shutdown
cachemgr_passwd squid all
#
# Correu electronic de contacte amb l'administrador
cache_mgr [email protected]
#
#  Nivell i rotacio del registre de funcionament (logs)
cache_store_log none
debug_options ALL,1
logfile_rotate 1


  • Una volta hem introduït el contingut al fitxer squid.conf, passarem a actualitzar el servei amb la comanda:
$ sudo /etc/init.d/squid3 reload

o també:

$ sudo squid3 -k reconfigure

Creació del redirector

Podem crear l'script de dues maneres:

  • Un script fet amb Perl
  • Un script fet amb Shellscripting

El contingut del primer script és el següent:

 #!/usr/bin/perl
 #
 # startpage.pl (Squid Proxy Redirector)
 # [email protected] 03-2008
 # Redirects proxy user to a defined startpage every certain time.
 use strict;
 #
 # --- CONFIG ---
 #
 # Startpage will be shown every ... (time in seconds)
 my $ref_time = 3600; # 1 hour
 #
 # Redirection to this webpage
 my $startp = "302:http://guifi.net";
 #
 # Directory to save user/timestamp DB
 # (squid owner needs write permissions in this directory)
 my $dat_dir = "/tmp";
 #
 # Track users by IP or username. Username only effective if proxy uses
 # some kind of authentication.
 my $match = "user"; # user / IP
 # Autoflush STDOUT on each printed character
 local $| = 1;
 $SIG{INT} = sub { die "Bye!"; };
 while ( 1 ) {
 # Get stuff from squid
 my $buff_in = <>;
 chomp( $buff_in );    
 my ( $url, $src_add, $ident, $method) = split( / /, $buff_in );
 # Quits if squid does
 if( !$url || !$src_add || !$ident || !$method ) { die("Bye!"); };
 # Match by username or IP
 my $id = ($match eq "user") ? $ident : $src_add;
 # Check user's timestamp 
 open(DATA, "<$dat_dir/startpage.dat");
 my $newdat=;
 # (flag1) 0 = new user / 1 = timestamp OK / 2 = update timestamp
 my $flag1=0; 
 while ( my $line= ) {
   chomp($line);
   my( $user, $ltime ) = split( /:/, $line );
   if( $user eq $id ) {
     $flag1=1;
     if( ($ltime + $ref_time) < time() ) {
       $flag1=2;
       $ltime=time();
     }
   } 
   $newdat.="$user:$ltime\n";    
 }
 close(DATA);
 # If new user or user timestamp changed, update DB
 if( $flag1!=1 ) {
   # New user? add it ...
   if( !$flag1 ) { $newdat.="$id:".time()."\n"; }
   open(DATA, ">$dat_dir/startpage.dat");
   print DATA $newdat;
   close(DATA);
 }
 # Show startpage if necessary
 if( $flag1!=1 ) {
   print $startp." ".$src_add." ".$ident." ".$method."\n";
 } else {
   print $url." ".$src_add." ".$ident." ".$method."\n";
 }
 } # while( 1 )

Per continuar amb aquest mode es poden seguir els passos detallats en el següent enllaç: Script amb Perl

Script amb Shell

Nosaltres hem fet servir l'script fet amb Shell perquè és una manera més fàcil i ràpida de fer la redirecció amb l'Squid3. Per tant hem seguit els passos que es troben en el següent enllaç: Script fet amb Shell

  • A continuació, descomprimirem el fitxer:
$ sudo tar -vzxf squidredir.sh.tar__0.gz
Atenció: si dóna problemes en el moment de descomprimir, se li ha de treure el '__0' del nom i tornar-lo a descomprimir, és a dir, el fitxer
 ha d'acabar amb 'tar.gz'
  • Després passarem a posar el fitxer en algun directori del servidor com ara:
$ sudo mv /squidredir.sh /home/guifi/squidredir.sh
  • Tot seguit, li donarem permisos d'execució:
$ sudo chmod a+x /home/guifi/squidredir.sh
  • Finalment editarem el fitxer /etc/squid/squid.conf i configureu la directiva redirect_program:
  redirect_program /home/guifi/squidredir.sh 301:http://guifihotspot.iesebre.com 10

Amb aquesta directiva li diem que ens executi l'script que anteriorment hem col·locat a /etc/guifi/ i li introduïm les variables següents:

-301: vol dir que faci un Redirect

-"http://guifihotspot.iesebre.com": a la pàgina on volem que faci la redirecció

-10: és el temps en segons. Cada 10 segons s'executa l'script i per tant es fa la redirecció.

Problema amb la directiva redirect_program

Quan executem el servei proxy, la directiva redirect_program no funciona, Tampoc funciona si executem l'script de forma manual. Per executar l'script de forma manual ho farem així:

Canviarem d'usuari per a poder executar l'script:

$ sudo su proxy

Entrarem a on tenim l'script:

$ cd /home/guifi/

Executem l'script:

$ sudo ./squidredir.sh

Després li donem les variables que són la web on volem que ens redireigeixi, la direcció IP d'origen i el mètode. Per comprovar les normes, el format d'entrada és:

URL IP_ORIGEN - [HTTP]]_METHOD

Per exemple:

http://foo.com/ 127.0.0.1 - GET

Però no funciona, ens dóna un error a la línia 57.

Per solucionar-ho, el que hem de fer és autenticar usuaris a l'Squid amb el mètode NCSA: Fitxer NCSA-style d'usuaris i paraules de pas

Primer cal crear el fitxers d'usuaris i paraules de pas. Per al primer usuari cal crear el fitxers amb l'opció -c

$ sudo htpasswd -c /etc/squid3/passwd guifi
New password: 
Re-type new password: 
Adding password for user guifi


La resta d'usuaris es poden crear amb:

$ sudo htpasswd /etc/squid3/passwd jesus

El fitxer conté els usuaris i les paraules de pas xifrades:

$ cat /etc/squid3/passwd
guifi:dutboe9oQhP7w
jesus:n8rsw2N238Zgr

Assegureu-vos que l'usuari amb que s'executa Squid pot llegir el fitxer:

$ sudo chmod o+r /etc/squid3/passwd

Finalment configurem el fitxer /etc/squid3/squid.conf amb el següent contingut:

#
#cache_effective_user squid
#cache_effective_group squid
# Port servei peticions HTTP
http_port 3128
#
# Rel�lacio amb altres catxes, treball en jerarquia
#cache_peer proxy.aula202.iesebre.com parent 3128 0 no-query no-digest default
#
# Dimensionat de l'espai de catxe al disc dur i memoria RAM
cache_dir ufs /var/spool/squid3 100 16 256
cache_mem 4 MB
#
visible_hostname Hotspot-captiu-server
#
# Control d'acces als serveis del proxy
#Ususaris i password
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# Definicio acl
#acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl CONNECT method CONNECT
acl hotspot src 192.168.202.0/24
acl ncsa_usuaris proxy_auth REQUIRED
#
# Aplicacio de les acl
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow manager all
http_access allow manager localhost
http_access allow manager hotspot
http_access allow localhost
http_access allow ncsa_usuaris
http_access allow hotspot
http_access deny all
#
#Regla que executa l'script que fa un redirect cada 10 segons  
redirect_program /home/guifi/squidredir.sh 301:http://guifihotspot.iesebre.com 10
#
icp_access deny all
miss_access allow hotspot
miss_access allow localhost
miss_access deny all
#
# Control d'acces del proxy a l'exterior
#acl locals dst 192.168.202.0/255.255.255.0
#always_direct allow locals
#always_direct allow localhost
#never_direct deny locals
#never_direct allow all
#
# Control de l'aplicacio de monitoritzacio cachemgr.cgi
cachemgr_passwd disable shutdown
cachemgr_passwd squid all
#
# Correu electronic de contacte amb l'administrador
cache_mgr [email protected]
#
#  Nivell i rotacio del registre de funcionament (logs)
cache_store_log none
debug_options ALL,1
logfile_rotate 1

En negreta, les línies que hem afegit. Hem introduït les 5 directives primeres per a que els usuaris es puguin autenticar al servei Squid:

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

On:

  • program: El helper de ncsa
  • children: El número de processos d'autenticació que s'engeguen. Quan més usuaris tingueu que utilitzin el sistema de forma concurrent major haurà de ser aquest número
  • realm: Nom del reialme d'autenticació. És part del text que veuran els usuaris quan els hi preguntin per l'usuari i la paraula de pas
  • credentialsttl: Temps que es mantindrà un usuari logat
  • casesensitive: Especifica si els noms d'usuari són case sensitive.


Després hem definit l'ACL:

acl ncsa_usuaris proxy_auth REQUIRED

i la seva regla d'aplicació:

http_access allow ncsa_usuaris

Finalment hem introduït la directiva que executa l'script per a fer la redirecció cada 10 segons:

#Regla que executa l'script que fa un redirect cada 10 segons  
redirect_program /home/guifi/squidredir.sh 301:http://guifihotspot.iesebre.com 10

Ja per acabar, el que farem serà guardar el fitxer i reiniciar el servei amb la comanda:

$ sudo /etc/init.d/squid3 reload 
*Reloading Squid HTTP Proxy 3.x configuration files
...done.

Comprovació de l'autenticació d'usuaris en el Proxy

Una volta hem solucionat el problema de la directiva redirect_program i li hem dir al proxy que torni a llegir la seva configuració amb la comanda:

$ sudo /etc/init.d/squid3 reload

Passem a comprovar si funciona, és a dir, hem de configurar el navegador web del client per a que utilitzi un servidor intermediari o proxy per a poder navegar. Per a fer això, anem al menú del navegador i escollim les caselles següents:

Edita > Prefrències > Avançat > Xarxa > Paràmetres

i allí seleccionarem Configuració manual del servidor intermediari. Després introduïm el nom o la direcció IP del servidor Proxy i el número deport per el qual escolta el servidor Proxy.

Jc050620111.png


Una volta apliquem els canvis veiem com per a poder navegar ens apareix una finestra per a poder autenticar-nos a través del servidor Proxy.

Jc050620112.png

Tot seguit, passem a navegar per Internet. Segons la directiva redirect_program....., ens ha de fer una redirecció a la pàgina web del Portal Captiu cada 10 segons; i quan intento fer una cerca d'una pàgina web qualsevol, el que em mostra el navegador és el Portal captiu enlloc de la cerca que li he demanat.

Jc060620112.png

Laboratori de proves

Una volta hem fet totes aquestes proves, hem passat a posar-les en pràctica real sobre la xarxa Guifi.net que tenim implementada al centre.

RB600A


Tot seguit amb el Wine i el Winbox, hem passat a configurar la MotherBoard RB600A. Per començar, el que hem fet és accedir al node que hi ha a l'Institut de l'Ebre de la xarxa Guifi.net i hem procedit a treure els tres Hotspots que estaven en funcionament i passarem a crear-ne un únic Hotspot per la interfície 6 d'una MotherBoard RB600A.


Aquí hi ha un enllaç al web del fabricant de la MotherBoard RB600A, el fabricant és Mikrotic




Hem anat a Interfaces > Interfaces List del menú de l'esquerre. Hem seleccionat la interfície en la qual treballarem li donem el nom de Wlan6, Proves Hotspot i li introduïm les dades que es veuen en la següent captura:

060620113.png
  • Mode: el mode en què funciona l'antena, en aquest cas funciona com un Acces Point
  • Band: quin tipus de banda Wifi utilitza, és a dir, WIFI utilitza 2 freqüències (bandes):
Banda dels 2,4Ghz
Banda dels 5Ghz 

A cada banda hi han múltiples canals per tal de ser compartits per múltiples xarxes WIFI. Per exemple a 2,4Ghz hi han 14 canals

  • Frequency: és el número de canal que utilitza. Veure el següent quadre sobre els canals que hi ha a 2,4Ghz:
Canal Freqüència
(MHz)
Nordamerica
Japó Resta del mon
1 2412
2 2417
3 2422
4 2427
5 2432
6 2437
7 2442
8 2447
9 2452
10 2457
11 2462
12 2467 No
13 2472 No
14 2484 No Només 11.b No
  • SSID: el nom de la xarxa, és el nom que veuran els clients per a connectar-se.
  • Security Profile: és el perfil de seguretat que establim per a la xarxa; el deixem per defecte.

El següent bloc fa referència a la configuració de l'antena física. On hem de seleccionar:

  • Country: el país on establim l'antena perquè depenent del país on estem, els llindars de potència de l'antena són uns o són uns altres.
  • Antenna Mode: en aquest cas seleccionem aquest tipus d'antena.
  • Antenna Gain: és el guany de potència que li podem donar a l'antena. Les potències s'expressen en Watts però en telecomunicacions és més habitual utilitzar el dBm. El dBm és una mesura que compara una senyal amb la senyal de referència 1mW:
   ...
   -20dBm = 10 µW = 0,01mW
   -10dBm = 100 µW = 0,1mW
   0 dBm = 1mW
   10 dBm = 10 mW
   20 dBm = 100 mW
   30 dBm =1 W = 1000 mW 

La potència d'emissió ve donada per l'antena (guany). Una antena millor no fa que vagi més ràpida la xarxa però sí que augmenta la cobertura. La velocitat (transfer rate) s'ajusta amb la distància. A Espanya, la potència màxima d'una antena no pot ser superior a 15dbm, o el que és el mateix 1watt.

El llindar mínim de recepció. Hi ha una potència mínima rebuda necessària per tal de poder comunicar-se. Aquesta potència ha de ser superior al soroll de l'aire i per tant és el soroll el que determina aquest llindar.

La podem consultar amb la comanda iwconfig:

$ sudo iwconfig wlan0
wlan0     IEEE 802.11bgn  ESSID:"guifi-iesebre-obert"  
         Mode:Managed  Frequency:2.412 GHz  Access Point: 00:1A:2B:48:88:BC   
         Bit Rate=54 Mb/s   Tx-Power=19 dBm   
         Retry  long limit:7   RTS thr:off   Fragment thr:off
         Encryption key:4330-3031-4432-3044-3333-3235-39
         Power Management:off
         Link Quality=89/100  Signal level=-30 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:757   Missed beacon:0


A continuació, hem a anat a IP > Addresses > Address List i allí, a la interfície Wlan6, li hem donat una direcció IP d'una xarxa determinada. En aquest cas li hem donat la direcció IP 192.168.106.1/24, tal i com es veu en la captura:

060620114.png


Després li hem d'activar un servidor DHCP per a la interfície Wlan6, per a que d'aquesta manera doni configuració de xarxa per a tots els clients que s'hi connectin. Ho farem anant a IP > DHCP Server.

060620115.png

Quan activen el servei DHCP a la interfície Wlan6, veiem que automàticament ens d'ona un pool de direccions IP per defecte, en aquest cas, ens dóna el pool hs-pool-wlan6. Si anem a IP > Pool veiem quines direccions donarem per DHCP a través de la interfície Wlan6.

060620116.png

Com es pot veure en la captura anterior, el pool de direccions va de la direcció IP 1892.168.106.2 a la direcció IP 192.168.106.254.

En aquest moment ja podem connectar-nos a la xarxa Wifi, com es pot veure en la següent captura el client ja la detecta encara que amb alguns problemes, ja que el client no detecta la xarxa si es troba a sota de l'antena; el client s'ha de desplaçar una mica.

Jc0606201113.png

Comprovem que ens ha configurat bé la xarxa amb la comanda:

$ ifconfig
wlan0    Link encap:Ethernet  HWaddr c4:17:fe:48:b1:90  
         inet addr:192.168.106.254  Bcast:192.168.106.255  Mask:255.255.255.0
         inet6 addr: fe80::c617:feff:fe48:b190/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:367 errors:0 dropped:0 overruns:0 frame:0
         TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:73008 (73.0 KB)  TX bytes:17538 (17.5 KB)

No sabem perquè ha començat a donar la configuració de xarxa pel final del pool, però tenim connexió.

# ping 10.36.253.6
PING 10.36.253.6 (10.36.253.6) 56(84) bytes of data.
64 bytes from 10.36.253.6: icmp_req=1 ttl=64 time=0.216 ms
64 bytes from 10.36.253.6: icmp_req=2 ttl=64 time=0.202 ms
64 bytes from 10.36.253.6: icmp_req=3 ttl=64 time=0.192 ms
64 bytes from 10.36.253.6: icmp_req=4 ttl=64 time=0.199 ms
64 bytes from 10.36.253.6: icmp_req=5 ttl=64 time=0.143 ms
64 bytes from 10.36.253.6: icmp_req=6 ttl=64 time=0.202 ms

Una vegada hem arribat a aquest punt procedirem a crear un VirtualHost com hem fet en el punt4.1 però en aquest cas, ho hem fet pel port 8081 enlloc del port 81 que hem fet en l'exemple anterior.

Per dir-li que escolti pel port 81 s'ha d'editar el següent fitxer

$ sudo nano /etc/apache2/ports.conf 

I introduir-hi el següent contingut:

NameVirtualHost *:8081
Listen 8081 

Nota:Aquí hem posat el port 8081 però pot ser un altre port com ara el port 8080 o 81.

Darrera de les línies següents:

NameVirtualHost *:80
Listen 80

En el següent pas, hem de configurar el Virtual Host, podem utilitzar com a plantilla el Virtual Host per defecte:

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/guifihotspot.iesebre.com

El fitxer /etc/apache2/sites-available/guifihotspot.iesebre.com conté la configuració del nostre portal captiu, l'editarem per tal d'adaptar-lo a les nostres necessitats. En negreta trobarem les línies canviades. El contingut del fitxer és el següent:

$ sudo nano /etc/apache2/sites-available/guifihotspot.iesebre.com
<VirtualHost *:8081>
      ServerAdmin [email protected]
      DocumentRoot /var/www/chroot_guifihotspot.iesebre.com/guifihotspot.iesebre.com
      <Directory />
              Options FollowSymLinks
              AllowOverride None
      </Directory>
      <Directory /var/chroot_guifihotspot.iesebre.com/guifihotspot.iesebre.com/>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
      </Directory>
      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      <Directory "/usr/lib/cgi-bin">
              AllowOverride None
              Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
              Order allow,deny
              Allow from all
      </Directory>
      ErrorLog  /var/log/apache2/error_guifihotspot.iesebre.com.log
      # Possible values include: debug, info, notice, warn, error, crit,
      # alert, emerg.
      LogLevel warn
       CustomLog /var/log/apache2/acces_guifihotspot.iesebre.com.log combined
       ErrorDocument 404 /index.php
      Alias /doc/ "/usr/share/doc/"
      <Directory "/usr/share/doc/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order deny,allow
      Deny from all
      Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>
</VirtualHost>

En el següent pas, crearem la carpeta que contindrà el Portal captiu, és a dir, la pàgina web:

$ sudo mkdir /var/www/chroot_guifihotspot.iesebre.com/guifihotspot.iesebre.com Comprovem que la carpeta s'ha creat:

$ ls /var/ backups lib lock mail run tmp guifihotspot.iesebre.com cache local log opt spool www

Després activarem el mòdul que hem creat anteriorment:

$ sudo a2ensite chroot_guifihotspot.iesebre.com/guifihotspot.iesebre.com
Enabling site chroot_guifihotspot.iesebre.com/guifihotspot.iesebre.com.
Run '/etc/init.d/apache2 reload' to activate new configuration!

A continuació pugem els fitxers de joomlaque en realitat són els fitxers que configuren la pàgina web; els pugem a través del client FTP Filezilla.

I recarregarem la configuració al servidor Apache:

$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2                                     [ OK ]

També hem introduït la nova pàgina web als dos servidors DNS de L'Institut de l'Ebre a través de l'aplicació Gosa amb un paràmetre IN CNAME.

Un cop hem carregat la nova configuració al Servidor Apache, ens connectem via web al servidor però pel port 8081. Amb el següent resultat:

Jc0606201110.png


Per finalitzar el laboratori, cal afegir una regla NAT a la MotherBoard RB600A. En aquest cas,el que necessitem, és que qualsevol client que es connecti a la xarxa amb SSID guifi-iesebre-obert, sigui redireccionat cap a la pàgina web que hem creat. Per tant, per crear aquesta regla hem d'anar a IP > FIrewall i seleccionar la pestanya NAT.

Un cop allí, seleccionem el signe + i completem les caselles tal i come es veuen en les següents dos captures:

Jc0606201111.png
Jc0606201112.png

Aquest regla NAT significa que tot allò que li entri a la MotherBoard pel port 80 ho redireccioni a la màquina 10.36.253.6 pel seu port 8081. La màquina que té aquesta IP és la màquina que allotja el Portal Captiu. T A diferència d'altres proves anteriors(com la que hem fet amb el proxy), aquesta regla del NAT, el que fa és redireccionar qualsevol petició web, cap al Portal Captiu pel port 8081; és a dir, sempre apareix el Portal Captiu(en la prova amb proxy, el Portal Captiu només apareixia cada 10segons).


Treball en equip

Contribuïdors

En aquest crèdit de síntesi hi intervenen els alumnes Jesús Curto Mauri i David Rosell Mauri. Aquí hi ha un enllaç a la seva pàgina principal:

Vegeu també:

Enllaços externs