Fer bonding de dues ADSL amb RouterOS

De Guifi.net - Wiki Català

Apunto aquí quatre notes sobre com fer bonding de dues línies ADSL per tenir la suma de velocitats a la LAN.

Escenari

Tenim una LANParty per la quan disposem de dues connexions ADSL de 10Mb. No podem repartir els ordinadors en les xarxes de cada router perquè queden en LAN's diferents i no poden jugar i compartir arxius, per tant, ens plantegem fer bonding amb una RB750 de Mikrotik. En un primer moment aconseguim fer balanceig entre les dues línies (10Mb totals, però redireccionant la sortida en cas de fallada). Unes hores més tard, aconseguim bonding real (10Mb+10Mb=20Mb a la LAN).

Procediment

  • PAS 1 (si cal): Configurem els routers ADSL perquè estiguin en interfícies diferents.
  • PAS 2 (si cal): Netegem la RB750 de la configuració de fàbrica (IP->Address, IP->Firewall, NAT, DHCP, i desfem el Bridge dels ports 2-5).
  • PAS 3: Apliquem la configuració des del terminal de la RB750.
  • PAS 4: Comprovem que suma l'ample de banda dels dos routers.

Interfícies de la RB750

  • ether1: 192.168.0.1 - LAN principal amb tots els ordinadors, switch, etc. Servidor de DHCP.
  • ether2: 192.168.88.1 - Port des d'on configurem el bonding. El deixarem actiu a l'acabar per monitoritzar i de backup.
  • ether3: lliure
  • ether4: 192.168.1.2 - Primera sortida a un dels dos routers ADSL.
  • ether5: 192.168.2.2 - Segona sortida a l'altre router ADSL.

COMPTE: Inicialment els dos routers tenien la mateixa interfície (192.168.1.1). Cal que estiguin en interfícies diferents.

Configuració

/ip address
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=LAN
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ISP1
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=ISP2
 
/ip firewall mangle
add chain=input in-interface=ISP1 action=mark-connection new-connection-mark=ISP1_conn
add chain=input in-interface=ISP2 action=mark-connection new-connection-mark=ISP2_conn

add chain=output connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1
add chain=output connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2
 
add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=LAN
add chain=prerouting dst-address=192.168.2.0/24 action=accept in-interface=LAN
 
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:4/0 action=mark-connection new-connection-mark=ISP1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:4/1 action=mark-connection new-connection-mark=ISP2_conn passthrough=yes
add chain=prerouting connection-mark=ISP1_conn in-interface=LAN action=mark-routing new-routing-mark=to_ISP1
add chain=prerouting connection-mark=ISP2_conn in-interface=LAN action=mark-routing new-routing-mark=to_ISP2
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_ISP1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_ISP2 check-gateway=ping
 
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping
 
/ip firewall nat
add chain=srcnat out-interface=ISP1 action=masquerade
add chain=srcnat out-interface=ISP2 action=masquerade

/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=221.132.112.8,8.8.8.8

/ip firewall mangle
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=LAN per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes

JA HO TENIM!!!

Observacions

  • Cal millorar la configuració aplicant regles de QoS (Quality of Service).
  • Aquesta configuració sembla que no fa balanceig entre les dues sortides. Si es desconnecta una de les dues ADSL, no redirigeix el trafic a l'altra.
  • Presenta problemes amb alguns protocols: al pujar arxius per FTP no aconseguia negociar la connexió. Al treure una de les dues sortides es resolia el problema.

Rb750 bonding lanparty.jpg

Bibliografia

Aquesta configuració està basada en aquest enllaç (bonding 4 ADSL).

També pot anar bé consultar la Wiki de Mikrotik en tot el que fa referència a Bonding i Balanceig de càrrega:

Eines de l'usuari