Category: Networking and Internet

Generador registre SPF pel DNS

Reading time: < 1 minute Per casualitat he trobat una eina que pot ser molt útil si heu de crear el registre TXT del DNS, amb les dades SPF necessaries pel vostre domini. Curiosament és una web de Microsoft, com que aquesta colla tot ho fan igual s'ha de dir que ho han fet en forma d'assistent.

A més de la mateixa web he extret aquest gràfic que és força explicatiu del que és i com funciona el SPF:

SPF schema

iubui surt a la llum

Reading time: 2 – 4 minutes

logo iubui by enixit

Doncs només fa unes hores que ha sortit a la llum iubui l’empresa del meu gran amic Oriol. En la que a més també hi tinc alguna coseta a veure encara que sigui molt petita. Ja que he montat el servidor web. De fet, el gran mèrit obviament és de l’Oriol i és a qui li disitjo tota la sort del món. Per això també hi vull contribuir amb aquest petit gra d’arena. És a dir, intentant portar-li alguna que altre visita des d’aquest blog.

Potser ja comença a ser hora que expliqui alguna cosa del projecte, no? doncs bé, jo ho explicaria com un sistema de donar-li la volta a eBay, és a dir, encomptes d’anar a oferir coses perquè d’altres facin una puja per comprar-les. Aquí es tracta de fer un matching entre la gent que vol oferir coses i la gent que vol demanar coses. Però no pas com uns simples classificats sinó algo més elavorat i aprofitant la semàntica de la informació perquè la pròpia web ajudi a posar en contacte els compradors i venedors.

Segurament es pot explicar millor, per això des d’aquí convido a l’Oriol Mercadé a participar en el meu següent podcast on estaria bé que ens expliques algo més sobre iubui, a veure si realment el projecte té la vida que tots esperem.

UPDATE: demano el vot al Newsroom de MobuzzTV per l’article que parla de iubui.

UPDATE 2: bona descripció del Ferran, un dels programadors de iubui:

iubui.com. No busques, Pídelo! Se trata de ver la compra-venta de productos y servicios desde un nuevo paradigma que sólo es posible gracias a Internet. Iubui es una plataforma donde, por primera vez, el protagonista no es el vendedor ni lo vendido. El protagonista es el comprador, sus necesidades y sus condiciones: con el proyecto iubui el comprador ya no necesita hacerse un experto en lo que va a comprar, no necesita conocer donde se vende lo que quiere, ni necesita gastar tiempo y energías para realizar una compra. Con la plataforma iubui son los proveedores los que aconsejan al comprador, los que ofrecen sus producto y gastan energías en lo que les aporta beneficio. Y iubui.com ya es una realidad, hoy empezamos a operar. Si queréis y tenéis tiempo os invito a que pidáis todo aquello que necesitéis y tengáis paciencia porque estoy seguro que os harán ofertas muy interesantes.

Actualitzar Ubuntu Dapper (6.06) a Hardy (8.04) LTS

Reading time: 2 – 2 minutes

Com ja vaig comentar en el segon podcast acostumo a montar Ubuntu LTS com a servidor de producció pels clients. Així doncs, estem apunt de veure la nova versió d’aquest aplicatiu i passarem de la versió 6.06 a la 8.04. Només volia fer-vos saber que ja he fet dues actualitzacions i ambdues m’han funcionat prou bé. Això si s’ha de dir que es triga força estona i després val la pena invertir un rato en mirar que els fitxers de configuració dels aplicatius que usabeu quan s’han actualitzat continuen funcionant bé.

Les instruccions per fer l’actualització són força senzilles. Primer de tot comenceu per actualitzar la versió que ja teniu funcionant:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Ens assegurem que a /etc/apt/sources.list tenim el següent contingut:

deb http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse

Instal·lem l’eina per fer actualitzacions de versió al servidor:

sudo aptitude install update-manager-core

Finalment arriba l’hora de la veritat, fem l’actualització a l’última versió:

sudo do-release-upgrade -d

NOTA: fixeu-vos que uso el paràmetre -b això és perquè a l’hora d’escriure l’article encara falten quatre dies perquè surti oficialment la versió estable de la Ubuntu 8.04 LTS (alias Hardy).

