[LUG.ro Mix] Balanceo de carga con mikrotik.-

Guillermo Javier Nardoni gjnardoni en yahoo.com.ar
Vie Oct 30 16:14:25 ARST 2009


Hola buenas tardes:

Mi consulta es básicamente lo que dice el topic del mail.
Tengo la siguiente estructura, todo corriendo con mikrotik x86.-

svr01:
mt 3.20
x86
ether1:
ip: 201.213.51.33
netmask: 255.255.255.0 (SIN PALABRAS) --> fibertel
gw: 201.213.51.1
subnet: 201.213.51.0
broadcast: 255.255.255.255

ether2: (dmz)
ip: 172.17.0.1
subnet: 172.17.0.0 (/24)
broadcast: 172.17.0.255


ether3:
ip: 172.17.1.1
subnet: 172.17.1.0 (/24)
broadcast: 172.17.1.255

svr02:
mt 3.20
x86
ether1:
ip: 190.191.33.216
netmask: 255.255.255.0 (SIN PALABRAS) --> fibertel
gw: 190.191.33.1
subnet: 190.191.33.0
broadcast: 255.255.255.255

ether2: (dmz)
ip: 172.17.0.2
subnet: 172.17.0.0 (/24)
broadcast: 172.17.0.255


ether3:
ip: 172.17.2.1
subnet: 172.17.2.0 (/24)
broadcast: 172.17.2.255


blcr01 (balanceador)
mt 3.20
x86
ether1:
ip: 172.17.1.2
subnet: 172.17.1.0 (/24)
broadcast: 172.17.1.255


ether2: (LAN)
ip: 172.17.10.1
subnet: 172.17.10.0 (/24)
broadcast: 172.17.10.255


ether3:
ip: 172.17.2.2
subnet: 172.17.2.0 (/24)
broadcast: 172.17.2.255


bueno, la cosa es así:
Todo funciona perfectamente salvo el balanceo, es decir los dmz 
funcionan bien, hay un dns por round robin que distribuye las peticiones.
El problema radica en el balanceador, es como que no se marcan las 
conexiones (tcp-state = new)y luego los related y establishied.-
He intentado la configuración con varios scripts de la página de 
mikrotik y manuales encontrados en la red pero siempre algo le faltaba.
Como último intento lo que hice fue "traducir" lo que me funcionaba 
perfectamente en un debian como balanceador y anda casi bien, solo tengo 
dos salvedades.-
1ero: el msn se cae y vuelve a conectar (para mi no es otra cosa mas que 
el marcado de ruta o paquetes)
2do: solamente tengo problemas al entrar al sitio, 
https://stealth.claro.com.ar (es un sitio de agentes de claro que yo en 
particular lo utilizo para el negocio).

a continuación pego las rutas del balanceador:


[admin en MikroTik] /routing> /ip route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r 
- rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - 
prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY-STATE 
GATEWAY                                                   DISTANCE INTERFACE
 0 X S  0.0.0.0/0                                        
172.17.3.1                                                1
 1 X S  0.0.0.0/0                                        
172.17.5.1                                                2
 2 X S  0.0.0.0/0                                        
172.17.3.1                                                1
                                                         172.17.5.1
 3 A S  0.0.0.0/0                          reachable     
172.17.3.1                                                1        vlan_201
                                           reachable     
172.17.5.1                                                         vlan_190
 4 X S  172.17.0.0/24                                    
172.17.5.1                                                1
 5 X S  172.17.0.0/24                                    
172.17.3.1                                                1
                                                         172.17.5.1
 6 X S  172.17.0.0/24                                    
172.17.3.1                                                1
 7 A S  172.17.3.0/24      172.17.3.2      reachable     
172.17.3.1                                                1        vlan_201
 8 ADC  172.17.3.0/24      
172.17.3.2                                                                              
0        vlan_201
 9 A S  172.17.5.0/24      172.17.5.2      reachable     
172.17.5.1                                                1        vlan_190
10 ADC  172.17.5.0/24      
172.17.5.2                                                                              
0        vlan_190
11 ADC  172.17.10.0/24     
172.17.10.1                                                                             
0        lanes

admin en MikroTik] /ip> /ip address print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   172.17.5.2/24      172.17.5.0      172.17.5.255    vlan_190
 1   172.17.3.2/24      172.17.3.0      172.17.3.255    vlan_201
 2   172.17.10.1/24     172.17.10.0     172.17.10.255   lanes


[admin en MikroTik] /ip firewall> mangle print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; LALALA
     chain=prerouting action=mark-connection new-connection-mark=wan_1 
passthrough=yes connection-state=new in-interface=lanes nth=2,1

 1   chain=prerouting action=mark-connection new-connection-mark=wlan_2 
passthrough=yes connection-state=new in-interface=lanes nth=2,2

 2   chain=prerouting action=mark-packet new-packet-mark=wan_201 
passthrough=yes in-interface=lanes

 3   chain=prerouting action=mark-packet new-packet-mark=wan_190 
passthrough=yes in-interface=lanes

 4   chain=input action=mark-packet new-packet-mark=wan_190 
passthrough=yes in-interface=vlan_190

 5   chain=input action=mark-packet new-packet-mark=wan_201 
passthrough=yes in-interface=vlan_201

 6   chain=forward action=mark-packet new-packet-mark=wan_201 
passthrough=yes in-interface=vlan_201

 7   chain=forward action=mark-packet new-packet-mark=wan_190 
passthrough=yes in-interface=vlan_190

 8   chain=postrouting action=mark-packet new-packet-mark=wan_190 
passthrough=yes out-interface=vlan_190

 9   chain=postrouting action=mark-packet new-packet-mark=wan_201 
passthrough=yes out-interface=vlan_201

[admin en MikroTik] /ip firewall> filter print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; INPUT: BAD_TCP
     chain=input action=jump jump-target=bad_tcp_packets protocol=tcp

 1   ;;; INPUT: ALLOWED
     chain=input action=jump jump-target=allowed protocol=tcp

 2   ;;; INPUT ICMP
     chain=input action=jump jump-target=icmp_packets protocol=icmp

 3   ;;; FORWARD BAD_TCP
     chain=forward action=jump jump-target=bad_tcp_packets protocol=tcp

 4   ;;; OUTPUT: BAD_TCP
     chain=output action=jump jump-target=bad_tcp_packets protocol=tcp

 5   ;;; CHAIN:: BAD_TCP
     chain=bad_tcp_packets action=reject reject-with=tcp-reset 
tcp-flags=syn,ack connection-state=new protocol=tcp

 6   chain=bad_tcp_packets action=drop tcp-flags=!syn 
connection-state=new protocol=tcp

 7   ;;; CHAIN: ALLOWED_TCP
     chain=allowed action=accept tcp-flags=syn protocol=tcp

 8   chain=allowed action=accept tcp-flags=syn 
connection-state=established protocol=tcp

 9   chain=allowed action=accept tcp-flags=syn connection-state=related 
protocol=tcp

10   ;;; CHAIN: ICMP_PACKETS
     chain=icmp_packets action=accept protocol=icmp 
src-address=0.0.0.0/0 dst-address=0.0.0.0/0 icmp-options=0:0-255

11   ;;; INPUT: ESTABLISHED,RELATED
     chain=input action=accept connection-state=established 
dst-address=172.17.3.2

12   chain=input action=accept connection-state=related 
dst-address=172.17.3.2

13   ;;; INPUT: ESTABLISHED,RELATED
     chain=input action=accept connection-state=established 
dst-address=172.17.5.2

14   chain=input action=accept connection-state=related 
dst-address=172.17.5.2

15   ;;; FORWARD: ESTABLISHED, RELATED
     chain=forward action=accept connection-state=established

16   chain=forward action=accept connection-state=related



p.d. es la primera vez que trabajo con un routerOS así que sepan 
disculpar mi ignorancia! :D

Desde ya agradezco me hagan ver donde estoy fallando...

Gracias.-
Guillermo Nardoni


Más información sobre la lista de distribución Lugro-mix