Category: Networking and Internet

Tipus d’VPNs

Reading time: 7 – 12 minutes

Quan parlem d’VPNs gairebé tothom té clar perquè serveixen i què fan. El fotut és quan comencem a parlar de quin tipus d’implementació s’ha d’usar o s’ha usat per montar-la. Això fa que un munt de sigles comencin a saltar sobre la taula i al final si no tenim una molt bona base tècnica som incapaços d’entendre a què es refereixen. Aprofitant un article que ha aparegut a Network Systems DesignLine, de fet, és la primera part d’una serie encara incompleta anomenada Compare, design, and deploy VPNs–A tutorial–Part I he decidit fer un petit resum dels tipus d’VPN més comuns.

Dispositius d’una VPN

Per tal de poder parlar en propietat quan parlem dels elements de la VPN a continuació s’intenta definir una mica els dispositius que intervenen (o poden intervenir) en una VPN i on estan situats.

En el costat del client:

  • Customer (C) devices els dispositius C són simples, per exemple routers i switchos dins de la xarxa del client. Aquests dispositius no estan connectats a la xarxa del proveedor de servei. Aquests dispositius no saben distingir si estan o no dintre d’una VPN.
  • Customer Edge (CE) devices són els dispotius del client que donen conectivitat a la xarxa del proveedor de serveis.(via Provider Edge [PE]).
    • CE-r routers
    • CE-s switches

En les VPNs basades en CE, els dispositius CE si que estan disponibles per ser usades amb la VPN. Si les VPNs estan basades en els PE, els dispositius CE no estan disponibles per la VPN.

En les VPNs site-to-site, els dispositius del proveidor de serveis es poden classificar en:

  • Service Provider (P) devices els dispositius P com ara routers i switches dins de la xarxa del proveedor que no es connecten directament a la xarxa del client.
  • Service Provider Edge (PE) devices connectats directament a la xarxa del client a través dels dispositius CE. En les VPNs basades en PE aquests dispositius són visibles des de l’VPN, en les basades en CE no són visibles.
    • PE-r Provider Edge routers
    • PE-s Provider Edge switches
    • PE-rs Provider Edge devices that are capable of both routing and switching
VPNFigure1.gif

VPNs de capa 2, com ara VPLS, afegeixen un nivell a la gerarquia per ser més escalable (VPLS llavors passa a ser Hierarchical VPLS [H-VPLS]). En aquest cas, les funcionalitats dels dispositius PE, es divideixen en dos parts U-PE i N-PE.

Cal que no oblidem que els U-PE i els N-PE són equivalents al PE-CLE i al PE-POP, respectivament. Quan tenim un dispositiu PE-U de capa 2, podem referir-nos a ell com un MTU-s.

VPNFigure2.gif

Altres dispositius d’una VPN poden ser els NAS i els concentradors o gateways d’VPN. Un NAS és un dispositiu que fa d’interficie entre la xarxa d’accés (com ara PSTN) i les xarxes de conmutació de paquets (com ara un backbone IP). En un accés remot VPN el NAS pot treballar com a finalitzador de tunel.

Depenent del protocol usat per establir un accés remot el NAS es pot anomenar de diferents formes Layer Two Forwarding (L2F) Protocol NAS, Layer Two Tunneling Protocol (L2TP) Access Concentrator (LAC),o Point-to-Point Tunneling Protocol (PPTP) Access Concentrator (PAC).

Un gateway o concentrador d’VPNs actua com a punt final d’un túnel (VPN endpoint), especialment quan parlem d’accessos remots o VPNs basades en CEs (site-to-site).

Segons el protocol usat per aquests accessos remots el gateway o concentrador d’VPNs es pot anomenar, per exemple, L2F Home Gateway, L2TP Network Server (LNS), o PPTP Network Server (PNS).

Tecnologies i protocols usats en VPN del tipus Site-to-Site (o LAN-to-LAN)