Com deia doncs, a mi això m’ha funcionat prou bé. Comentar que aquest article és bàsicament una traducció d’un article d’Ubuntu Tutorials, que és d’on he seguit les instruccions per fer les actualitzacions.

Rack Tables: inventari dels servidors que tenim als racks

Reading time: 2 – 3 minutes

racktables.png

A primer com de vista i pel que puc veure en la demo, ja que no l’he usat mai encara, m’agrada molt el que preten fer el Rack Tables. Bàsicament la idea és mantenir un inventari de què hi tenim montat a cada un dels armaris rack que tenim destribuits per tot el món. Això quan tens un garbuix al cap del que té cada client com em passa a mi sovint pot ser molt útil. Sobretot perquè s’hi poden adjuntar fotografies o portar un control exahustiu de les U’s que hi tenim lliures, dels ports de switch ocupats, etc. Per tant, diria que és una eina molt recomanable per administradors de sistemes. Fins hi tot diria que imprescindible per admins d’empreses de serveis que no tenen contacte diari amb els datacenters dels clients.

També permet portar un registre dels espais d’IPv4 en això s’assembla una mia al IPplan malgrat les funcions d’aquest aplicatiu són molt més simples i es redueixen a funcions purament d’inventari. Al estar orientat a servidors ens permet mantenir un registre dels serveis virtuals que tenim corrent, pools de màquines i fins hi tot algunes funcions de monitorització a nivell de gràfiques sobretot. Per cert, m’agradaria descatar que potm ostrar l’estat dels balancejadors de carrega web, per exemple.

És important recordar que és una eina d’inventari, en això vull dir que el que aquí interessa no és pas veure com les coses canvien en temps real. Sinó poder mantenir un registre de com tenim o volem tenir montada l’infraestructura. És a dir quelcom més proper a una ajuda per mantenir la documentació que no pas una eina de supervisió. Per això ja tenim nagios, no?

No ho havia comentat però l’aplicació funciona via web i malgrat no m’hi he fixat massa diria que és la típica aplicació feta amb PHP i MySQL. Potser per ser una aplicació web la trobo una mica massa anticuada tan en el disseny com en la poca introducció de funcionalitats AJAX que la facin més usable i atractiva a l’usuari.

SMB per FUSE (fusesmb)

Reading time: 2 – 2 minutes

FUSE com segur que ja sabeu es carrega com un mòdul del kernel i ens permet accedir al sistema de fitxers a través des d’una aplicació d’usuari, és a dir a una aplicació que no necessariament ha de tenir permisos d’administrador. Doncs bé en aquest cas es tracta de navegar pels WORKGROUPS, hosts, shared folders i impresores publicades a la xarxa a través del protocol SMB. Perquè ens entenguem el protocol que usa windows de tota la vida per compartir recursos de xarxa. Doncs amb el petit aplicatiu del que parlo podrem navegar per tots aquests recursos de xarxa com si es tractés de directoris del nostre sistema de fitxers linux. Realment útil i còmode això de poder accedir a recursos de xarxa sense haver de montar aquests recursos des de la nostre CLI.

Si els recursos de xarxa compartits ho estan sota autenticació al accedir al directori que representa el recurs en denegarà l’accés. Perquè això no passi cal passar com a paràmetres del fusesmb el nostre usuari i paraula de pas del recurs de xarxa. El dolent, és que si tenim diversos usuaris per autenticar-nos segons el recurs no ho podrem expresar des d’una mateixa instància del programa. Així doncs, pel meu gust li falta algun petit workaround que ens llenci interactivament la pregunta d’usuari i paruala de pas a l’entrar a un recurs protegit.

Malgrat això el fusesmb considero que és una eina molt còmode per accedir als recursos de xarxa sobretot si hi podem accedir amb el mateix usuari i password, o sigui, el que acostuma a passar si la xarxa a la que estem és la nostre.

p4p la evolució del p2p

Reading time: 1 – 2 minutes

