Archive

Archive for the ‘Tech’ Category

Mi red hogareña – KVM, pfSense, OpenWRT, VLAN, etc.

19 junio, 2017 2 comentarios

Después de no haber publicado nada en el blog desde hace más tiempo del que quiero admitir, hoy les vengo a contar que hace tiempo que tengo una red hogareña, lo cual no es ningún secreto, que no es la típica red del común de la gente, sino que tiene ciertos toques que serían más necesarios y justificables en una pequeña empresa más que en una casa, pero … y bueno, ¿porque no? 🙂

Si bien hace tiempo que venía andando muy bien, tuve un llamado de atención hace unos días, cuando encontré un supuesto intruso en mi red, ya que había un lease DHCP que no pertenecía a ningún dispositivo de los que se conectan normalmente. Noté esto porque tengo las direcciones MAC asociadas a las IP que se le asignan a dichos dispositivos y justamente había un dispositivo con una dirección MAC desconocida.

Esto llevó a que decidiera cerrar aún más la seguridad de mi red, por la cual ya no se asignan direcciones IP a dispositivos que no tengan la dirección MAC habilitada en mi firewall y debido a esto me vi en la necesidad de implementar una red wifi para invitados, la cual fue implementada mediante una VLAN para mantener el tráfico separado de la WLAN y la LAN internas.

Antes de pasar a describir como está configurada mi red, si, ya se, el control de acceso por MAC no garantiza mucha seguridad. Pero también está la seguridad WPA2, por lo que hay una combinación de las dos para acceder, lo cual tampoco significa que sea 100% seguro, pero es mayor seguridad que utilizar solamente una de las dos opciones anteriores.

En cuanto a hardware hay unas cuantas cosas, nada muy espectacular, pero suficiente para hacer el trabajo requerido. Sin entrar en detalle de los clientes de la red, les comento el hardware que hay instalado:

  • Cisco 677
  • Arris Surfboard SBG6700-AC
  • PC comun y silvestre que se cree un server de virtualización con KVM, la cual virtualiza a:
    • una PC más común y silvestre aún que se cree un grade class firewall
    • a otra PC también de medio pelo, que se cree que es un server con Debian
  • Router Netgear R7000 AC1900 dual band Gigabit (esto es lo mejorcito de la red) con Xwrt-Vortex en lugar del firmware de Netgear
  • Router TP-Link WDR3600 N600 dual band Gigabit (este era bueno hace un tiempo pero ya evidencia su edad) con OpenWRT para poder usar VLANs
  • Switch genérico de 8 bocas que tiene no se cuantos años…. (por lo cual no, no es Gigabit)
  • HD de 2TB USB3
  • Varias cosas como Chromecast, RaspBerrys, teléfobnos celulares, tablet, notebooks, algún que otro server Sun muy añejo y algunas cosas más dando vueltas como módulos ESP8266 para Arduino, pero eso ya es para otro post.

Ahora bien, en lugar de seguir contándoles el porque de mis decisiones, les voy a mostrar en un diagrama como está configurada mi red y comentaré algunos detalles de la misma.

Network pablot

Mi red “hogareña”

Bien, vayamos por partes “dijo Jack”, como les decía no es la típica red hogareña, y en primera instancia vemos que tenemos dos proveedores de Internet, Fibertel (12Mb) y Arnet (3Mb), cable y ADSL respectivamente.

Esto es así porque mi esposa utiliza la red para trabajar y los proveedores de Internet en Argentina no son todo lo confiables que uno quisiera, por lo que al tener dos disminuye notablemente la posibilidad de quedarnos sin Internet en casa.

Como se ve en el diagrama, el vínculo de Arnet está conectado a través de un Cisco 677 en modo bridge, el cual es como decimos nosotros “un fierro”. Este “bichito” tiene más de 15 años funcionando 24 hs al día, casi 365 días al año (excepto vacaciones) y funciona a la perfección… por algo Cisco es Cisco en materia de networking.

En cambio el vínculo de Fibertel desde el 2013 ya va por el tercer router, ya han pasado dos Motorola Surfboard SBG901 que han dejado de funcionar y ahora hay un Arris Surfboard SBG6700-AC. En todos los casos siempre también en modo bridge. Les recomiendo pedirle a Fibertel que se los pase a modo bridge y evitar así la aventura de hacerlo ustedes, ya que aparentemente vienen con el firmware modificado y si bien se puede poner en modo bridge si uno es lo suficientemente empecinado, se reniega bastante y no vale la pena tanto esfuerzo, pero si quieren experimentar, adelante!