En les VPNs site-to-site (o LAN-to-LAN) la informació del client viatja entre dispositius CE o entre dispositius PE.

  • IPsec són un conjunt de protocols dissenyats per protegir el tràfic IP entre gateways o hosts. Normalment s’usa aquest protocol per establir VPNs entre CEs.
  • GRE usat per fer túnels i transport de multiprotocols entre CEs. La seguretat de GRE és baixa o no inherent al protocol, però si volem podem aprofitar IPSsec per securitzar els túnels montats en GRE.
  • Draft Martini (Any Transport over MPLS–AToM) permet transportar protocols punt a punt com ara Frame Relay, ATM, Ethernet, Ethernet VLAN (802.1Q), High-Level Data Link Control (HDLC), i tràfic PPP sobre MPLS.
  • L2TPv3 permet transportar protocols com ara Frame Relay, ATM, Ethernet, Ethernet VLAN, HDLC, i tràfic PPP sobre IP o altres protocols de backbone.
  • IEEE 802.1Q tunneling (Q-in-Q) permet als proveedors de servei transportar tagged Ethernet (802.1Q) entre xarxes dels clients a través d’un backbone compartit. Per tal de fer això l’únic que es fa és tornar a afegir una altre etiqueta, a la afegida pel 802.1Q de la xarxa del client, aquesta vegada l’etiqueta 802.1Q és de la xarxa del proveedor.
  • MPLS LSPs (Label Switch Routers) els paquets es conmuten segons l’etiqueta afegida al paquet. LSPs poden rebre senyals de TDP, el LDP, o el RSVP.

Tecnologies i protocols usats en accessos remots

  • The Layer Two Forwarding (L2F) Protocol és propietari de Cisco. Bàsicament es va dissenyar per fer túnels PPP (o SLIP) per enllaços entre NAS i VPN gateways en oficines centrals. Els usuaris remots connecten al NAS, i les trames PPP de l’usuari remot són enviades pel túnel cap al VPN gateway.
  • The Point-to-Point Tunneling Protocol (PPTP) el van desenvolupar Microsoft, 3com i Ascend Communications. Com el L2F, el PPTP permet crear túnels per accessos remots a través de trames PPP entre un NAS i un VPN gateway. PPTP també permet crear túnels entre l’usari remot i el VPN gateway. PPP encapsula els paquets enviats a través dels túnels PPTP i sovint com a mètode de protecció s’usa MPPE.
  • The Layer 2 Tunneling Protocol versions 2 i 3 (L2TPv2/L2TPv3) és un estàndard de la IETF i combina les millors funcionalitats del L2F i el PPPTP. En un entorn d’accés remot, L2TP permet enviar trames PPP del client a través del NAS contra el VPN gateway o concentrador de túnels. L2TP té la seguretat com a element intrinsec, sovint s’usa IPSec per protegir-los.
  • IPSec permet establir túnels tipus site-to-site (LAN-to-LAN>), accessos remots o usuaris mòbils.
  • The Secure Sockets Layer (SSL) és un protocol de seguretat que va ser desenvolupat per Netscape Communications (SSL v1,v2 i v3). Ens permet crear enllaços remots segurs als usuaris mòbils. Funcionalment esta molt limitat, perquè no ens cal un client d’VPN. Cal no oblidar que TLS és un estàndard IETF molt similar la SSLv3.

Per tal de disfrutar d’un conjunt de funcionalitats més potent cal instal·lar un client d’VPN SSL específic.

Modelant i Caracteritzant una VPNs

Un bon mapa perno perdres en el món de les VPNs:

VPNFigure3.gif

VPNs creades pel proveedor o pel client

Exemples d’VPNs creades pels proveedors:

  • Virtual Private Wire Service (VPWS) VPNs
  • Virtual Private LAN Service (VPLS) VPNs
  • IP-Only Private LAN Service (IPLS) VPNs
  • BGP/MPLS (RFC4364/2547bis) VPNs (BGP/MPLS VPNs are also known as MPLS Layer 3 VPNs.)
  • Virtual Router (VR)-based VPNs
  • IPsec VPNs

Exemples d’VPN creades en el client:

  • GRE VPNs
  • IPsec VPNs
  • SSL VPNs

Site-to-Site i VPNs d’accés remot

Les VPNs les crei el proveidor o el client, només poden oferir dos tipus d’accés:

  • Site-to-site ofereixen connectivitat entre xarxes distants geograficament connectant-les com si es tractes d’una xarxa local. Bàsicament es ditingeixen dos tipus les intranet i les extranet segons si connecten xarxes de la mateixa organització o de diferents organitzacions, respectivament.
VPNFigure4.gif
  • Accés remot també anomenades VPNs d’accés permeten a un usuari mòbil o domèstic accedir a la xarxa de l’organització i accedir als seus recursos de xarxa com si estiguessis físicament a la xarxa.