Aquesta setmana arran d’un article de bandaancha he descobert el P4P. La idea té molt bona pinta, a més és una solució en la que sembla que tots hi sortirem guanyant els usuaris de P2P i els operadors. Es tracta de que quan fem una connexió P2P el ISP intentarà que el tràfic dels nostres peers vingui de dintre de la mateixa xarxa. Així doncs, l’operador no ha d’enviar tràfic cap a d’altres operadors sinó que tot queda a casa. A més als usuaris ens beneficiem perquè ens arribarà més ràpid.

p4p.png

Doncs pel que he pogut investigar el tema esta encara molt verd. Ja que no he trobat cap prova de concepte i tampoc cap snippet ni res de res. Així doncs encara estic amb les ganes de veure alguna cosa decent. Tot i que resulta que hi ha operadors com Telefonica que estan fent proves, estaria bé que expliquessin com. Perquè molt presentar resultats però res més.

Si algú sap algo del tema que avisi…

openfiler: potent i complicat de configurar

Reading time: 18 – 30 minutes

M’ha costat deu i ajuda posar a funcionar l’openfiler al final ja era una qüestió d’honor. Després de provar amb la versió pre-instal·lada com appliance i amb dues versions instal·lades per mi no hi havia manera de que funcionés tot plegat com volia.

Problema reconeixer volums lògics pre-creats

El primer gran problema ha estat que jo ja tenia un volume group creat, amb dos logic volumes (unitats lògiques d’informació usades per LVM). Doncs bé malgrat el linux me’ls retornava sense problemes amb el vgdisplay i lvdisplay quan anava a l’interficie de l’openfiler no hi havia manera que apareguessin els volums lògics. El grup de volums si que sortia però els lògics no. Doncs bé la solució l’he trobat després de molt buscar pels forums a aquest thread: How to get volumes back after reinstallation without config backup.

La gràcia esta en un script que bàsicament genera un fitxer XML de configuració que usa l’openfiler per saber quins volums hi ha al sistema: /opt/openfiler/etc/volumes.xml. El fitxer és força simple i només té una llista de volums lògics relacionats a un grup de volums. L’script també afegeix al /etc/fstab les línies necessaries perquè aquests volums lògics es montin a l’arrancar el sistema.

Còpia de l’script que he trobat al forum: remake_vol_info.

Problema LDAP amb tots els serveis i especialment amb el SMB

Doncs bé, aprofitant que openfiler porta un servidor LDAP volia gestionar les comptes de tots els serveis a través d’un únic punt. Així doncs, el primer problema ha estat saber com activar el servidor que porta internament perquè la documentació no ho explica massa bé, ja que si anem a serveis i li fem un enable sense donar cap error no s’aixeca ni a la de tres. Aprofito per comentar que la interficie gràfica de l’openfiler és realment pèssima i difícil d’entendre. A més, l’experiència d’usuari esta molt poc cuidada perquè moltes coses donen errors i no ho explica retorna enlloc. Així doncs t’hs de buscar la vida monitoritzant els fitxers de logs del linux que té per darrera.

Llavors he intentat actualitzar el sistema a través de la funció d’update que porta la pròpia interficie. Doncs be, també fallava així doncs ho he provat des de la línia de comandes amb un simple:

conary updateall

La cosa fallava amb el mateix error:

...
Warning: Unhandled exception occured when invoking callback
/user/lib/pgthon2.4/site-packages/conary/streams.py:416
...

Després de googlejar una bona estona, la solució ha estat:

conary update conary --replace-files
conary updateall --replace-files

Amb això he aconseguit finalment fer update. Però el problema amb LDAP continuava igual. Al final he deduit que si posava la informació a accounts -> authentication. Amb el password que he posat al fer la instal·lació per l’usuari de configuració del web la part d’usuaris i grups semblava que s’activa i el LDAP server començava a funcionar tot solet.

ldap.png
<div class="imatge" style="text-align: center;"></div>

Així doncs, he pogut accedir a la gestió de comptes i crear un grup d’usuaris i un usuari de proves. Doncs bé, després de suar tinta per entendre tot el tema de gestió de shares i de veure que no hi havia manera d’accedir als recursos compartits de forma autenticada, he decidit aprofitar la meva experiència en linux per veure com estava tot configurat.

