OpenVPN roadwarrior over PROXY
Com ja sabeu fa uns dies em vaig montar un sistema per poder anar pel món amb el portàtil i connectar-me a la xarxa interna de casa, des de qualsevol lloc. Doncs bé hi ha llocs on no tenim una sortida a internet sinó que aquesta és a través d’un proxy, a vegades fins hi tot autenticat. Fins hi tot ens podem trobar en que no tenim ni DNS a la xarxa en la que estem sinó que tot es fa a través de l’HTTP PROXY.
Doncs bé quan ens ho posen tan difícil també podem usar l’OpenVPN per connectar a casa i fins hi tot navegar per internet a través de la xarxa de casa disfrutant de tots els serveis de la xarxa i no amb els ports ‘capats’ com ens obliga el proxy/firewall de torn. L’únic que cal és modificar la configuració del client d’OpenVPN per poder sortir a través del proxy de torn contra el port del servidor de l’OpenVPN que tenim a casa.
Al document on explicava com connectar-nos per VPN a casa, sent nosaltres roadwarriors, vaig posar el servidor al port 443/TCP. Doncs ara veieu el motiu, la idea és que si el servidor esta en aquest port el servidor proxy ens deixa passar a través seu per connectar-hi pensant que on connecteu és una web segura (HTTPs), al accedir a un servei xifrat el proxy/firewall no poden inspeccionar els paquets que passen a través seu i podem establir la VPN usant com a protcol de transport el SSL.
A continuació encomptes d’ensenyar-vos una connexió real amb un proxy d’una empresa el que faig és usar un proxy públic dels que hi ha per poder navegar de forma anònima per internet. Si en voleu una llista la podeu trobar a: llista pública de proxies. Concretament per la configuració de prova jo he usat el 194.80.193.161 pel port 8082. Així doncs al fitxer de configuració del client he afegit:
http-proxy 194.80.193.161 8082
Per disimular encara més el rastre de la vostre VPN podeu usar les següents comandes i el firewall en qüestió, ni tan sols olorarà que monteu una VPN:
http-proxy-option VERSION 1.1 http-proxy-option AGENT "compatible; MSIE 6.0; Windows NT 5.1"
Molt senzill,oi? si el proxy és autenticat podeu consultar el man openvpn les comandes per enviar l’usuari i el password. A mi de moment no m’ha calgut.
Apa doncs ja poden anar posant servidors proxy i firewalls que nosaltres ens les continuarem empescant per sortir a internet com deu mana i no pas reduint internet al servei de web. Que tot i ser dels més usats sempre és limitadíssim.
TinyGentoo i Abyss WebServer
TinyGentoo: Un petit howto de com ens podem montar una gentoo ben petitona tan pels nostres projectes embeded com per posar dins d’un DOM o un pendrive.
Parlant de coses petites no em podia oblidar parlar del Abyss Web Server un petit servidor web que vaig descobrir fa molt de temps. Malgrat podria servir per molts petits sistemes de producció el trobo l’eina perfecte per ’embedir’ dins d’un dispositiu mòbil o petit.
Algunes de les seves funcions són més que interessants com per exemple els S.O. soportats: Windows, MacOS X, Linux i FreeBSD. Suporta HTTP/1.1 i a més pot generar continguts amb temps d’execusió amb múltiples sistemes: CGI/1.1 scripts, ISAPI extensions, Server Side Includes (SSI). O sigui, que si voleu també hi podeu instal·lar un motor de PHP. Suporta pàgines d’error personalitzades, protecció per password, control d’accés per IP, anti-leeching i control d’ampla de banda. També diposa d’una interficie via web per configurar el servidor i moltíssimes més coses.
Ara bé lo dolent, la versió més completa és de pagament la versió X2, però la versió X1 és gratuïta i jo diria que és més que suficient per moltíssims projectes. Per cert, per instal·la-lo és tan senzill com descarregar-lo, descomprimir-lo i executar-lo. Connectem al port 9999 a través del navegador: http://localhost:9999 i a configurar-lo via web. Jo diria que no esta disponible el codi font :'(
Un parell de servers web molt lleugers també són:
DOM: DiskOnModule
Avui he descobert aquesta petita meravella de la tecnologia, resulta que hi ha uns discs flash (Fast electronic memory) que disposen directament d’interficie IDE tan de 40pins com de 44pins (IDE portàtil, amb 4pins d’alimentació inclosos). Doncs lo bo del tema és que es poden endollar directament a la interficie IDE de la placa base com un disc ATA normal. Guapo,eh?!

Els preus són una mica més car que les memòries flash, perquè ens en fem una idea per uns 20€ pots tenir uns 128Mb. Però amb aquest tipus de discs ens assegurem que podem arrencar l’ordinador amb el sistema operatiu que més ens agradi: Linux, Unix, Windows 98, Win CE, Embedded XP, QNX, RTOS etc.
De moment la màxima capacitat d’aquest tipus de discs que he vist és 2Gb però per montar un sistema ’embedit’ amb 128 o 256Mb normalment vas sobrat i si tenim en compte que podem instal·lar un GNAP (Gentoo Network APpliance) que ocupa uns 13Mb encara ens en sobren un munt.
A més de les interficies IDE, també podreu trobar discs amb interficie SATA, SCSI i USB (directes a pinatge de placa no connectors tipus A o B). Recordeu que al no tenir elements mòbils no hi ha temps de latència i a més tampoc hi ha problemes de cops o caigudes del dispositiu. Ideal per aplicacions portatils i amb entorns hostils. A més el rang de temperatures de treball és quasi de -45º a 90º, brutal!
Nanos m’he enamorat… ja tinc ganes de poder provar-los. El lloc on més bé de preu els he trobat és en un distribuidor alemany: Spectra Computersysteme GmbH, a cablematic els he trobat caríssims, ja que els tenen d’una marca americana molt cara. Si algú sap on trobar-los a un preu decent que no sigui tan lluny com alemanya, que avisi.
Curiositat: mira si sóc encantat que quan vaig escriure l’article sobre GNAP la fotografia que vaig enganxar tenia en un racó una foto del DOM que acabo de penjar i ni tan sols hem vaig preguntar què era…
MySQL crash
Per un dia que es posa a ploure i estic a casa treballant, tot un plaer per cert. S’ha posat a fer llamps i trons fins que ha marxat la llum uns 2s en un llamp que ha caigut ben aprop i el pitjor és que el SAI no ha tingut temps de fer saltar la bateria i se m’ha reiniciat el server. Cosa que tampoc seria tan greu si no fos perquè he perdut quasi 1h per poder re-iniciar el MySQL… bé per si a algú li passa algo semblan aquí tenius els sintomes i el remei.
Després de mirar els fitxers de logs de /var/log/mysql tan el mysql.err com el mysql.log. No he trobat res que m’indiques quin era l’error de fet, podriem dir que no hi havia res que parles d’erros. Així que m’he decidit a passar al mètode radical i veure quins errors donaven les cirdes a sistema que feia al llençar el servei:
strace -f -o mysql.trace /etc/init.d/mysql start
L’únic que he trobat és un petit inidcador de que el InnoDB no s’iniciava bé. Gràcies a aquesta pista he arribat fins als formus de gentoo on he trobat aquest post: MySQL doesn’t start anymore after upgrade to 4.0.25 tot i que le títol no és gaire indicatiu del meu problema, en un comentari he trobat la solució:
cd /var/lib/mysql rm ib_logfile0 rm ib_logfile1 rm ibdata1
Tornem a llençar el servei i tot solucionat, s’havien corromput uns fitxers de logs que usa l’storage del motor de MySQL i al borrar-los s’han tornat a generar. Quin patiment per tanta tonteria.
Consum d’ampla de banda de l’OpenVPN
Com que he de montar algunes VPNs amb GPRS/UMTS i l’OpenVPN entre servidors i clients linux, doncs m’he decidit a fer una prova per fer les estimacions de costos d’aquests enllaços. Així doncs m’he ajudat de l’eina mesure feta pel pancake. Una d’aquelles petites meravelles que ens brinda el GPL. Doncs bé amb el codi que veieu he extret el següent calcul:
time ./mesure -i eth0 -K -p "tcp and port 443" 168 real 60m30.922s user 0m0.004s sys 0m0.004s
Com podeu veure he llençat el mesure durant 60min i 30s amb 922ms, el tràfic que s’ha cursat pel port 443 tcp que és on he aixecat i he parat l’VPN durant aquest temps ha estat de 168KBytes. Aquest tràfic sense que per dintre de la VPN passes cap dada meva, simplement dades del propi openvpn per tal de manterir l’enllaç aixecat.
Una altre dada que us pot interessar és que només per aixecar l’enllaç es consumeixen 16KBytes i per baixar-lo uns 2KBytes. Ara cadascu que tregui les seves propies conclusions sobre si és molt o poc.
blogcms v.4.0.0d
Nova versió del blogcms instal·lada, aquesta tarda m’he tirat unes 3h provant la nova versió, però sempre queden coses pendents. Així doncs si troveu alguna nova errada en el blog, o alguna cosa que no va, etc. Aviseu si us plau!