Ambos vínculos están conectados a una PC con Linux, la cual tiene 3 placas de red, dos para los vínculos de internet y uno para la LAN. Esta PC hace las veces de server de virtualización gracias a KVM, en la cual tengo virtualizados un par de servers, uno de ellos es el firewall, el cual es pfSense y el otro un server Debian para experimentar un poco.

Dos notas al margen, la primera es que para este setup funcionan mucho mejor los drivers virtio tanto para los HD virtualizados como para las placas de red; la segunda es que tengo conectado a esta PC por el puerto paralelo una pequeña cajita con 8 leds que pueden configurarse para mostrar el estado de diferentes cosas del server, en mi caso el tráfico de red en las distintas placas de red, todo esto gracias a un viejo soft llamado portato.

Este server, no tiene monitor y se accede por SSH y de ahí mediante un server X11 instalado en cualquier cliente para levantar el software de configuración de KVM, en este caso el Virtual Machine Manager y libvirt como se ve en la siguiente imagen.

virt-manager

Virtual Machine Manager

Como más de uno ya se habrá dado cuenta, pfSense es el corazón de toda mi red, el cual recomiendo enfáticamente, ya que brinda una amplia gama de posibilidades en cuanto a configuración y es realmente muy seguro. Está basado en FreeBSD, el cual es uno de los S.O. con mejor seguridad que existen, incluso superior a Linux.

En mi caso tengo configurada una VPN mediante OpenVPN que me permite conectarme remotamente a mi red desde cualquier lado.

También como algunos habrán notado tengo configurado IPv6 en mi led local y un tunnel IPv6 con Hurricane Electric para poder navegar por Internet con IPv6 por lo sitios que lo soportan. Por lo que me conecto a Hurricane Electric mediante mi tunel y luego de ahi salgo por IPv6 a Internet. Por el momento lo tengo configurado solo sobre el vínculo de Fibertel, pero en un futuro lo configuraré para Arnet también.

Gracias a las posibilidades multi WAN de pfSense, tengo configurado balanceo de carga y failover, para que de esta manera cuando se cae uno de los dos vínculos de Internet, se sigue navegando de manera transparente sin que se corte la conectividad.

Cuidado que esto no es lo mismo que sumar los anchos de banda, eso es otra cosa que se conoce como bonding.

Por último, también en pfSense tengo configurada una VLAN sobre la LAN, la cual se extiende a dos routers inalámbricos. La VLAN para invitados me permite tener completamente aislada mi LAN de lo que los invitados puedan hacer en la VLAN, ya que la LAN es totalmente invisible para la VLAN de invitados.

Respecto a los routers, uno de ellos, conectado a la interface de la LAN de mi pfSense es un router Netgear R7000 con el firmware Xwrt-vortex que mejora notablemente las posibilidades del firmware original de Netgear. El R7000 es un excelente router AC1900 dual 802.11ac Gigabit.

De todas maneras el R7000 funciona como un AP, pero tiene configurada la VLAN para la red wifi de invitados, la cual es provista por un segundo router un poco más antiguo, un TP-Link WDR3600, también en modo AP, el cual es un N600 también dual band Gigabit, que tiene instalado el firmware OpenWRT que permite utilizar VLANs ya que el original no lo soporta.

En realidad no hay ninguna necesidad de tener dos routers para montar la VLAN de invitados, pero como el pobre WDR3600 se había quedado sin trabajo cuando llegó el R7000 de reemplazo, decidí que una buena tarea para el era ocuparse de la wifi para invitados.

Volviendo al R7000, tiene un disco externo de 2TB conectado por USB3 que hace las veces de una mini NAS de los pobres para mi red. También hay un pequeño switch de 8 bocas para conectar algunos otros dispositivos.

Luego de esto pasamos a una variada gama de dispositivos que van y vienen, varios teléfonos celulares, notebooks, tabletas, chromecast, raspberrys, consolas de juego, smartTV, smartwatch, etc.

Aprovechando cuando se puede los 5GHz de la red y sino los 2.4GHz para los dispositivos que no lo soportan.

Como verán no es la típica red hogareña, pero es mi red hogareña y es bastante segura y versátil para las necesidades mías y de mi familia, siendo también lo bastante segura como para estar relativamente tranquilo en cuanto a la seguridad.

Se habrán dado cuenta que pasé por muchos temas los cuales casi no fueron detallados, ya que transformar esto en un tutorial lo haría muy extenso, pero sin llegar al extremo de dar explicaciones detalladas de como montar algo similar, estoy abierto a recibir las consultas que puedan tener sobre algunos detalles de la red, ya que como imaginaran hay mucha configuración sobre la que no me he explayado, sobre todo en el caso de pfSense que es donde más he trabajado para lograr la configuración actual y varias reglas del firewall en las distintas interfaces que tiene; que en realidad si bien son 3 físicamente, en la práctica son 5, como se ve a continuación en el Dashboard de pfSense, ya que el tunel IPv6 de Hurricane Electric está sobre la interface de Fibertel y la VLAN está sobre la interface de la LAN.

56279ac4-0cac-47cd-bacb-b83e817f7414.png

Linux virtual sever con KVM, pfSense, m0n0wall, FreeNAS y NAS4Free

23 abril, 2013 Deja un comentario
Screen Shot of Installing Ubuntu Server

English: Screen Shot of Installing Ubuntu Server (Photo credit: Wikipedia)

Finalmente luego de mucho tiempo encontré el tiempo para un viejo proyecto que tenía en mente desde hace mucho, montar servidores virtuales, lo cual fue posible gracias a Linux KVM.

Este proyecto me permitiò cumplir a la vez con 3 objetivos distintos. El primero era poder filtrar de alguna manera la navegación dentro de mi red hogareña, el segundo montar un server NAS, y el tercero, dejar abierta la posibilidad de seguir añadiendo servidores para distintos fines que pudieran surgir en el futuro, Asterisk por ejemplo.

Para esto, de ninguna manera iba a poder utilizar servidores reales, ya que no contaba con un lugar donde ubicar equipos físicos con espacio libre y por otro lado, estaba totalmente descartado destinar dinero para ir sumando equipos. Debido a esto, inmediatamente la mejor solución se planteaba por el lado de utilizar servidores virtuales gracias a la virtualización.

La idea de utilizar VMWare o Virtualbox quedó deshechada casi desde el comienzo, ya que el hardware que tenía disponible para utilizar estaría en un lugar de difícil acceso y sin monitor ni teclado, por lo que poder manejarlo remotamente desde una consola era uno de los requerimientos del proyecto. Por otra parte debido a los pocos recursos del hardware disponible (un viejo Athlon de 5 años de antiguedad!), la idea era instalar Ubuntu Server sin ningún entorno gráfico como Gnome que consuma recursos valiosos.

Finalmente la solución ideal resulto ser Ubuntu server con KVM (kernel based virtual machine), que resultó ser ideal debido a su fácil utilización por medio de la consola y su bajo consumo de recursos. Una vez decidido esto, ahora había que pasar a la elección de los S.O. a instalar en las máquinas virtuales. La idea original fue utilizar mi viejo y querido amigo, IPCop, pero realmente creo que el desarrollo de IPCop se ha quedado en el tiempo y como los recursos de hardware disponible para el servidor eran muy modestos, el candidato ideal parecía ser m0n0wall, un firewall de muy modestos requerimientos de hardware.

PfSense

Luego de analizarlo un poco, finalmente decidí ir por pfSense, que si bien está basado en m0n0wal, es más flexible ya que permite el agregado de varios paquetes adicionales que le brindan mucha funcionalidad extra, pero mantiene el bajo consumo de recursos de hardware para funcionar. Esa posibilidad de adicionar paquetes de software realmente permite agregar funcionalidad al producto original, y parte la funcionalidad principal que buscaba, el poder filtrar la navegación en mi red, era brindada jutamente por uno de esos paquetes no soportados por m0n0wall.

En cuanto al NAS, en principio pensé en FreeNAS, pero no funcionaba bien en la máquina virtual ya que era muy lento. Nunca logré descubrir el porque, ya que también se supone que funciona con pocos recursos, pero finalmente probé con Nas4Free que es una evolución del primero y funciona muy bien, por lo que fue el elegido.

freenas

freenas (Photo credit: cerami)

Una vez llegado a este punto, solo fue cuestión de probar y configurar un poco, resolviendo algunos problemas menores, como colisiones en la red, que eran debidos a los drivers de las placas de red virtuales. Simplemente cambiando la el driver por otro fue posible solucionarlo.