La qüestió és que he vist que tan el SMB, com el FTP, HTTP/WebDav, etc. anaben contra PAM però aquest no tenia configurat cap enllaç cap a LDAP, per tant, per molt que estigués funcionant era impossible que mai autentiques cap usuari.

Llavors he executat el authconfig per configurar l’autenticació PAM contra LDAP, i l’he deixat així:

<div class="imatge" style="text-align: center;"><img title="authconfig screenshot" src="http://fitxers.oriolrius.cat/2185/authconfig_thumb.png" alt="authconfig.png"><br><br><a href="http://fitxers.oriolrius.cat/2185/authconfig.png">original size</a></div>

Al marcar l’autenticació LDAP per SMB, no ús ho perdeu m’ha dit que faltava el paquet pam_smb, o sigui, el pàquet de PAM que té el handler capaç de gestionar la connexió contra LDAP pel samba. Algú em pot explicar com pretenien la gent d’openfiler autenticar samba amb LDAP si no hi havia això instal·lat? aquí ja he arribat a la conclusió que això de l’openfiler esta verdíssim.

Bé doncs, després de suar una mica amb tot això que comento ja funciona tot contra LDAP a la perfecció!!! realment he de reconeixer que sóc una persona obstinada,eh!? perquè n’hi ha per deixar-ho correr. Després de tot el que he explicat i les hores que he hagut d’invertir per descobrir-ho.

Rendiment OpenFiler virtual

Reading time: 8 – 14 minutes

Porto tot el dia fent proves amb l’OpenFiler com a màquina virtual dins del servidor HP que estic montant. Doncs, bé apart dels detalls tècnics volia fer una simple i interessant prova que després de veure el resultat encara em té estorat. He fet un test de velocitat amb el hdparm per saber la velocitat de transferència entre l’ubuntu que fa de servidor d’VMWare i un disc dur de 750Gb:

root@vm0:~# hdparm -t /dev/sdc1
/dev/sdc1:
 Timing buffered disk reads:  314 MB in  3.02 seconds = 104.11 MB/sec

Després des de la màquina virtual amb OpenFiler (basat en linux Red Hat) he fet la màteixa prova:

[root@nas0 ~]# hdparm -t /dev/sdb1
/dev/sdb1:
 Timing buffered disk reads:   66 MB in  3.05 seconds =  21.65 MB/sec

Malgrat el nom del dispositiu surti diferent el dispositiu és el mateix, això passa perquè en la màquina virtual el dispositiu no és el tercer dispositiu ‘SATA‘, sinó el segon. La màquina virtual té capturat el dispositiu físic, així doncs trobo que la diferència de velocitat és exagerada. També s’ha de comentar que l’OpenFiler no m’ha deixat instal·lar-se en 64bits sobre VMWare i ho he hagut de fer amb 32bits, no sé pas si aquesta diferència tan brutal pot ser deguda a això.

Els recursos que tinc assignats a l’OpenFiler són:

nas0.png
<div class="imatge" style="text-align: center;"></div>

Si algú té la possibilitat de fer alguna prova semblant, o l’ha fet que avisi. De totes formes, diria que amb màquines virtuals de 64bits no puc capturar el dispositiu real o això m’ha semblat llegir que deia el VMWare. Gran defecte sota el meu punt de vista.

Istanbul una aplicació per capturar screencast

Reading time: 1 – 2 minutes

screencast.png

Abans d’anar al CeBIT vaig capturar uns screencast per tal de fer una demostració de les aplicacions de movilpoint. Doncs bé, malgrat l’edició la va fer el Law amb software propietari la captura la vaig fer Istanbul. Comentar només que les sessions que es capturen queden com videos Ogg Vorbis així doncs, també podem capturar audio al mateix temps que la pantalla. Malgrat això els videos que varem fer a movilpoint estan subtitulats en anglès i no tenen so.

Potser el que més m’agrada és la capacitat d’escollir una aplicació i gravar tot el que aquesta aplicació fa. També és interessant la capacitat de poder marcar una zona de la pantalla on es capturarà. Comentar que si treballeu amb més d’una pantalla el video també pot ser de les pantalles que tingueu. Obviament després és una mica engorrós de mirar. Això si, si teniu més d’un workspace i decidiu canviar mentre esteu gravant el screencast no es mantindrà en l’espai de treball original.