VPNFigure5.gif

Gentoo trick: eina quickpkg

Reading time: < 1 minute

Dins del paquet gentoolkit podem trobar una eina que fins fa una estoneta no coneixia i que per culpa d’això m’havia fet perdre molt de temps, l’eina és realment interessant s’anomena quickpkg i ens permet crear un paquet binari a partir d’un paquet ja existent en el sistema. Realment útil quan volem tenir la còpia de seguretat de la versió d’un paquet que ja funciona en la nostre màquina i volem provar una nova versió sense haver de perdre altre vegada tot el temps fins que es torna a fer la compilació del paquet. Així doncs amb aquest eina podem estalviar realment moltes hores perdudes, almenys en el meu cas les havia perdut fins ara tontament.

Els paquets que es crein amb quickpkg obviament quedaran a:

${PKGDIR}/All
${PKGDIR}/

Grabar video-tutorials

Reading time: 3 – 5 minutes

Malgrat hi ha un molt bon programa amb una GUI basada en GTK per linux per capturar sessions i grabar veu a les sessions. El wink. O sigui, amb el que podem construir video-tutorials on expliquem com fer qualsevol cosa. Amb Gentoo no sé perquè no em funcionava a més la versió 1.5 que és la última disponible per linux no suporta grabació de veu. Així que m’he decantat per probar el vnc2swf que junt amb el pyvnc2swf (no inclòs al portage de linux) permet grabar sessions d’VNC i grabar fitxers d’audio al mateix temps. Esta prou bé l’script amb Python automatitza molt les coses. Obviament es tracta d’una aplicació basada en CLI i per tant, no té interficie gràfica i jo diria que no permet editar els arxius un cop grabats. No sé si el flash (.swf) es pot editar un cop grabat l’audio i el video. Però em sembla que és l’única manera d’editar un video-tutorial un cop grabat.

Perquè ens fem una idea del que fa l’script de Python és llençar el vnc2swf i al mateix temps podem invocar el arecord (graba .wav via ALSA). Així doncs quan a través de la mini-interfice gràfica que té el pyvnc2swf premem el botó d’stop es graba un fitxer .wav i un .swf amb el nostre video i l’audio per separat. Llavors el que fem amb el lame és convertir el .wav a .mp3 i després unim l’.mp3 amb el .swf de forma que quedin un sol arxiu .swf, el propi script ens ha creat també una pàgina .html des d’on es crida l’objecte de flash.

Com que hi ha força arxius i paràmetres a usar a continuació adjunto un petit cookbook que explica com fer-ho:

# Llencem el servidor d'Xvnc
vncserver -geometry 800x600 :10
# Modifiquem el fitxer ~/.vnc/xstartup perquè es llenci el KDE amb l'escriptori del servidor Xvnc
cat xstartup
#!/bin/sh
startkde &
# Llencem el pyvnc2swf amb la seva mini-GUI per llençar i parar les grabacions
vnc2swf.py -o out.swf -r 5 -S "arecord -r 22050 voice.wav" localhost:10
# Finalment llencem el client d'vnc per controlar la sessió que volem grabar
vncviewer -depth 8 -compresslevel 9 -quality 9 :10

Els paràmetres que li passem al vnc2swf.py són per indicar el fitxer de sortida (-o), després li diem que grabi 5 fotogrames cada segon (-r 5) després llencem en swap el arecord prenent mostres a 22KHz i grabant la seva sortida a voice.wav. Finalment li diem que la sessió a la que s’ha de connectar en mode de només lectura és a localhost:10, o sigui, el port 5910.

Un cop parem la sessió es generarà un fitxer out.html des d’on es cridarà l’objecte de flash out.swf aquest arxiu no té incrustat el so grabat a voice.wav per adjuntar-lo hem de fer:

# Convertim a .mp3 el fitxer amb l'audio voice.wav
lame voice.wav
# Adjunt l'audio del fitxer voice.wav.mp3 al fitxer out.swf i la sortida ens quedarà a out2.swf
edit.py -o out2.swf -a voice.wav.mp3 out.swf

A l’executar l’edit.py també es crearà el fitxer out2.html que crida l’objecte de flash out2.swf amb l’audio inclòs. Perquè us feu una idea de la sortida us adjunto aquest screenshot:

pyvnc2swf.png

mini-script per llistar tots els fitxers menys els ‘n’ més nous

Reading time: < 1 minute

La idea: volem tenir un directori amb els n fitxers més nous, la resta s’han d’anar borrant… l’script d’allò més senzill: (suposem n=10)

rm -f `ls -t | sed -e '1,10d'`

Si la llista de fitxers a borrar és massa llarga també podriem fer:

for F in `ls -t | sed -e '1,10d'`; do rm -f $F; done

Exemple d’aplicació: per guardar al repositori de correu com a backup els útlims n emails rebuts i anar borrant la resta.

Un petit, ràpid i bon manual de sed el podeu trobar a Selectorweb.com. (local )

Gentoo trick: eix buscant pel portage molt ràpid

Reading time: 1 – 2 minutes

A la Gentoo Linux Newsletter d’aquesta setmana es parla d’una eina que ens permet buscar pel portage de forma molt ràpida. De fet, ja vaig parlar d’una eina que serveix per coses semblants, fa temps, l’article es deia “Gentoo Trick: esearch & esync molt útils“.

De fet, no tinc clar quina diferència hi ha entre l’eix i l’esearch però sembla que tingui pinta de ser una mica més ràpida al fer el sync del portage. A més és curiós que usant també el trac com a gestor del projecte, l’altre dia en parlava en l’article sobre symfony.

EveryGUI – creant GUI per linies de comandes

Reading time: 1 – 2 minutes

Gràcies a delicious fa un temps vaig veure que en pancake havia trobat una aplicació per GTK+ que no coneixia només que per QT (QSA). La idea és afegir una interficie gràfica d’usuari (GUI) a les aplicacions de línies de comandes que ens interessin. A través d’un designer podem modelar-los la GUI al nostre gust i després connectar els events dels components afegits a la GUI per llençar i capturar les sortides de les ordres del CLI.

everygui.png

A la pàgina de EveryGUI teniu més informació i captures de pantalla on es pot veure prou bé la qualitat de l’aplicació.

HFS – HTTP File Server

Reading time: < 1 minute

Es tracta d’un petit aplicatiu que podem descarregar gratuïtament i instal·lar al Win. Perment montar un servidor de fitxers via HTTP en breus segons. Degut als infinits problemes que dona sempre el netbios de win va bé tenir localitzada una eina d’aquestes, a més té unes features interessants:

  • Download and upload
  • Virtual file system
  • Highly customizable
  • HTML template
  • Bandwidth control
  • Easy/Expert mode
  • Log
  • Full control over connections
  • Accounts
  • Dynamic DNS updater

El nivell de detall de la interficie gràfica esta prou bé:

hfs.jpg

Convertidor RJ45 a BNC famella

Reading time: 1 – 2 minutes

El Juliol de l’any passat us parlava d’un convertidor RJ45 a BNC bàsicament el trobava molt interessant per aprofitar les tirades de cable ethernet i tirar-hi senyal de video en forma de radiofreqüència per sobre. Doncs bé a cablematic acaben d’entrar un nou producte que també converteix l’RJ45 a BNC, però aquest transformador no sembla que porti electrònica per fer la transformació així doncs no acabo de veure si és capaç de tenir les propietats que té el transformador que comentava abans. Aprofitant que sovint faig comandes a cablematic i que el cost del connector és ridicul (menys de 2€) en compraré un parell i a veure què me’n surt de les proves ja us comentaré.

CT51.JPG
CT51-2.JPG

Thomson ST2030: la meva recomanació en tlf IP professionals

Reading time: 1 – 2 minutes

Dissabte vaig estar amb el Marc provant el Thomson ST2030. Només volia comentar que realment és el telèfon de VoIP més professional que he tocat parlant de gama professional baixa. Molt millor que els Cisco de gama baixa i més econòmic. Fins ara haviem provat molts telèfons xinesos d’aquests que no coneixen ni a casa seva. Però realment tenien moltes deficiències sobretot a nivell de so i de qualitat de firmware.

st2030.jpg

Si voleu aprofundir en les característiques del telèfon el datasheet esta prou bé a nivell de detalls. Sobre el tema de la qualitat de so i l’experiència a nivell d’usuari inmillorables. El preu es pot treure una unitat per poc més de 100€ i si compreu volum per una mica menys de 100€.

Scroll to Top