A estas alturas ya llevo cerca de un mes con pfSense gestionando la conexión a Internet sin mayores problemas que ocasionales picos de carga del pobre Atlhon (totalmente previsible!), pero solo cuando se corren algunas tareas programadas, por lo que el próximo paso será invertir en un buen hardware para ser utilizado como host del KVM.

Nueva actualización de Android Jelly Bean – 4.1.2

12 octubre, 2012 Deja un comentario

The official online color is: #A4C639 . 한국어: 공...

Hace muy pocos días fue liberada la actualización 4.1.2 de Android Jelly Bean y ya la tenemos disponible para nuestro querido Motorola Defy.

En este artículo de El Androide Libre pueden ver las novedades, de las cuales para mi la mejor de todas es la posibilidad de expandir las notificaciones con un solo dedo, ya que anteriormente en el 4.1.1. era necesario utilizar dos dedos y esto no siempre es fácil, ya que si no tenemos las dos manos libres no resulta tan fácil, En el siguiente video podemos ver como funciona.

Mi experiencia con Android 4.1 Jelly Bean

18 agosto, 2012 8 comentarios

Hace ya casi un mes que vengo usando Android 4.1 Jelly Bean en mi viejo y querido Motorola Defy, gracias a Quarx (este ruso a estas alturas ya es casi un héroe en la comunidad de XDA Developers), y puedo decirles que realmente vale la pena el cambio. Si bien la gente de Cyanogen ha hecho un trabajo muy bueno trayendo ICS al Defy, Quarx ha sabido ir un poco más allá y a menos de dos meses de la presentación de Jelly Bean por parte de Google en el Google I/O, el modesto Motorola Defy es uno de los pocos terminales que ya corre Android 4.1, junto con unos pocos elegidos como el Samsung Galaxy S2 y algunos otros (aunque claro está, no de manera oficial).

A estas alturas Motorola no va a liberar una versión oficial para el Defy, el cual ha sido abandonado allá por la versión 2.2 Froyo (o 2.3 Gingerbread si consideramos el Defy+ que es casi el mismo equipo); y si eventualmente lo hiciera, las operadoras probablemente nunca lo homologarían, ya que no tiene sentido comercialmente, por lo que seguir extendiendo la vida útil del Defy solo depende de los firmwares alternativos.

Pero volviendo concretamente a mi experiencia con Jelly Bean, realmente tiene algunas características que lo convierten en una mejor opción que ICS, como las nuevas notificaciones, la fluidez de la interfase (de la cual probablemente Project Butter sea el responsable) y Google Now entre otras, realmente funcionan lo suficientemente bien como para usarlas a diario, pero claro está, sabiendo que de tanto en tanto nos encontraremos con alguna sorpresa, alguna falla o un comportamiento errático, ya que no debemos olvidarnos que aún son solo versiones nightly.

En mi caso particular mi Defy en ocasiones está corriendo a 400MHz más que la velocidad estándard ya que esta lo tengo configurado para correr entre 300MHz y 1200MHz dependiendo de la necesidad, o como se dice, “on demand”.

Solo falta que Motorola libere el bootloader para poder escapar de los únicos dos kernels que actualmente se pueden usar (Froyo – Linux 2.6.32 y Gingerbread – Linux 2.6.35.7), y al parecer hay una luz de esperanza.

Lamentablemente la fragmentación que hay a Julio del 2012 es muy grande y actualmente solo el 0,8% de los terminales Android que existen están corriendo Jelly Bean, pero seguramente esa porción del mercado crecerá esperemos que rápidamente.

Plataforma Nivel de API  %
4.1.x Jelly Bean 16 0.8%
4.0.x Ice Cream Sandwich 14-15 15.9%
3.x.x Honeycomb 11-13 2,3%
2.3.x Gingerbread 9-10 60,6%
2.2 Froyo 8 15,5%
2.1 Eclair 7 4,2%
1.6 Donut 4 0,5%
1.5 Cupcake 3 0,2%

[editar]

Quienes se animen a rootear su equipo, instalar un 2nd init y zambullirse en el mundo de los firmwares alternativos, seguramente van a disfrutar de las nuevas características de Android 4.1 en sus viejos pero nobles Motorola Defys 🙂

Pre- Alpha de Android 4.1 Jelly Bean en Motorola Defy

12 julio, 2012 1 comentario

Mucho antes de lo que cualquiera hubiera podido suponer, Quarx, uno de los artífices de Android 4 ICS para el Motorola Defy, ya se ha puesto a trabajar en Android 4.1 Jelly Bean para Motorola Defy.

Por supuesto que se trata de una versión muy preliminar y en la cual probablemente casi nada funcione correctamente, pero claramente el habilidoso Quarx ya está claramente enfocado en traernos Jelly Bean al Motorola Defy.

De todas maneras, esto aún es anecdótico y no recomiendo que nadie salga corriendo a bajarlo e instalarlo, aunque claramente es posible hacerlo, ya que esta disponible para la descarga, pero mientras esperamos que vaya madurando podemos ir disfrutando de ICS.

Novedades del Google I/O 2012 – Android 4.1 Jelly Bean / Nexus 7 / Nexus Q / Google Now

29 junio, 2012 2 comentarios

Y finalmente Google lanzo Android 4.1 Jelly Bean en el Google I/O 2012. No es un cambio fundamental pero si trae algunas mejoras interesantes en cuanto a rendimiento (lo que veremos cuando se pueda probar!) y en cuanto a funcionalidad.

Y por supuesto tenemos nueva mascota un lindo tarro de jelly beans con la cabeza de nuestro conocido androide como tapa.

Lo que a mi parecer más se ha mejorado son las notificaciones, ya que ahora se puede consultar más información que antes (por ejemplo ver todos los emails que han ingresado sin tener que abrir la aplicación de emails) y también realizar algunas tareas más como ver noticias, gestionar llamadas, etc. y todo desde el centro de notificaciones, lo que permite mayor grado de interacción con las aplicaciones, pero sin tener que abrirlas.

Google también presentó su table Nexus 7, que por supuesto tiene Android 4.1 e interesantes especificaciones de hardware, como un procesador Tegra 3 quadcore de 1.3 GHz y pantalla HD de 1280 x 800 pixels.

Por otro lado también presentó el Nexus Q, que es un interesante dispositivo que permite acceder al contenido multimedia de Google Play (TV, música, videos, películas) para ser visualizado en cualquier dispositivo Android, TVs y sistemas de audio,

permitiendo también tener playlists grupales, social streaming, como lo denominaron.

Lo interesante es que todo el contenido siempre está almacenado en la nube y el Nexus Q es el encargado de accederlo. Por otro lado tiene un diseño muy original ya que es una esfera con un círculo luminoso a su alrededor.

Pero sin duda el plato fuerte fue Google Now, que lleva un paso hacia adelante las búsquedas ya que las integra con la agenda personal y la localización, haciendo que las búsquedas estén relacionadas con el lugar en dónde estamos y con lo que tenemos que hacer. También si por ejemplo tenemos que ir a

algún lugar, nos avisará cuando debemos salir para poder llegar a tiempo teniéndo en cuenta donde estamos, la demora que puede haber por el tráfico actual y la hora a la que tenemos que llegar, ¡sencillamente genial!, todo esto con una mejorada búsqueda por voz que claramente intenta encaminarse como competencia al Siri de Apple, pero sin ser realmente lo mismo.

CyanogenMod 9.0-RC1 con Android 4.0.4 a las puertas de Android 4.1 Jelly Bean

26 junio, 2012 Deja un comentario

Cyanogen esta lanzando su CM9 (CyanogenMod 9) release candidate 1 y ya es prácticamente un hecho el lanzamiento de Android 4.1 por parte de Google ya que ya han colocado la tipica estatua en Googleplex.

Image

Puesto que mañana es el Google I/O, todo hace pensar que será oficialmente anunciado Android 4.1 Jelly Bean.

Solo esperemos que Google sea más amigable con los usuarios de Android y la nueva versión no torne obsoletos a los equipos que los propios fabricantes tornan obsoletos continuamente al dejar de soportarlos.

Tal vez sea muy inocente, pero sería bueno que Jelly Bean traiga nueva vida a los equipos que ya se están un poco pesados con ICS y les de un poco más de tiempo de vida, aunque la verdad que lo más probable es que pase lo contrario y tengamos todos que salir a actualizar nuestros equipos si queremos correr Jelly Bean.

El tiempo (y seguramente la gente de Cyanogen) dirá cual es el destino de nuestros equipos que vieron la luz en los tiempos de Eclair, Froyo (no Frodo Bolson, aunque ya parecieran ser de esa época!) y Gingerbread.

A %d blogueros les gusta esto: