Questa è la configurazione più semplice in assoluto. Prevede di avere due provider, uno principale che è sempre usato a meno che non abbia un guasto, e uno secondario che non è mai usato a meno che il principale non muoia. In questo esempio il principale è una FTTH e il secondario è una connessione 4G, ma non fa nessuna differenza se usate due VDSL o due FTTH o quello che volete.
Questa configurazione permette al traffico entrante da entrambe le connessioni di essere ridiretto (DNAT) verso delle macchine interne, o di essere ricevuto dal nostro Mikrotik. Per fare questo occorre che esista una regola che dice, in sostanza: "se il traffico entra dal provider secondario, i pacchetti che escono come risposta devono anche essi passare per il provider secondario, anche se il primario è online"
La configurazione in questo esempio prevede di avere due router per i nostri due provider, tutti e due con una subnet privata dietro al router, e tutti gli ip assegnati al Mikrotik sono statici, e le rotte inserite manualmente. Essendo una configurazione "asimmetrica", cioè una configurazione nella quale un provider è sempre attivo e l'altro è solo una scorta, la posso semplificare molto rispetto alla configurazione con load balancing.
Per aiutarvi a capire come funziona il sistema, descrivo qui la configurazione usata in questo esempio.
Passiamo quindi alla effettiva configurazione del Mikrotik:
/routing table add disabled=no fib name=4G_table
/ip/route add routing-table=4G_table dst-address=0.0.0.0/0 gateway=192.168.2.1
# rotta per il provider principale con check di connettività con ping a 9.9.9.9 /ip/route add disabled=no distance=1 dst-address=9.9.9.9/32 gateway=192.168.1.1 routing-table=main scope=11 target-scope=10 add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=9.9.9.9 routing-table=main scope=30 target-scope=11 # rotta per il provider secondario senza check di connettività (notare la distance=2 che la rende inattiva fintanto che quella precedente, con distance=1, è attiva) /ip/route add disabled=no dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-table=main distance=2
# metto un connection mark al traffico entrante dal secondario (ether2) se non ha già un mark /ip/firewall/mangle add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface=ether2 new-connection-mark=4G_conn passthrough=yes # il traffico in uscita dal Mikrotik che ha il connection mark va mandato alla routing table "4G_table" (vedi punto 1 e 2) /ip/firewall/mangle add action=mark-routing chain=output connection-mark=4G_conn new-routing-mark=4G_table passthrough=yes # il traffico in uscita dalla LAN verso internet che ha il connection mark va mandato alla routing table "4G_table" (vedi punto 1 e 2) /ip/firewall/mangle add action=mark-routing chain=prerouting connection-mark=4G_conn in-interface-list=LAN new-routing-mark=4G_table passthrough=yes # il traffico in uscita dalla DMZ verso internet che ha il connection mark va mandato alla routing table "4G_table" (vedi punto 1 e 2) /ip/firewall/mangle add action=mark-routing chain=prerouting connection-mark=4G_conn in-interface-list=DMZ new-routing-mark=4G_table passthrough=yes
Ora che la configurazione è fatta possiamo provarla.
Se il nostro provider principale usa PPPoE, possiamo semplificare moltissimo il punto 3, dove non ci serve più il controllo della connettività in quanto quasi sicuramente in caso di guasto cadrà il pppoe e questo causerà la sparizione della rotta per il provider principale, di fatto quindi dovremo solo inserire la rotta per il secondario e niente altro. Il resto non cambia.