mikrotik: failover gateway

Reading time: 12 – 20 minutes

Avui he refrescat una mica la meva memòria, feia algún que altre mes que no jugava amb els mikrotik. Doncs bé, per un client havia de montar un failover gateway i com que ja sabeu que sóc un fan declarat dels mikrotik per fer això he usat un RB150. Per si això ús sona a xinès segur que amb una petita explicació ho trobareu molt útil. Doncs bé, cada cop més empreses tenen dos sortides a internet i el que volen és que quan alguna de les dues sortides caigui l’altre sortida assumeixi tot el tràfic sense haver de tocar res.

Obviament per fer això el que hem de tenir és un element que s’encarregui de redirigir tot el tràfic cap a un router o cap a l’altre segons si la sortida a internet esta fallant o no. La solució que plantejo és molt simple i pot perfeccionar-se moltíssim. Per exemple, l’únic que explicaré és a usar un dels dos routers i quan aquest falla enviar el tràfic cap a l’altre però no és gaire difícil crear unes policy routes per balancejar tràfic entre els dos routers mentre aquests estiguin operatius. Però per no liar la cosa em quedaré amb l’exemple bàsic. A partir d’aquí, la base estarà més que feta perquè feu coses més xules.

routerboard-inabox-02.png
<div class="imatge" style="text-align: center;"></div>

escenari

El RB150 tindrà a l’ethernet 1 la xarxa LAN. A la ethernet 4 la WAN1 i a la ethernet 5 la WAN2. Amdues interficies tenen el router ADSL en monopuesto. O sigui, que tinc la IP pública a l’interficie del router.

funcionament

Per defecte, sortirem per la WAN1 i quan aquesta falli sortirem per la WAN2.

configuració

Assumeixo que les configuracions bàsiques ja estan fetes, o sigui, assignació d’IPs a interficies i l’enmascarament d’IP internes cap a internet. Això suposo que no té cap dificultat si algú necessita ajuda que avisi.

Creem dos scripts a llençar quan s’hagi de llençar la connexió via WAN1 i l’altre via WAN2:

Script per la WAN1:

:log info wan_1
/ip route set [/ip route find dst-address="0.0.0.0/0"] gateway=IP_GW_WAN1

Script per la WAN2:

:log info wan_2
/ip route set [/ip route find dst-address="0.0.0.0/0"] gateway=IP_GW_WAN2

Si ens interessa en cada un dels scripts hi podem afegir el que calgui. Per si no esteu habituats a treballar amb scripts al mikrotik els heu de colocar a /system scripts. Allà afegiu dues entrades i llestos. Com sempre això serà molt més còmode fer-ho des del winbox que no pas des de la cli.

Ara només cal que creem una entrada a l’eina netwatch, això es fa a /tool netwatch. A l’entrada li direm que faci pings cada un interval de temps que decidirem i que tingui un timeout fixe i si els pings no tornen llavors s’executarà l’script indicat. Bàsicament le entrades de netwatch tenen dos estats el up i el down i podem associar un script a llençar en cas de que hi hagi una oscil·lació cap a un dels dos estats. Això es fa així:

add host=208.67.222.222 timeout=10s interval=1m up-script=wan1 down-script=wan2 \
comment="Failover Gateway Script" disabled=no

El que fem és mirar si arribem a un dels servidors d’OpenDNS cada 1minut i ens esperem com a molt 10s perquè el ping torni. Després fixeu-vos com associem cada un dels scripts que em programat abans als estats d’aquesta prova.

Com podeu veure això és ben senzill, la gràcia esta en que jugueu amb els ECMP i els policy routing i feu del RB150 tot un balencejador de càrrega amb suport de fallides de línia. També és molt senzill que balancegeu el tràfic d’entrada d’internet cap a una ADSL o cap a l’altre, per fer això ús recomano que jugueu amb el DDNS que podeu actualitzar a través dels scripts comentats, només cal que li llenceu la petició d’actualitzar la IP associada al DDNS i els usuaris remots entraran per una o altre línia.

Scroll to Top