Fer bonding de dues ADSL amb RouterOS: Diferència entre les revisions

De Guifi.net - Wiki Català

m (correcció de presentació)
(Millorant definició)
 
(Hi ha 5 revisions intermèdies sense mostrar fetes per 3 usuaris)
Línia 1: Línia 1:
Apunto aquí quatre notes sobre com fer bonding de dues línies ADSL per tenir la suma de velocitats a la LAN.
+
Fer bonding de dues línies ADSL té com a resultat 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).
+
== 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 [[Mikrotik RouterBoard 750]]. 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''':<br>
+
== Procediment ==
- PAS 1 (si cal): Configurem els routers ADSL perquè estiguin en interfícies diferents.<br>
+
* 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).<br>
+
* 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.<br>
+
* PAS 3: Apliquem la configuració des del terminal de la RB750.
- PAS 4: Comprovem que suma l'ample de banda dels dos routers.<br>
+
* PAS 4: Comprovem que suma l'ample de banda dels dos routers.
  
'''INTERFÍCIES DE LA RB750''':<br>
+
== Interfícies de la RB750 ==
- ether1: 192.168.0.1  - LAN principal amb tots els ordinadors, switch, etc. Servidor de DHCP.<br>
+
* 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.<br>
+
* 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<br>
+
* ether3: lliure
- ether4: 192.168.1.2  - Primera sortida a un dels dos routers ADSL.<br>
+
* 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. <br>
+
* 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.<br>''
+
''COMPTE: Inicialment els dos routers tenien la mateixa interfície (192.168.1.1). Cal que estiguin en interfícies diferents.''
  
 
+
== Configuració ==
'''CONFIGURACIÓ'''<br>
+
<pre>
------------------------------------------------------------------------------------------------------------------
+
/ip address
 
+
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=LAN
/ip address<br>
+
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ISP1
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=LAN<br>
+
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=ISP2
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ISP1<br>
+
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=ISP2<br>
+
 
   
 
   
/ip firewall mangle<br>
+
/ip firewall mangle
add chain=input in-interface=ISP1 action=mark-connection new-connection-mark=ISP1_conn<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
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<br>
+
add chain=prerouting connection-mark=ISP2_conn in-interface=LAN action=mark-routing new-routing-mark=to_ISP2
 
   
 
   
/ip route<br>
+
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_ISP1 check-gateway=ping<br>
+
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<br>
+
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<br>
+
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<br>
+
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping
 
   
 
   
/ip firewall nat<br>
+
/ip firewall nat
add chain=srcnat out-interface=ISP1 action=masquerade<br>
+
add chain=srcnat out-interface=ISP1 action=masquerade
add chain=srcnat out-interface=ISP2 action=masquerade<br>
+
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<br>
+
/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<br>
+
/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<br>
+
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<br>
+
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
 
+
</pre>
------------------------------------------------------------------------------------------------------------------
+
  
 
'''JA HO TENIM!!!'''
 
'''JA HO TENIM!!!'''
  
 +
== Observacions ==
 +
* Cal millorar la configuració aplicant regles de QoS (Quality of Service).<br>
 +
* 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.<br>
 +
* 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.<br>
  
'''OBSERVACIONS''':<br>
+
[[Fitxer:Rb750_bonding_lanparty.jpg|800px]]
- Cal millorar la configuració aplicant regles de QoS (Quality of Service).<br>
+
- 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.<br>
+
- 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.<br>
+
  
[[Fitxer:Rb750_bonding_lanparty.jpg]]
+
== Bibliografia ==
 
+
Aquesta configuració està basada en aquest enllaç (bonding 4 ADSL). <br>
'''BIBLIOGRAFIA''': Aquesta configuració està basada en aquest enllaç (bonding 4 ADSL). <br>
+
* http://aacable.wordpress.com/2011/06/04/mikrotik-4-wan-load-balance-pcc-complete-script-by-zaib/<br>
- http://aacable.wordpress.com/2011/06/04/mikrotik-4-wan-load-balance-pcc-complete-script-by-zaib/<br>
+
  
 
També pot anar bé consultar la Wiki de Mikrotik en tot el que fa referència a Bonding i Balanceig de càrrega:<br>
 
També pot anar bé consultar la Wiki de Mikrotik en tot el que fa referència a Bonding i Balanceig de càrrega:<br>
- http://wiki.mikrotik.com/wiki/Manual:PCC<br>
+
* http://wiki.mikrotik.com/wiki/Manual:PCC<br>
- http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding<br>
+
* http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding<br>
- http://wiki.mikrotik.com/wiki/ECMP_load_balancing_with_masquerade<br>
+
* http://wiki.mikrotik.com/wiki/ECMP_load_balancing_with_masquerade<br>
- http://wiki.mikrotik.com/wiki/NTH_load_balancing_with_masquerade
+
* http://wiki.mikrotik.com/wiki/NTH_load_balancing_with_masquerade
 +
 
 +
[[Categoria:Enrutament]]

Revisió de 05:44, 7 des 2013

Fer bonding de dues línies ADSL té com a resultat 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 Mikrotik RouterBoard 750. 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