martes, 7 de abril de 2015

Balanceo de Carga entre WANs con Pfsense.

He realizado este articulo con el mero fin de ayudar a varias personas que me han preguntado sobre como aumentar la capacidad de descarga de su conexion a internet.

La realidad es que no existe manera de que por ti mismo te aumentes la velocidad que tu proveedor de servicios te brinda sin que tengas que pagar(almenos no facilmente ni legal). Aunque aveces el problema no es el dinero sino la cobertura de prestadora de servicio y es aqui donde este y otros tantos escenarios este articulo te puede ayudar.

Digamos que vives en una zona rural donde tu prestadora de servicios te puede vender un maximo de 5 Mbps pero requieres tener 10,20, 30 mbps la alternativa podria ser utilizar Pfsense.

Con 2 lineas de 5mbps puedes hacer la suma de ambas lineas y obtener 10mbps para tu red, hogar u oficina ademas de otros beneficios que te comentare mas adelante.

Empecemos:

Que es Pfsense?

Es un Firewall/Router de codigo libre, el cual se a destacado ultimamente por ser bastante robusto y confiable. Ademas ofrece otras funcionalidades solo encontradas en soluciones costosas de fabricantes reconocidos en la industria.

Puede ser 100% configurado y administrado a traves de su interfaz web y aunque este corre sobre un sistema operativo base FreeBSD puede ser usado por cualquiera sin importar que tengas o no el mas minimo conocimiento sobre FreeBSD.

Hardware:

Pfsense es compatible con gran cantidad de hardware existente para mayor informacion sobre esto puedes consultar en su pagina oficial www.pfsense.org, tambien puedes preguntar en el grupo de expertos en el foro o bien en facebook. Aunque el requerimiento minimo varia dependiendo lo que quieras lograr. Yo por ejemplo en mi hogar estoy utilizando una vieja Netbook Acer Aspire One con un procesador Intel Atom 1.7 ghz 64bit lo cual en mi opinion para lo que necesito es un overkill (tratando de matar una mosca con una bazooka) ya que Pfsense es bastante liviano.

Por lo que decidi correr Centos 6.5 y sobre el instalar Virtualbox y alli montar mi PFsense. Como este computador solo cuenta con una tarjeta de red por tratarse de un portatil he tenido que hacerme de un Switch Administrable con soporte de encapsulacion 802.1q el modelo en especifico es un Cisco 2950. Pero puedes usar el que te apetesca mas siempre que cumpla con las 2 primeras condiciones yo elegi Cisco, por el precio, y por la familiaridad que tengo con el IOS de Cisco se me hace muy facil crear, borrar, en fin administrar vlans en estos equipos.

Si no cuentas o no quieres emplear un switch deberias de tener al menos 3 tarjetas de Red para lograr esta configuracion como usar varias tarjetas Nic es el escenario mas comun asi que haremos este tutorial basados en eso.

Puedes emplear una NIC para cada red o puedes bien comprar o hacerte de una NIC con varios puertos como las que te muestro debajo aunque cuando estas sobre pasan los 2 puertos se tornan un tanto costosas al punto de que probablemente te saldria mas barato comprar un switch.






Primer paso:

Tras la instalacion del Pfsense te saldra en la consola algo como esto:



Como no estaremos haciendo esta configuracion con Vlan's marcamos N damos enter y luego debemos definir cual es el rol de cada una de nuestras interfaces de red. Aqui se pone un poco tedioso porque debes identificar cual tarjeta es cual lo que yo hago es conectar solo uno de mis routers a cualquiera de las tarjetas de red hasta que me aparesca en status "Up".

En mi caso la interfaz WAN es la em0 y mi interfaz Lan es la em1 la tercera tarjeta la cual sera WAN2 es la em2 la cual aun me aparecera bajo el nombre de OPT1.

 Una vez tengamos esto listo nos aparecera la siguiente pantalla la cual nos seguira apareciendo siempre apartir de ahora. Este no es mas que un menu del cual podemos hacer uso tambien para administrar nuestro pfsense a traves de la CLI.


Aun no podemos pasar a la parte Web de Pfsense nos resta encender el servicio de DHCP server para que nuestros clientes se puedan conectar a la LAN, por defecto Pfsense no te dejara tener acceso a la WebGUI por la conexion WAN asi que debes estar conectado a la LAN.

Para configurar y encender el servidor DHCP presionamos la opcion 2 (Set Interfaces Ips) te debe aparecer lo siguiente:

Te va a solicitar que identifiques cual interfaz vas a modificar en nuestro caso es la LAN asi que pulse la opcion 2 te debe aparecer ahora las opciones para que configures la ip que deseas utilizar yo deje configurada 192.168.1.1/24 y el rango de ip que deseo repartir va desde la 192.168.1.2-192.168.1.254, no es necesario agregar un gateway ni para ipv4 ni para ipv6 una vez concluyamos solo damos enter. Nos preguntara que si deseamos reiniciar el servicio de HTTPWeb configurator, realmente nunca lo he reiniciado y no me ha dado problemas otros recomiendan el reinicio asi que dejo este paso a decision de ustedes.

Ya si estamos listos para empezar con la configuracion a tra ves de la Web. La primera vez que entremos puede que nos salga de inmediato el wizard pero aveces debemos de loguearnos primero las credenciales por defecto son username: admin y el password:pfsense.

Debemos completar el wizard no creo necesario agregar pantallazos de eso porque es bastante sencillo y se explica por si mismo.

Asi que vamos de una vez a configurar nuestro balanceador de carga entre nuestras 2 conexiones a internet:

Paso 1.

Ir al menu interfaces seleccionamos "assign".

Agregamos una nueva interfaz.

Hacemos click sobre OPT1 para entrar a la configuracion general de esa interfaz.

Habilitamos la interfaz, luego cambiamos el nombre si gustas, yo llamare la mia WAN2, y dejamos activado el protocolo DHCP si deseamos que esta interfaz tome la configuracion ip de nuestro modem o router DSL y luego de salvar los cambios los aplicamos.




Luego vamos al menu System y dentro a la opcion routing.

Luego a "groups" para crear nuestro grupo de gateways.


Aca seleccionamos que ambos gateways tengan el mismo nivel de prioridad, y en general debe lucir como se muestra aca debajo para que haya redundancia, balanceo de carga y tolerancia a fallas o failover. Salvamos y aplicamos y ya casi terminamos.



Luego vamos al menu Firewall, seleccionamos "rules" y dentro de rules no vamos al tab de LAN, editamos la regla que se muestra a continuacion:


Nos vamos hacia abajo y donde dice "gateway" abrimos el drop down menu y seleccionamos el gateway que tenga el mismo nombre que elegimos cuando configuramos el grupo de gateways.

Salvamos, aplicamos, y listo!



Con esto deberia ser suficiente para tener un balanceador de carga 100% funcional. Existen uno que otro tips que no mencione porque se extenderia mucho que haran que le saquen mas provecho a esta configuracion pero que luego ire comentandoles en otros articulos y en un posible video de esto.