Category: Networking and Internet

gcc-config: escollim versió de GCC instal·lada a usar

Reading time: 1 – 2 minutes

Estic una mica a la parra, fa temps que amb les actualitzacoins de gentoo me n’havia adonat que s’instal·lava el paquet sys-devel/gcc-config.Malgrat sabia que servia amb quina versió de GCC es compilaràn les coses mai havia provat de configurar-ho. Així doncs fa una estona sense venir a compte de res hi he pensat.

Un petit resum de com usar la comanda:

Quina versió de GCC estem usant:

root@mini2 ~ # gcc-config -c
i686-pc-linux-gnu-3.3.6

Llista de versions llestes per usar:

root@mini2 ~ # gcc-config -l
 [1] i686-pc-linux-gnu-3.3.6 *
 [2] i686-pc-linux-gnu-3.3.6-hardened
 [3] i686-pc-linux-gnu-3.3.6-hardenednopie
 [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.3.6-hardenednossp
 [6] i686-pc-linux-gnu-3.4.5
 [7] i686-pc-linux-gnu-3.4.5-hardened
 [8] i686-pc-linux-gnu-3.4.5-hardenednopie
 [9] i686-pc-linux-gnu-3.4.5-hardenednopiessp
 [10] i686-pc-linux-gnu-3.4.5-hardenednossp

Canviem a la versió 3.4.5 del GCC:

root@mini2 ~ # gcc-config i686-pc-linux-gnu-3.4.5
 * Switching native-compiler to i686-pc-linux-gnu-3.4.5 ...
>>> Regenerating /etc/ld.so.cache...                                                                     [ ok ]
 * If you intend to use the gcc from the new profile in an already
 * running shell, please remember to do:
 *   # source /etc/profile

Podem observar que ja em canviat la versió:

root@mini2 ~ # gcc-config -l
 [1] i686-pc-linux-gnu-3.3.6
 [2] i686-pc-linux-gnu-3.3.6-hardened
 [3] i686-pc-linux-gnu-3.3.6-hardenednopie
 [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.3.6-hardenednossp
 [6] i686-pc-linux-gnu-3.4.5 *
 [7] i686-pc-linux-gnu-3.4.5-hardened
 [8] i686-pc-linux-gnu-3.4.5-hardenednopie
 [9] i686-pc-linux-gnu-3.4.5-hardenednopiessp
 [10] i686-pc-linux-gnu-3.4.5-hardenednossp

Buscar fitxers amb el contingut duplicat en linux…

Reading time: 1 – 2 minutes

Sovint costa trobar eines o petits scripts que fassin coses aparenment tan estupides com la comentada. De fet per windows he trobat alguns programes que tenen bona pinta tot i que no els he provat encara. Però per linux m’ha costat una mica més fins que he trobat el fdupes (local). Esta programat en C i realment és molt senzill d’usar i força potent.

També he trobat un petit script en bash que fa una busqueda força rudimentaria però útil en alguns casos:

OUTF=rem-duplicates.sh;
echo "#! /bin/sh" > $OUTF;
find "$@" -type f -print0 |
  xargs -0 -n1 md5sum |
    sort --key=1,32 | uniq -w 32 -d --all-repeated=separate |
    sed -r 's/^[0-9a-f]*( )*//;s/([^a-zA-Z0-9./_-])/\\\1/g;s/(.+)/#rm \1/' >> $OUTF;
chmod a+x $OUTF; ls -l $OUTF

La pàgina on he trobat aquest script és Unix shell script for removing duplicate files.

bash tip: buscant fitxers més nous que…

Reading time: < 1 minute

Petit apunt de sintaxis del find. Com buscar els fitxers creats a partir d’una data.

Primer creem un fitxer amb la data de referència a partir de la que volem fer la busqueda:

touch -t 05231500 fitxer_dataref

Ara busquem els fitxers més nous que el fitxer fitxer_dataref:

find . -newer fitxer_dataref -type f -print

Aquesta tonteria va molt bé envendir-la en petits scripts per borar els fitxers esmentats, per exemple:

for F in `find . -newer fitxer_dataref -print`; do rm $F; done

no és un mòbil, no és una pda… és una internet tablet

Reading time: 2 – 3 minutes

De fet, tothom quan veu el meu nou nokia 770 em pregunta el mateix. Costa definir ben bé què fa i perquè serveix el nokia 770. però la millor definició esta clar que és un internet table. Un dispositiu en linux enquestat, amb prestacions de PDA, completament orientades a la connectivitat amb internet.

nokia_770_internet_tablet.jpg

De fet, no me l’he comprat ben bé, sinó que he fet un trueque amb en Jordi. O sigui, jo li he donat la meva PSP i uns quants calers i ell m’ha donat un 770 encara per obrir que tenia. Només fa unes 24h que el tinc però ja l’he fet servir ben bé unes 3 o 4h. Les impresions són molt primaries i potser el més gran defecte que hi trobo és que és un pel lent. Sobre tot passant pàgines de PDF 🙂 tot i que si desactives el bluetooth i el wireless guanya molta velocitat.

D’altre banda he de dir que estic anciós per fotre-li mà ja que promet molt i al tenir linux darrera això sempre és un alicient més. Et permet arribar més endins i tocar les coses que no t’acaben de fer el pes. De fet, ja hi ha una aplicació que vull tocar una petita cosa que no m’agrada com fa, la de llegir el bloglines.

Ara a esperar el següent capitol… a veure si no em decepciona tan com la PSP, que quan vaig veure que se’m coplicava tan la cosa per escoltar MP3 i llegir PDFs al tren em va durar ben poc. Ja que aquesta és la funció bàsica que li donaré al dispositiu.

Per aprofundir més en les característiques del dispositiu: datasheet.

SVN: Tortoise per Linux i Nautilus-scripts

Reading time: 2 – 2 minutes

Per windows tenim disponible el TortoiseSVN una aplicació que queda instal·lada com a opcions de contexte de l’explorer de windows. Ens permet treballar amb el VCS de forma súper còmode. De fet, el subversion es converteix en algo d’allò més senzill gràcies a aquest aplicació i acabes agafant dependència de l’eina.

Doncs bé aquesta eina com passa sovint no existeix per linux i més concretament com a extenció del nautilus per gnome encara menys. Però avui m’he instal·lat un script de nautilus (concepte que desconeixia fins avui) que ens permet d’una forma força rudimentaria, però eficaç, treballar amb el menú de contexte del nautilus directament contra el subversion. Sense haver de sortir a la consola per llençar manualment les comandes més típiques.

Concretament l’script l’he trobat al mariuss’ blog en l’article Nautilus Script for Subversion ens explica com s’ha currat aquest script. De fet, m’he informat sobre aquests scripts del nautilus i són trivials de fer. Quan els domini una mica més ús explico com es fan. De moment ús deixo amb el gusanillo.

Si useu el subversion i no voleu haver d’anar amb la línia de comandes amunt i aball cada dos per tres, us recomano que descomprimiu el fitxer: nautilus-svn-scripts-0.9.2.tar.gz dins del directori ~/.gnome2/nautilus-scripts, després reinicieu el nautilus i llestos ja podeu veure el menú de contexte apretant el botó dret del ratolí, el menú és algo així:

NautilusSubversionScripts.png

mailgateway: postfix+amavisd+clamav+spamassassin+sasl

Reading time: 3 – 5 minutes

Algunes empreses disposen de servidors de correu amb infraestructures internes realment complexes i que seguint la màxima de la informàtica el millor que podem fer és: si alguna cosa va no la toquis. El problema és que sovint aquestes estructures tan complexes no disposen de filtres de correu mailiciós. O sigui, no són capaces de passar antivirus al correu, filtrar l’spam i controlar altres enviaments maliciosos de correu. A més intentar afegir un software dins el propi servidor que ens fassi aquestes funcions sobre l’Mail Transport Agent (MTA) que ja tenim corrent és un risc innecessari i poc rentable moltes vegades.

diagrama-xarxa.png

Una solució que s’usa sovint és afegir un servidor només per filtrar el correu que entre i surt de l’empresa i intentar eliminar amb aquest mail-gateway tots els correus no dessitjats. Bàsicament doncs el que fem és col·locar l’SMTP (Simple Mail Transport Protocol) del mail-gateway com a porta d’entrada del correu extern. Després modifiquem el servidor intern de correu perquè tots els correus que hagi d’enviar cap a fora ho fassi a través del mail-gateway. O sigui, posem com a servidor de relay fix del servidor intern la direcció del MTA del gateway.

Amb aquest escenari els usuaris no han de canviar res de res, ja que només estem intervenint el port 25/tcp, o sigui, l’SMTP. A més al servidor intern de correu podem crear una compte de gestió de correo mailiciós, per exemple mailgateway@exemple.com (sent exemple.com el nostre domini). En aquest compte li creem dues carpetes una que es digui spam i l’altre que es digui ham. El que farem és sincronitzar el correu d’aquestes comptes amb una carpeta del mail-gateway (si les comptes són IMAP és bona idea sincronitzar-les amb l’offlineimap). Quan tinguem aquests correus al mail-gateway li direm als filtres bayessians de l’antispam que aprenguin com és el correu maliciós que no és capaç de filtrar i com és el correu que ha filtrat i que era legítim.

Aquesta compte de correu (mailgateway@exemple.com) que hem creat al servidor intern, la podem configurar com a compte de correu secundaria a un administrador de la xarxa. Així aquest podrà gestionar el manteniment sense haver de tocar el mail-gateway. En cas de que hi hagi algún usuari de la xarxa que vulgui localitzar un correu que s’ha filtrat l’administrador ho podrà fer des d’aquesta compte.

A més pels usuaris que estan fora de l’empresa, delegacions o d’altres similars ens pot interessar autenticar l’SMTP per tal de que aquests usuaris puguin usar l’SMTP del mailgateway per enviar correu. Així doncs, aprofitarem el servei d’IMAP (Internet Message Access Protocol) del servidor intern per validar l’autenticació en l’SMTP. Sona una mica extrany però el mètode és ben senzill. Es tracta d’aprofitar la compte l’usuari i clau que tenen els usuaris en el servidor IMAP intern, llavors es configura el MUA perquè usi aquestes dades com a informació per autenticar l’SMTP i el servidor d’MTA quan rep una autenticació via SMTP el que fa és obrir una connexió IMAP contra el servidor intern i provar l’usuari i clau que el client l’hi ha enviat a l’SMTP si això és correcte l’MTA permet enviar correu al MUA amb l’origen i destí que vulgui.

La documentació d’aquest projecte la podeu trobar al wiki:

mail-gateway_amb_amavisd-new

Tenir-la al wiki em permet anar-a millorant i esta sempre localitzada.

Si teniu alguna cosa que no esta clara, petició o demanda del tipus que sigui sobre aquesta documentació podeu penjar els comentaris en aquest post.

La comanda EHLO (del SMTP) no funciona en remot amb un Postfix

Reading time: 2 – 2 minutes

Just el problema que descric al títol m’ha fet perdre una bona estona aquest matí, de fet, m’ha fet anar de cul. M’estava tornant boig connectava al port 25 des de dintre de la LAN:

$ telnet IP_XARXA_LOCAL 25
Trying IP_XARXA_LOCAL...
Connected to IP_XARXA_LOCAL.
Escape character is '^]'.
220 ESMTP
ehlo prova
250-nom_servidor
250-PIPELINING
250-SIZE 20480000
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.

Si connectava des d’una IP de fora de la xarxa local:

$ telnet IP_PUBLICA 25
Trying IP_PUBLICA...
Connected to IP_PUBLICA.
Escape character is '^]'.
220 ******************
ehlo prova
502 Error: command not implemented
quit
221 Bye
Connection closed by foreign host.

M’he repassat tropocientes vegades la documentació del postfix a veure quina opció era la que feia comportar al servidor SMTP de forma diferent si estava en una IP de la xarxa local o una IP externa a la xarxa. Però no he trobat res de res, al final he trobat en un fòrum la inspiració divina. El problema era del coi de Cisco PIX que tenia entremig. El molt cabron m’estava filtrant la connexió!!!

Així que m’he hagut de connectar al PIX i dir-li que deixes de tractar el tràfic del port 25 com a tràfic SMTP, perquè no l’hi apliqués cap filtre:

pix # show fixup
fixup protocol dns maximum-length 512
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol sip udp 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol tftp 69
pix # conf te
pix(config)# no fixup protocol smtp 25

Només amb aquest tonteria ja podia saludar al postfix (servidor SMTP) amb la comanda EHLO que em permet cursar autenticacions i d’altres comandes avançades de l’SMTP (ESMTP).

Boot-up Services Ubuntu (ncurses)

Reading time: < 1 minute

Una eina xorra basada en ncurses per Ubuntu per poder controlar quins serveis s’inicien al re-iniciar la màquina. De fet, tothom que treballa en X’s parla del BUM però és clar en mode text no trobava res i per no oblidar el tema el paquet ideal és el sysv-rc-conf.

No és res de l’altre dijous però fa el que ha de fer.

Envinat SMS amb el mòbil des del Linux

Reading time: 2 – 2 minutes

Screenshot-KMobileTools.png

Fa molt de temps que buscava una eina que em permetés fer aquesta xorrada amb el Siemens S45, havia trobat diversos programes que ho feien en mode text, però jo volia alguna cosa molt més trivial via finestres. Algo que no hagués de configurar gaire i que sempre ho tingués a mà quan haig d’escriure un SMS que fa una mandra increible amb el carai de teclat de mòbil.

Ahir tot llegint el bloglines em vaig trobar una eina que malgrat estar basada en KDE esta prou bé: kmobiletools. A més de poder llegir i enviar SMS amb el mòbil. També permet despenjar, penjar i trucar amb mòbil. A més aprofitant que tan el portàtil com el mòbil tenen bluetooh he configurat l’rfcomm per establir un ellaç serie i així no he de tenir cap cable pel mig que em molesti.

També s’ha de dir que el programa no és res de l’altre món i que l’eina de gestió de missatges és una mica ‘cutre’, per no parlar de l’eina de gestió de l’agenda que fa el que pot pobreta. Però algo és algo. A més és força lleuger el programa i com que ja havia de tenir les llibreries QT i les KDE carregades per altres temes, tampoc ve d’aquí el desgast de memòria.

VMWare ESX Server i Ubuntu Breezy sobre una Gentoo

Reading time: 4 – 7 minutes

He de reconeixer que malgrat portar molt de temps usant linux i haver provant moltes distribucions no sóc gaire amant d’anar provant continuament quina distribució esta millor, de fet, sempre he pensat que és millor coneixer una distribució a fons. Encara que no diguin que és la millor, però la qüestió és que jo diria que això serveix més per la vida que anar provant quina és la més xula, còmode, etc.

Fruit d’això podriem dir que només he treballat amb dues ditribucions amb tots aquests anys, l’Slackware i els últims 5 anys (apròximadament) la Gentoo. Però per certes necessitats de la vida aquestes últimes dues setmanes he instal·lat el VMWare Workstation a la Gentoo del portàtil i després m’he creat una màquina virtual on he instal·lat l’Ubuntu 5.1 Breezy Bedger.

vmware-ubuntu.png

Doncs bé amb els típics problemes que suposa el que us explico: no trobar fitxers on estas acostumats que estiguin, no saber com es llencen els dimonis, on es posen les configuracions d’inici i el més greu de tot, això del apt-get és un suplici, ràpid de collons, però un suplici….buf!!! on és el meu emerge.

Cal reconeixer que l’entorn gràfic és molt senzill d’usar amb totes les seves eines i floritures, però jo m’he centrat amb l’instal·lació de tipus “server”, o sigui, sense entorn gràfic ja que havia de montar-la com a servidor i no pas com a workstation. Així que m’ha tocat patir.

També us volia comunicar la meva primera experiència amb el VMWare ESX Server. Quina passada nanos! això si que és una bona idea, ja sé que ara em sortiràn els amics del Xen dient que hi ha una bona versió lliure que fa algo semblant. Però realment jo diria que de moment les funcionalitats no es poden comparar.

La gràcia de la versió ESX esta en que instal·la un Linux amb uns mòduls pel kernel propietaris. Després a través d’una pàgina web pots montar-te les teves màquines virtuals que les pots tenir funcionant, parades, suspeses, en alta disponibilitat, com vulguis. A més aquestes màquines poden compartir el disc dur, o sigui, l’storage. Normalment connectat per fibra i amb una bona quantitat de gigues perquè la cosa no s’acabi.

Les màquines virtuals creades es poden arrancar a través de l’apicació consola, que esta disponible per força sistems operatius, fins hi tot el portage de Gentoo. Amb la consola podem usar una ISO d’un CD, DVD o el que volguem per bootar la màquina per primera vegada i instal·lar el sistema operatiu que volguem. Concretament al servidor que jo vaig instal·lar l’Ubuntu hi havia diversos Windows 2000 i 2003 funcionant. Quan acabes de montar-te l’SSH ja pots parar la consola i començar a treballar amb remot a través de la xarxa.

Aquesta forma de treballar en el futur crec que es tornarà a imposar. Dic es tornarà perquè aquesta idea ja fa molts anys que esta inventada i aplicada, pels famosos main frames el problema que teniem fins ara és que no hi podiem correr sistemes operatius de PC dintre d’aquests sistemes i amb aplicatius com aquest i d’altres similars tot això ja és una realitat.

Segur que a mesura que aquests sistemes tan interessants arribin al gran mercat, moltíssimes empreses canviaran la seva filosofia de montatge de servidors. Ja que és molt comode això de poder-se crear màquines sota demanda amb les característiques que volguem i a més modificar-los les característiques quan es queden petites (RAM, disc, etc). A més com que es tracten de màquines virtuals si la màquina mare es queda petita podem posar-ne de més potents i l’únic que hem de fer és arrossegar la màquina virtual de l’una a l’altre i amb breus segons la podem tornar a arrancar.

Amb el complicada que és sempre una migració de hardware i el senzill que es torna en sistemes d’aquests tipus. Tan que no és cap problema, només un pur tràmit. A més us puc assegurar que funciona tal com dic, que no és la típica funcionalitat que després mai funciona. Penseu que el fet de compartir l’storage fa que no haguem de migrar cap dada només el perfil i si l’storage es fa petit podem afegir discos i fins hi tot afegir un altre backplane al que ja tinguem perquè hi puguin cabre més discos, ja serà el RAID el que s’encarregarà de fer-los visibles al sistema.

Ja teniu un altre gusanillo provar el VMWare ESX o el Xen, tot i que pel que tinc entès el segon només funciona amb màquins virtuals que corrin linux. Així que no podrem tenir una xarxa de servidores heterogènia dintre de la nostre màquina mare. Però temps al temps, de ben segur que aviat podrà fer això i més.

Scroll to Top