Sumar 2 isp

4

Click here to load reader

Transcript of Sumar 2 isp

Page 1: Sumar 2 isp

Cuando alguien entra a su casa, generalmente entra por la puerta, o si es medio paranoico, tal vez por la ventana, pero nunca por las dos a la vez, ya que un cuerpo partido por la mitad no puede sobrevivir.En el modelo TCP/IP pasa exactamente lo mismo. Un paquete sale (petición) y entra (respuesta) obligatoriamente por el mismo gateway. En resumen se puede sumar y/o aumentar la velocidad global de descarga, pero no se puede descargas 1 solo archivo con dos conexiones diferentes.

Podemos hacer que este archivo se descargue por segmentos y posteriormente unirlos por trozos, con lo que al final el resultado que obtenemos sera la suma de ambas conexiones.

Hay varias formas de sumar ancho de banda.Mediante software.Windows: WinGate, Double Surfer, BVRP Connection Manager, MultiNetwork Manager, etcLinux: pfsense, brazilfw, mikrotik, iproute2, entre otros.Mediante HardwareCon routers de doble WAN (Dual Wan) “Multihomed” o “Multiwan”

En nuestro caso vamos a utilizar los comandos iproute2.Iproute2 es un paquete de utilidades desarrollado por Alexey Kuznetsov. Este paquete es un conjunto de herramientas muy potentes para administrar interfaces de red y conexiones en sistemas Linux.Este paquete reemplaza completamente las funcionalidades presentes en ifconfig, route, y arp y las extiende llegando a tener características similares a las provistas por dispositivos exclusivamente dedicados al ruteo y control de tráfico.Algunas de las funcionalidades principales que provee iproute2 son:

QoS (Quality of service), priorizando distintos tipos de tráfico. El control de tráfico está compuesto por varias operaciones distintas, entre ellas: un mecanismo de clasificación en el cual se identifican los paquetes y se colocan en distintas clases o flujos, políticas en donde se limita el número de paquetes o en bytes que pueden ser utilizados en un stream de clasificación particular, además se tienen decisiones de planificación en donde se decide el orden.

Mantener múltiples tablas de ruteo por diferentes puertas de enlaces conectadas a distintos dispositivos.

Balanceo de carga, asignándole pesos a cada una de las placas existentes dentro de mi máquina.

 

Page 2: Sumar 2 isp

Nomenclaturas:eth0 : primer interfaz conectado a la ADSL110.10.10.10 : ip asociada a eth010.10.10.1 : ip del router ADSL110.10.10.0/24: subred de ADSL1

 

eth1 : primer interfaz conectado a la ADSL210.10.20.10 : ip asociada a eth010.10.20.1 : ip del router ADSL210.10.20.0/24: subred de ADSL2

1ro:Crear 2 tablas de rutas adicionales al fichero /etc/iproute2/rt_tables es tan sencillo como abrir el fichero con un editor de texto y añadir las 2 lineas siguiente:

200 ADSL1201 ADSL2

El fichero quedaría de la siguiente forma

 

root@sfvubuntu:~# cat /etc/iproute2/rt_tables## reserved values#255 local254 main253 default0 unspec## local##1 inr.ruhep200 ADSL1201 ADSL2

2do:Asignamos cada subred a la tabla e interfaz correspondiente

Page 3: Sumar 2 isp

ip route add 10.10.10.0/24 dev eth0 src 10.10.10.1 table ADSL1ip route add default via 10.10.10.10 table ADSL1ip route add 10.10.20.0/24 dev eth1 src 10.10.20.1 table ADSL2ip route add default via 10.10.20.10 table ADSL2

3ro:Ahora hace falta asegurar que el servidor contesta por la misma interfaz que se ha echo la petición

ip route add 10.10.10.0/24 dev eth0 src 10.10.10.1ip route add 10.10.20.0/24 dev eth1 src 10.10.20.1

4to:Solo hace falta crear la ruta por defecto balanceada, en vez de utilizar una ruta por defecto, configuraremos una ruta por defecto que es multicamino o “multi-path route”. Por defecto el kernelequilibrará las rutas sobre los dos posibles proveedores.

ip route add default scope global netxhop via 10.10.10.10 dev eth0 weight 1 nexthop via 10.10.20.10 dev eth1 weight 1

Observar como se utiliza el parámetro “weight” para decir que las dos adsl tienen la misma importancia. Tienen la misma velocidad. Si tuviéramos una ADSL 5 veces más rápida que otra pondríamos algo como:

ip route add default scope global netxhop via 10.10.10.10 dev eth0 weight 1 nexthop via 10.10.20.10 dev eth1 weight 5

Esto quiere decir que de 6 paquetes que deban ser enviados por alguno de los dos gateways 5 serán enviados por 10.10.20.10 y 1 será enviado por 10.10.10.10

Para comprobar como ha quedado la tabla de ruteo en una consola tecleamos el siguiente comando y recibiremos una respuesta muy parecida a esta.

root@sf-v-ubuntu:~# ip route10.10.20.0/24 dev eth1 proto kernel scope link src 10.10.20.1010.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.10defaultnexthop via 10.10.20.1 dev eth1 weight 1nexthop via 10.10.10.1 dev eth0 weight 1

Una forma sencilla de comprobar que el sistema que acabamos de implementar funciona es hacer trazados de rutas o graficar los enlaces.

root@sf-v-ubuntu:~# tracepath www.cuba.cu1: 10.10.20.10 (10.10.20.10) 0.635ms pmtu 1500...root@sf-v-ubuntu:~# tracepath www.google.com.cu1: 10.10.10.10 (10.10.10.10) 0.354ms pmtu 1500...

Como verán cada petición se hace utilizando 1 enlace a la vez!