WirelessGuru-Mikrotik-HowtoTra gli scenari di rete che si possono realizzare utilizzando i router MikroTik, uno dei più richiesti è senza dubbio l’aggregazione di due o più collegamenti internet, come ad esempio ADSL via rame o via wireless.

RouterOS ci fornisce ottimi strumenti per riuscire in questo intento. Vediamo quindi quali sono le strade percorribili per aggregare due o più connessioni internet.

Il primo metodo è sicuramente utilizzando il “semplice” ECMP (Equal Cost Multi-Path). La configurazione ECMP consiste infatti nel mettere più di un destinatario come default gateway ed il nostro router utilizzando la metodologia Round-Robin invierà i pacchetti ethernet ai vari gateway in maniera “democratica”.
Se ad esempio avessimo due connessioni ADSL raggiungibili tramite due router configurati con gli ip 172.23.0.1 e 10.0.0.1 basterà impostare il default gateway in questo modo:

[code]

/ip route dst-address=0.0.0.0/0 gateway=172.23.0.1,10.0.0.1

[/code]

Quindi come si può notare basterà aggiungere più gateway separati da una virgola per far sì che il nostro router aggreghi i due flussi. In pratica i pacchetti di rete verranno inviati il 50% al primo gateway ed il 50% al secondo gateway alternandoli uno ad uno in Round-Robin.

 

Se volessimo dare un peso maggiore alla prima connessione rispetto alla seconda potremmo dichiarare più volte un gateway:

[code] /ip route dst-address=0.0.0.0/0 gateway=172.23.0.1,172.23.0.1,172.23.0.1,10.0.0.1 [/code]

In questo esempio manderemmo il 75% dei pacchetti al router 172.23.0.1 ed il 25% al router 10.0.0.1

Questo scenario era molto in “voga” qualche anno fa quando le connessioni Web/HTTP erano più semplici e con meno controlli. Al giorno d’oggi, purtroppo, questo approccio risulta impercorribile in quanto, le moderne tecnologie di pubblicazione Web, fanno largo uso di tecnologie client side (come AJAX) che non permettono richieste “in sessione” da ip diversi. Implementare quindi un aggregazione di questo tipo, anche solo per il protocollo HTTP, risulterebbe disastroso.

E quindi niente aggregazione?

MikroTik per fortuna ha molti assi nella manica. Per aggregare in maniera funzionale due o più connettività possiamo utilizzare il firewall ed il suo “matcher” PCC (Per Connection Classifier).
Questo potente “matcher” permette di identificare i pacchetti appartenenti ad una “connessione” e di marchiarli in maniera diversa in base ad uno “scheduler”.

In questo modo possiamo realizzare non tanto un bilanciamento di pacchetti, come per l’ECMP visto prima, ma un bilanciamento di connessioni.

Il flusso di lavoro che spiegherò in un prossimo articolo sarà:

  1. Marcare tramite firewall mangle con il matcher PCC le connessioni
  2. Marcare i singoli pacchetti delle connessioni
  3. Assegnare un marcatore di routing diverso in base allo “scheduler”

 

Tra i vari scenari che ho affrontato in questi anni, uno ricorrente è quello di dover aggregare connessioni che hanno lo stesso gateway su subnet identiche. E’ il tipico scenario WISP in cui vengono messe più CPE collegate allo stesso PPPoE server. In questi casi, ipotizzando di avere sul nostro router 3 link al pppoe-server/gateway e che questi assegni come ip endpoint 172.16.0.1:

[code]
[admin@RT-Gianni] > ip address print
Flags: X – disabled, I – invalid, D – dynamic
# ADDRESS NETWORK INTERFACE
0 D 172.16.100.2/32 172.16.0.1 pppoe-out1
1 D 172.16.100.3/32 172.16.0.1 pppoe-out2
2 D 172.16.100.4/32 172.16.0.1 pppoe-out3
[/code]

mettere una rotta di aggregazione (ECMP) del tipo:

[code]

/ip route dst-address=0.0.0.0/0 gateway=172.16.0.1,172.16.0.1,172.16.0.1

[/code]

non produrrebbe alcun effetto di aggregazione in quanto lo stesso gateway è presente su 3 indirizzi punto-punto distinti.

Quindi non è possibile eseguire questa tipologia di aggregazione?

Sì, è possibile. Basterà specificare il nome dell’interfaccia al posto dell’indirizzo ip:

[code] /ip route dst-address=0.0.0.0/0 gateway=pppoe-out1,pppoe-out2,pppoe-out3 [/code]

Questa tipologia di configurazione, sottolineo, è possibile effettuarla solo per le configurazioni di ip punto-punto come per l’autenticazione pppoe ed è ovviamente possibile utilizzarla sia per lo scenario ECMP, come nell’esempio, sia per lo scenario “avanzato” Firewall PCC che mi riservo di presentare meglio in un prossimo articolo.

Per concludere direi che ad oggi per aggregare due o più connessioni internet con MikroTik è possibile avvalersi dei potenti strumenti (firewall. policy routing) che RouterOS ci mette a disposizione.

Ovviamente non finisce qui, in quanto un buon aggregatore deve anche controllare se i link sono attivi o meno e riscrivere dinamicamente le tabelle di routing in base allo stato delle connessioni. Anche questo è ovviamente possibile realizzarlo attraverso alcuni potenti strumenti che RouterOS ci offre. In un prossimo articolo presenterò sicuramente il Tool Netwatch.

 

6 risposte

  1. Ciao, è possibile aggregare due connessioni su una routerboard Mikrotik che si collega ad una SMS S remota per il servizio HotSpot? Sarebbe un’ottima funzionalità per aumentare la banda a disposizione degli utenti guest. Grazie

    1. Salve,

      purtroppo non è possibile integrare nello stesso apparato che gestisce il Captive Portal un aggregatore (o almeno io non ci sono riuscito) perfettamente funzionante.
      Mi spiego meglio: con ECMP si può fare, ma come detto non funziona bene. Con l’aggregazione PCC invece non si riesce in quanto il traffico Hotspot anche se apparentemente arriva dalla LAN Hotspot viene “rigenerato” in locale dal Proxy del Captive Portal e questo inficia le regole di matching necessarie.
      Premesso questo è però possibile realizzare due scenari diversi.
      Il primo è utilizzare una routerboard separata che aggreghi le connettività con la modalità PCC e si presenti all’Hotspot come singolo gateway.
      Il secondo è non aggregare connettività, ma ad esempio separare le connettività in base ai servizi, una connessione per gli utenti hotspot ed una per i proprietari della struttura.
      Questi due scenari sono possibili.

      1. Thanks a lot, so with first solution (separated routerboard witch CCP) is possibile to use 2 different connection to reach an external SMS Station?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *