a entonces lo que queres hacer es blanceo de carga , y lo podes hacer
con iproute e ipables
te paso un breve tuto que una ves me pasaron
1. Introducción
Antes que nada quiero decir que me decidí a escribir esto (soy bastante
vago para documentar) ya que este tema me rompió la cabeza por bastante
tiempo. Me leí todo (bueno, casi todo) lo que encontré en la red, y
nada, nada pareció funcionar, de todas maneras, les recomiendo que lean
todo lo que puedan al respecto.
Lo siguiente es aclarar que no me hago responsable de nada
absolutamente. Pero si alguien encuentra un mejor modo de hacer esto
espero leer su COMO pronto.
2. Razones para usar el balanceo de carga
Tengo una LAN que demanda cada vez más. Asi que compramos más ADSL
(cuando las telcos se decidan a bajar las lineas digitales, esto sera
historia). Al principio marcaba los paquetes y los direccionaba a una u
otra salida, como algunos salian con proxy (squid) y otros no, esto era
suficiente. Y era dificil predecir cuales o cuantos servicios usar por ADSL.
Decidí que era momento de balancear cargas, lei la documentación al
respecto, fracasé varias veces, pero hoy todo funciona perfecto. (al
menos eso supongo)
3. Descripción del equipo
Server, linux 2.6.x (funciona tambien en 2.4.x)
Distro, Fedora Core 3 (si recompilan el kernel esta distro es sumamente
estable)
NIC, varias (5) todas correctamente configuradas
ADSL, varios (4), marca Tainet.
4. Configurando la red
A los ADSL los deje haciendo NAT y discando solos, ya que con PPPoE tuve
algunos incovenientes. La más facil era esta.
Me quedó la red de la siguiente forma:
eth0 LAN 192.168.100.254/24
eth1 10.0.1.1/24 GW WAN0 10.0.1.254/24
eth2 10.0.2.1/24 GW WAN1 10.0.2.254/24
eth3 10.0.3.1/24 GW WAN2 10.0.3.254/24
eth4 10.0.4.1/24 GW WAN3 10.0.4.254/24
Espero que se entienda esto, si alguien lo quiere traducir a cristiano,
mejor.
Para que esto funcione tenemos que usar iproute2, de nuevo aclaro que
hay miles de páginas al respecto, asi que no sean tímidos, pueden
leerlas de internet.
5. Armando el script
(se puede cortar y pegar, pero no va a funcionar a menos que tengas la
misma configuracion mia :P)
#!/bin/sh
# Limpio la cache
# FC3 tiene configurado limpiar las tablas cada 5 minutos, se puede
cambiar este tiempo.
ip route flush cache
# Reinicio lo
ip addr flush lo
ip link set lo down
ip addr add 127.0.0.1/8 dev lo
ip link set lo up
# Reinicio eth0, LAN, lo mismo esto para cada placa de red
ip addr flush eth0
ip link set eth0 down
ip addr add 192.168.100.254/24 dev eth0
ip link set eth0 up
# ... aqui van las otras placas exactamente =
# Reinicio eth4
ip addr flush eth4
ip link set eth4 down
ip addr add 10.0.4.1/24 dev eth4
ip link set eth4 up
# Limpio las tablas de ruteo
ip route flush default
ip route flush table 1
# ... aqui se vacian las otras tablas exactamente =
ip route flush table 4
# Creo las tablas de ruteo
ip route add 192.168.100.0/24 dev eth0 src 192.168.100.254
ip route add 10.0.1.0/24 dev eth1 src 10.0.1.1
# ... aqui van las otras tablas exactamente =
ip route add 10.0.0.0/24 dev eth4 src 10.0.4.1
# Este script me lo hice porque tenia fiaca de copiar cada tabla main en
la respectiva tabla del 1 al 4, se puede mejorar, asi que toda suya
ip route show table main | grep -Ev ^default | while read ROUTE ; do ip
route add table 1 $ROUTE ; done
# ... aqui van las otras copias de tablas exactamente =
ip route show table main | grep -Ev ^default | while read ROUTE ; do ip
route add table 4 $ROUTE ; done
ip route add table 1 default via 10.0.1.254
# ... aqui van los otros GW exactamente =
ip route add table 4 default via 10.0.4.254
# configuro las reglas de ruteo
ip rule add from 10.0.1.1 table 1
# ... lo mismo que antes :P
ip rule add from 10.0.4.1 table 4
# balanceo de carga
ip route add default equalize nexthop via 10.0.1.254 dev eth1 weight 1 \
nexthop via 10.0.0.3 dev eth2 weight 1 \
# bueno aqui paras si tenes solo dos ADSL le sacas el \ of course, sino
agrega tantos
# nexthop como sean necesarios, una nota importante es el weight, yo les
puse uno a todos
# porque todos mis ADSL son de 512, si tenes conexiones más veloces
modificas este numero
# aqui dice que saldra una conexion por cada adsl, si pusiera 2 en
alguno de ellos
# pasaran dos antes de seguir al siguiente ADSL
nexthop via 10.0.4.254 dev eth4 weight 1
#END
Bueno, ahi se termino todo, podes tener la red funcionando y correr
esto, ya que bajo toda configuración anterior. Si queres ver si esto
funciona pones lo siguiente:
ip route show, si te muestra algo como esto:
default equalize
nexthop via 10.0.1.254 dev eth1 weight 1
...
nexthop via 10.0.4.254 dev eth4 weight 1
Quiere decir que lo lograste, y podés mandar alguna donación para que yo
pueda terminar mi primaria.
Usa iptraf para ver el trafico y ip route show cache para ver que sale
por cada conexión.
6. Los últimos toques
Dije que algunos salen con proxy y otros sin, asi que agregue este par
de líneas a mi firewall:
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.0.1.1
...
iptables -t nat -A POSTROUTING -o eth4 -j SNAT --to-source 10.0.4.1
Debería conectarse todo bien, deberían pasar los ping desde cualquier
terminal a internet sin ningún problema, tendría que funcionar servicios
vitales como el msn hotmail y yahoo.
Si algo esta mal o no funciona, me mandan un mail. Pero siempre teniendo
en cuenta el punto 1 de este documento
Bueno, termine todo esto limitando el ancho de banda sobre todo a los
P2P, usando CBQ.
Muchas gracias
Alex
----------------
AE!
Antonio Garcia Marin wrote:
Maxnux escribió:
BLEYCK LINX wrote:
Con eso lo único que conseguiras es un balance de carga de las
tarjetas de red no aumentar la velocidad del internet, creo que eso
es, o sino que alguien me corriga y puedes mirar en este enlace:
http://www.ecualug.org/?q=2006/05/12/blog/manu/como_hacer_bonding_en_rhel4_y_clones
yo pienso igual
Y no olvidarse quera hacer boding el switch deber soportar trunk
saludos
El día 2/06/07, *killerfs* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> escribió:
buscaba por san google. la manera de hacer que mis dos tarjetas
de red
se conecten a internet
y poder duplicar o aumentar el ancho de banda.
se dispone de dos ipfijas, cada una con 400 kbps
ejm
200.x.x.1 ->eth1
200.x.x.2 -> eth2
quiera que cuando haga el nateo o el proxeo (squid) la velocidad
de de
1200kbps, se puede hacer?
y ver si se puede repetir la experiencia con un server de BD, que
quiero que si falla una tarjeta la otra responda , en este caso
tendria dos ip fijas (cada tarjeta con su ip) y si falla una
tarjeta la
otra pueda sobrevivir sin problemas
gracias!!!
_______________________________________________
CentOS-es mailing list
CentOS-es@centos.org <mailto:CentOS-es@centos.org>
http://lists.centos.org/mailman/listinfo/centos-es
------------------------------------------------------------------------
_______________________________________________
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es
_______________________________________________
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es
En mi empresa usamos dos conexiones de internet distintas (DSL, LDMS)
que entran en un unico firewall (Centos 4).
La idea era que si una conexion falla (LDMS por la lluvia) la empresa no
para al usar la otra. (ADSL)
Empezamos con el documento que te comenta Ernesto que al final te
llevara a un parche llamado Jumbo para aplicarselo al kernel.
Ahora mismo esta funcionado (Aunque este equipo no lo toco yo)
Estuve buscando muchisimo y ninguna distro de linux lo hace directamente.
Existe una de FreeBSD que si. Se llama pfSense.
El lunes me enterare como lo hizo mi compañero.
_______________________________________________
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es
_______________________________________________
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es