pfSense i VMWare: problemes amb les interficies en bridging [solucionat]

Ahir en Joan i jo ens varem passar 11h per descobrir que el nostre gran problema d’incompatibilitat entre el pfSense i el VMWare ESX 3.5 no era res més que un petit error de configuració a un virtual siwtch (vSwitch) que unia les interficies virtuals del firewall.

Bé anem a descriure l’escenari. Imagineu un pfSense com a màquina virtual d’VMWare amb dues potes físiques, o una física i una virtual, com volgueu el problema és el mateix.  Si les dues són virtuals no ho he provat, però imagino que passa el mateix. La qüestió és que si fem que les dues potes del pfSense estiguin en mode bridge, és a dir com si el pfSense no hi fos i ambdues subxarxes estiguessin unides en una de sola, llavors el tràfic entre una xarxa i l’altre no flueix. O sigui, no podem passar ni paquets ICMP, ni TCP ni UDP. Però si que podem passar paquets ARP. Curiós, eh!?

vmware-pfsense-bridge

En el dibuix anterior es veu l’escenari d’exemple que varem estar provant. O sigiui, un portàtil en una xarxa física, després en una altre xarxa hi teniem un servidor físic i un de virtual. El pfSense sempre virtual, o sigui dins del VMWare ESX. Per altre banda teniem una altre pota real que ens connectava a internet. Però això no és rellevant, només ho indico perquè quedi clar que el pfSense tenia tres potes i que les que feien el bridge no eren la LAN i la WAN. Sinó la LAN i una OPT1. L’escenari real i le proves següents complicaven aquest escenari bàsic afegint una pota més del pfSense també en mode bridge amb la primera, les proves també van funcionar.

Pels que no estigueu familiaritzats amb el VMWare per fer això cal definir dos vSwitch un que uneixi la LAN del pfSense amb la targeta de xarxa real del VMWare i la Xarxa 1. Un altre vSwitch ha d’unir el pfSense amb la Xarxa 2, que té una màquina virtual connectada a ell i un targeta de xarxa del VMWare connectada a un switch real amb un ordinador físic. Doncs bé, aquestes dues interficies del pfSense es posen en mode bridge i els ordinadors de la xarxa 1 i 2 poden compartir domini de col·lisió i el pfSense pot fer filtrat de packets en mode stealth ja que els usuaris ni s’adonen que els seus paquets passen per un firewall.

Diria que ja ha quedat clar el que passava, doncs bé en Joan i jo ens varem passar 11h lluitant i investigant d’on podia venir el problema que feia que els paquets no passessin d’un costat a l’altre del pfSense. De fet, el que varem observar per començar és que a l’itnerficie de xarxa del pfSense no arribaben els paquets de la xarxa 1 a menys que aquests anessin dirigits a la IP de la pota de forma explícita, o els paquets que volien usar el firewall com a porta d’enllaç per navegar.

Doncs bé, el tema esta en que els vSwitch del VMWare han de tenir el paràmetre “Promiscous Mode“, que per defecte esta a “Reject“, a “”Accept“. Fent això a ambdós vSwitch els paquets flueixen d’un costat a l’altre del firewall sense problemes. Increible, oi? doncs si. Una de les múltiples alegries que et dona l’informàtica quan després d’aixecar-te a les 4 del matí per posar en producció el sistema, a les 6 de la tarda descobreixes en un entorn simulat que el problema venia d’això.

A continuació adjunto un parell de captures de pantalla on podeu veure com per  defecte el paràmetre esta a “Reject” :

Caputra de les propietats d'un vSwitch

i simplement editant les propietats del vSwitch el podem posar a “Accept”:

vmware-vswitch-sc002

Això farà, que demà a les 8 hem toqui treballar altre vegada i que per fi pugui posar en producció el sistema. Esperem que les proves de concepte fetes en el entorn simulat que varem montar ahir a la tarda segueixin funcionant tan bé en l’entorn real demà al matí. Apa doncs, només agraïr al Joan la seva paciència i seguir provant i provant colze amb colze amb mi per arribar a aquesta solució.

WMWifiRouter: convertint el telèfon en un gateway wifi-3g

WMWifiRouter és una aplicació que preten convertir el nostre telèfon mòbil amb Wi-Fi i 3G en un gateway cap a internet pel nostre portàtil, per exemple. De fet, el programa dona molt més de si i l’enllaç cap a la xarxa 3G el podem fer no només amb Wi-Fi sinó també amb Bluetooth i USB.

El programa no és massa difícil de configurar i amb no massa estona podem tenir-lo llest perquè el portàtil, per exemple, accedeixi per Wi-Fi a internet amb HDSPA via el mòbil. El que no em fa massa el pes és que l’enllaç Wi-Fi es fa en mode ad-hoc i malgrat el propi telèfon ens fa de servidor DHCP, aquest no va massa fi i a vegades li costa força assignar-nos una IP. Però el que realment no em fa gens el pes és que l’enllaç Wi-Fi perd moltíssims paquets, és a dir, després de fer l’enllaç ad-hoc que comentava em vaig posar a fer pings al punt d’accés (o sigui, al telèfon) i de cada 10 pàquets se’n perdien de 3 a 5. O sigui, un desastre i més si tenim en compte que entre el mòbil i l’ordinador no hi havia més d’un pam.

Malgrat això crec que l’eina és una molt bona idea, però crec que ha de millorar molt en el rediment que dona i en l’estabilitat ja que quan ens desconnectem i tornem a connectar ja sigui de la xarxa Wi-Fi o de la 3G la cosa comença a donar errors ben extranys; fins el punt que acaba sortint més a compte reiniciar el telèfon que seguir aguntant el comportament que té. Només animar als creadors de l’eina que la segueixin millorant perquè crec que si arriba a funcionar bé pot tenir molt futur.

pfSense: comanda clog

pfsense logoCom no podia ser d’altre forma el pfSense usa logrotate per guardar els logs. O sigui, que si fem un cat als seus fitxers de logs no estem buscant en tot el registre d’informació sinó només en la última part que encara no s’ha empaquetat sovint la part corresponent al dia actual. Doncs bé la gent de pfSense ha creat una eina en forma de comanda: clog que permet mirar un fitxer de logs i en tots els seus paquets comprimits amb informació de dies anteriors.

A més, una funcionalitat molt habitual en els fitxers de logs sobretot quan estem depurant és usar la comanda “tail -f“. Que ens permet veure en temps real els continguts que es van afegint a un fitxer de log, doncs bé, si decidim tenir aquest fitxer en una consola diversos dies monitoritzant el fitxer que ens interessa com que aquest serà empaquetat pel logrotate el “tail -f” es truncarà. Això es soluciona també amb la nova comanda “clog“, només cal que usem el paràmetre “-f” per monitoritzar el que es va afegint en un fitxer de log. O sigui, “clog -f nom_fitxer.log“.
Si voleu donar un cop d’ull a la plana wiki on ho he trobat: clog.

pfSense: per fi funcionen els aliases

pfsense logo

Acabo de llegir al wiki de pfSense que per fi la funcionalitat d’aliases als ports funciona, de fet, encara no sé si això passarà a funcionar a la versió 1.2.3 o ja funciona a les versions 1.2.2 que estic montant útlimament quan ho hagi contrastat ja avisaré en aquest mateix post. Pels que no tingueu ni idea de què estic parlant vaig a explicar-me.

Resulta que el pfSense té entre les seves funcions la de poder declarar aliases de hosts, xarxes i ports. Això és genial a nivell conceptual perquè podem definir, per exemple, un grup de hosts que anomenem “ServidorsWeb” i un grup de ports que anomenem “PortsWeb” i després al la secció de regles (rules) només cal que creem una sola regle que permeti el tràfic a tots els “ServidorsWeb” pels “PortsWeb” i això automàticament en background generarà tantes regles com calguin perquè aquest tràfic passi sense problemes. Fins ara es podien definir els aliases dels ports però després a la secció de NAT o Rules no es podien associar, per tant, era com inútil asignar aliases a ports.

Quan tenim xarxes dividides en diverses subxarxes i amb uns quants servidors, grups d’usuaris, etc. aquest típus d’eines van genials. De fet, altres firewalls més coneguts com el Checkpoint fa segles que disposen de funcions com aquestes.

Si voleu donar un cop d’ull a la plana wiki on ho he trobat: Aliases.


Google sync: GNOME Evolution + Gmail/GCalendar/GContacts + Windows Mobile

google syncLa meva il·lusió quan vaig tenir l’HTC Kaiser (o la Cruise) era tenir-les sincronitzades amb l’Evolution. Al cap de poc temps van començar a posar-se de moda eines com el GCalendar i el Gmail va començar a oferir funcions de POP3 i IMAP cosa que el van fer molt més atractiu. Obviament tenir el correu, contactes i l’agenda completament sincronitzats amb aquests tres elements ja era tot un somni i vaig estar provant i plantejant montar combinacions realment costoses per tal de aconseguir això que comento. Però cap de les combinacions em donava un grau de confiança suficient ja que les sincronitzacions bidireccionals de tot plegat deixaven molt que desitjar. Com sempre passa amb Linux aquest tipus de coses sempre van amb retard.

Finalment aquesta setmana he posat en marxa la trilogia i de moment n’estic molt content del resultats. Anem a pams:

  • GNOME Evolution 2.24.2 finalment incorpora funcions que permeten:
    • Usar l’agenda de contactes del GMail de forma nativa i tenir-la en còpia en local per quan treballem sense connexió a internet.
    • Treballar amb un canal del calendari connectat contra GCalendar i sincronitzar-se periodicament de forma transparent. Com en el cas de l’agenda també permet tenir el canal en còpia per quan estem offline.
    • Pel tema correu ja no hi havia problema perquè sempre he usat IMAP i a través de Vodafone Push Mail rebo el mateix correu que veig al Evolution al Telèfon i a la compte de GMail. El que de moment no he resolt és que es vegin les carpetes que no són ‘inbox’, però això és més un problema de mandra que no de la tecnologia.
  • Google Mail, Address Book i Calendar des de fa uns dies disponsen d’un servei de sincronització amb compatibilitat per Windows Mobile, així doncs, només m’ha calgut seguir les instruccions que hi havia a la web de Google Sync i a funcionar.
  • Windows Mobile, escencialment el que diu Google Sync és que afegit un nou servidor Exchange contra el que farem les configuracions i gràcies a la connexió de Vodafone Mail Push puc connectar a aquest servei amb la mateixa tarifa plana de correu de 15€/mes. Realment genial, perquè tinc els 3 calendaris, agenda i correu sincronitzats per un preu increible.

Com veieu tècnicament la cosa no té cap mèrit per la meva part, i amb uns pocs minuts ho he tingut tot funcionant. De fet, he invertit molt més temps en fer recerca durant tot aquest temps que no pas en configurar aquest sincronització que comento. Per cert, com a nota fríbola afegir que, sense fer cap extra es sincronitzen perfectament els accents en qualsevol dels dispositius!

GreenSQL: protecció contra SQL injection

GreenSQL logoGràcies a l’Aitor descubreixo el GreenSQL, una aplicació en forma de dimoni que fa funcions de reverse proxy entre les aplicacions que usen MySQL i el servidor de MySQL. Després de revisar la pàgina web, una presentació i veure una demostració del seu panell de control he de dir que l’eina té molt bona pinta. El seu mètode de funcionament ens pot portar a alguns mals de caps ja que fins que les whitelist no tenen suficient informació de com funcionen les nostres aplicacions alguns falsos positius en els seus anàlisis ens poden fer tornar una mica bojos. Malgrat això en alguns entorns crec que l’eina pot ser molt útil. El que no he sabut trobar per enlloc és un benchmark de quin és el rendiment d’aquest proxy ja que per entorns de molta càrrega crec que podria convertir-se en un coll d’ampolla. Finalment una altre informació que no he sabut trobar és on guarda la seva base de dades d’informació??? ja que el volum d’aquesta pot ser molt gran i seria curiós saber si ho fa també sobre MySQL o sobre fitxers de text, tipus sqlite o BerkeleyDB, per exemple.

Scroll to Top