[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: balanceo de carga




Muy buenas Fernando. Mira a ver esto, que no me cuadra :)

IP_ROUTER1 = "10.0.0.1"
IP_ROUTER2 = "10.0.1.1"
NET_ROUTER1 = "10.0.0.0/24"
NET_ROUTER2 = "10.0.1.0/24"
ip addr add 10.1.0.100/24 dev eth1
ip link set eth1 up
ip addr add 10.2.0.200/24 dev eth2
ip link set eth2 up

deberia ser:
ip addr add 10.0.0.100/24 dev eth1
ip addr add 10.0.1.100/24 dev eth2

Las ips que has asignado no están en la subredes definidas (y que luego utilizas). Supongo que esto será lo que te provoca los errores. Pero tal vez ni aun así funcione, me explico:

Como has comentado, es posible que necesites hacer nat. Si una máquina interna sale por tu linux hacia una adsl y luego a internet, a internet podría llegar porque es el propio router el que enmascara... pero y el viaje de vuelta? El router desconoce el paradero de la red 192.168.0.0/24, por lo que no buscaria dicha red en tu linux sino en su propio firewall. SOLUCIONES:

1. Indicarle al los routers adsl la existencia de una red 192.168.0.0/24 via tu linux. 2. En caso de que no puedas incluir rutas en el router, pues le diremos al linux que enmascare los paquetes hacia tus routers con una ip del rango 10.0.x.x/24, de modo que sepa enrutar el viaje de vuelta. Para hacer esto, simplemente pon:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 10.0.0.100
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to 10.0.1.100

Suerte!!!
PD: Si sigue sin funcionar, envianos algun error :P

---------------------------------------------
Arnau Carrasco - http://www.arnaucarrasco.com
---------------------------------------------

----- Original Message ----- From: "Fernando" <zedrant@gmail.com>
To: "Debian List" <debian-user-spanish@lists.debian.org>
Sent: Wednesday, March 07, 2007 7:45 PM
Subject: balanceo de carga


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Les comento, estoy tratando implementar el balanceo de carga en mi
servidor, tengo dos lineas adsl una de 1.2 mb y la otra de 2.4 mb para
brindarle internet a mi LAN, voy a tratar de hacer un esquema para que
se entienda mas facil


ADSL 1.2 MB                      ADSL 2.4 MB
  eth1  (10.0.0.1)                  eth2 (10.0.1.1)
    |        |
    |________              ___________|
             |            |
          ___|____________|___
         |       LINUX        |
         |    kernel 2.4.30   |
         |____________________|
                    |
                    |
                    |
                   LAN
   eth0 (192.168.0.0/24)

Bueno para las conexiones adsl tengo dos router que me mandan ya todo
listo, ahora leyendo el libro de LARTC.org pude armar un script acorde a
mi arquitectura de red y bueno.. tengo unos problemitas:


#!/bin/sh
#
# --- INI VARIABLES --- #
IF_LAN = "eth0"
IF_ROUTER1 = "eth1"
IF_ROUTER2 = "eth2"

IP_LAN = "192.168.0.1"
IP_ROUTER1 = "10.0.0.1"
IP_ROUTER2 = "10.0.1.1"


NET_LAN = "192.168.0.0/24"
NET_ROUTER1 = "10.0.0.0/24"
NET_ROUTER2 = "10.0.1.0/24"
# --- FIN VARIABLES --- #


# --- INI FLUSH ADDRESS & ROUTE DEFAULT--- #
ip addr flush lo
ip link set lo down

ip addr flush eth0
ip link set eth0 down

ip addr flush eth1
ip link set eth1 down

ip addr flush eth2
ip link set eth2 down

ip route flush default
ip route flush cache
ip route flush table T1
ip route flush table T2
# --- FIN FLUSH ADDRESS & ROUTE DEFAULT --- #


# --- INI LINK UP --- #
ip addr add 127.0.0.1/8 dev lo
ip link set lo up

ip addr add 192.168.0.100/24 dev eth0
ip link set eth0 up

ip addr add 10.1.0.100/24 dev eth1
ip link set eth1 up

ip addr add 10.2.0.200/24 dev eth2
ip link set eth2 up
# --- FIN LINK UP --- #

# --- INI ROUTER TABLES --- #
ip route add $NET_LAN dev $IF_LAN table T1
ip route add $NET_ROUTER1 dev $IF_ROUTER1 table T1
ip route add 127.0.0.0/8 dev lo table T1

ip route add $NET_LAN dev $IF_LAN table T2
ip route add $NET_ROUTER2 dev $IF_ROUTER2 table T2
ip route add 127.0.0.0/8 dev lo table T2

ip route add $NET_ROUTER1 dev $IF_ROUTER1 src $IP_ROUTER1 table T1
ip route add default via $IP_ROUTER1 table T1

ip route add $NET_ROUTER2 dev $IF_ROUTER2 src $IP_ROUTER2 table T2
ip route add default via $IP_ROUTER2 table T2

ip route add $NET_ROUTER1 dev $IF_ROUTER1 src $IP_ROUTER1
ip route add $NET_ROUTER2 dev $IF_ROUTER2 src $IP_ROUTER2

ip route add default via $IP_ROUTER1

ip rule add from $IP_ROUTER1 table T1
ip rule add from $IP_ROUTER2 table T2
# --- FIN ROUTER TABLES --- #

# --- INI EQUILIBRANDO LAS CARGAS --- #
ip route add default scope global nexthop via $IP_ROUTER1 dev
$IF_ROUTER1 weight 2 \
nexthop via $IP_ROUTER2 dev $IF_ROUTER2 weight 1
# --- FIN EQUILIBRANDO LAS CARGAS --- #

Bueno, mi problema esta aca:

ip route add $NET_ROUTER1 dev $IF_ROUTER1 src $IP_ROUTER1 table T1
ip route add default via $IP_ROUTER1 table T1

ip route add $NET_ROUTER2 dev $IF_ROUTER2 src $IP_ROUTER2 table T2
ip route add default via $IP_ROUTER2 table T2

al ejecutarse esto me tira un error y me dice como que la red esta mal
no recuerdo el error textual

y luego al ejecutar esto

ip route add default scope global nexthop via $IP_ROUTER1 dev
$IF_ROUTER1 weight 2 \
nexthop via $IP_ROUTER2 dev $IF_ROUTER2 weight 1

me tira otro error diciendome que la fila ya existe, y logicamente no
funciona..
Ademas tengo una duda, suponiendo que esto anduviera como hago para
compartir internet? es necesario aplicar nat? como serian las reglas de
nat luego de armar todas estas rutas?

Saludos.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFF7whFoiaJ45+hqn8RApbhAJ9t/LXtvXpGEM/udxRzKAYfGYKM/gCfWHDW
+5MDqxXKeqnTFM91rh3Xa4g=
=Xhkx
-----END PGP SIGNATURE-----


--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org





Reply to: