Torna indietro   Hardware Upgrade Forum > Networking e sicurezza > Networking > Networking in generale

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-05-2021, 17:46   #1
Spellsword
Senior Member
 
L'Avatar di Spellsword
 
Iscritto dal: Feb 2006
Messaggi: 516
Load balancing con Mikrotik RouterOS 7

Scopo della guida è esplorare le funzionalità del routeros 7 per creare delle policy di load balancing di connessioni multiple.
La guida è valida per qualsiasi tipo di rete WAN, l'implementazione qui esposta è specifica per il Mikrotik Chateau LTE12 e una scheda LTE USB aggiuntiva

Prerequisiti hardware:
- Mikrotik Chateau LTE12
- Un adapter m2 -> USB3
- Una scheda LTE M2 quectel e relative antenne
- Una sim dati
Un esempio qui sotto (senza sim)


Assemblate il tutto, connettelo alla porta usb dello chateau e procedete a collegarvi al terminale.
Potete anche usare winbox, ma chiaramente dovete tradurre su interfaccia quanto qui sotto mostrato.
Se la scheda è supportata (io uso una em12g, ma dovrebbe supportare tutte le quectel M2, le nuovissime EM-160/120 sono già supportate) dovreste trovarla nella lista delle interfacce con il nome lte2.
Potete procedere a prepare le schede lte per la connessione WAN.

Se partite da zero, aggiungete i DNS al router
Codice:
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
Preparate gli apn dei vostri operatori (wind e vodafone in questo esempio)
Codice:
/interface lte apn
add apn=internet.it default-route-distance=11 name=wind-very use-network-apn=no use-peer-dns=no
add apn=mobile.vodafone.it default-route-distance=10 name=vodafone use-network-apn=no use-peer-dns=no
Il parametro default-route-distance servirà per definire la precedenza per le connessioni iniziate dal router.
Questo vi garantirà sempre di avere una connessione in uscita dal router attiva, per esempio per scaricare gli aggiornamenti di routeros

Eseguiamo il bind dell'apn per attivare le connessioni LTE
Codice:
/interface lte
set [ find ] allow-roaming=no apn-profiles=vodafone band="" name=lte1
set [ find ] allow-roaming=no apn-profiles=wind-very band="" name=lte2
Aggiungiamo lte2 al gruppo delle interfacce WAN
Codice:
/interface list member
add interface=lte2 list=WAN
Si da per scontato che la lte1 sia già nel gruppo, è la configurazione di default
Eseguendo questa configurazione sfruttiamo la configurazione di default del masquerade che lavora per gruppi di interfacce
Non è quindi necessario andare a settare una regola di masquerade specifica per la lte2
Potete eseguire questo step per un interfaccia ethernet anche, se per esempio volete bilanciare verso un altro modem/router

Creiamo 2 routing table aggiuntive per il bilanciamento
Codice:
/routing table
add fib name=rt_wan_usb
add fib name=rt_wan_int
La routing table rt_wan_usb farà riferimento alla lte USB
La routing table rt_wan_int farà riferimento alla lte interna

Adesso procediamo con le regole di bilanciamento

Creiamo le regole in uscita dal router
Codice:
/ip firewall mangle
add action=mark-connection chain=input in-interface=lte1 new-connection-mark=conn_wan_int
add action=mark-connection chain=input in-interface=lte2 new-connection-mark=conn_wan_usb
add action=mark-routing chain=output connection-mark=conn_wan_int new-routing-mark=rt_wan_int
add action=mark-routing chain=output connection-mark=conn_wan_usb new-routing-mark=rt_wan_usb
Creiamo le regole per i client
Regola per bloccare destination address su una specifica interfaccia
Codice:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="VPN egress always through lte_int" connection-mark=no-mark dst-address-list=VPN dst-address-type=!local in-interface-list=LAN \
    new-connection-mark=conn_wan_int passthrough=yes
Regola per bloccare determinati client sulla lte interna
Codice:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="from LAN egress through lte_int" connection-mark=no-mark dst-address-type=!local in-interface-list=LAN new-connection-mark=\
    conn_wan_int passthrough=yes src-address-list=from_lan_to_lte_int
Regola per bloccare determinati client sulla lte usb
Codice:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="from LAN egress through lte_usb" connection-mark=no-mark dst-address-type=!local in-interface-list=LAN new-connection-mark=\
    conn_wan_usb passthrough=yes src-address-list=from_lan_to_lte_usb
Un altra Regola per bloccare determinati client su lte usb
Codice:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="streaming egress always through lte_usb" connection-mark=no-mark dst-address-type=!local in-interface-list=LAN \
    new-connection-mark=conn_wan_usb passthrough=yes src-address-list=streaming
Per queste regole stiamo sfruttando la proprietà src-address-list per selezionare i pacchetti di alcuni client specifi.
Potete usare altre proprietà, da interfaccia winbox avete un overview delle proprietà utilizzabili.

Potete andare avanti ad aggiungere tutte le regole di cui avete bisogno.
Tutto ciò che non farà match in queste regole verrà bilanciato dalle regole PCC qui sotto

Regole di load balancing vero e proprio
Codice:
/ip firewall mangle
add action=mark-connection chain=prerouting comment="PCC to lte_int" connection-mark=no-mark dst-address-type=!local in-interface-list=LAN new-connection-mark=conn_wan_int \
    passthrough=yes per-connection-classifier=src-address:2/0
add action=mark-connection chain=prerouting comment="PCC to lte_usb" connection-mark=no-mark dst-address-type=!local in-interface-list=LAN new-connection-mark=conn_wan_usb \
    passthrough=yes per-connection-classifier=src-address:2/1
Potete variare la policy di balancing come meglio credete, a me basta il Source address
il parametro da cambiare è per-connection-classifier, e potete utilizzare per esempio:
# - Source address
# - Destination address
# - Source + destination address
# - etc
Più il classifier è preciso, più le connessioni saranno distribuite in modo omogeneo
Anche per questa configurazione, da interfaccia winbox avete un overview delle proprietà utilizzabili.

Attenzione al parametro passthrough=yes, se viene omesso non appena il pacchetto matcha una regola viene rimosso dalla catena di prerouting e non raggiungerà la parte di routing-mark qui sotto


Aggiungiamo aggiungiamo il mark per utilizzare la routing table corretta
Codice:
/ip firewall mangle
add action=mark-routing chain=prerouting connection-mark=conn_wan_int in-interface-list=LAN new-routing-mark=rt_wan_int
add action=mark-routing chain=prerouting connection-mark=conn_wan_usb in-interface-list=LAN new-routing-mark=rt_wan_usb
Aggiungete qualche host alle address-list (gli indirizzi sono di esempio)
Codice:
/ip firewall address-list
add address=192.168.0.zzz list=streaming
add address=192.168.0.xxx list=streaming
add address=xxx.xxx.xxx.xxx comment="VPN 1" list=VPN
add address=yyy.yyy.yyy.yyy comment="VPN 2" list=VPN
add address=192.168.0.y comment="Desktop" list=from_lan_to_lte_int
add address=192.168.0.x comment="IOT1" list=from_lan_to_lte_usb
Creiamo le regole di routing
Codice:
/routing rule
add action=lookup-only-in-table dst-address=0.0.0.0/0 routing-mark=rt_wan_usb table=rt_wan_usb
add action=lookup-only-in-table dst-address=0.0.0.0/0 routing-mark=rt_wan_int table=rt_wan_int
Aggiungiamo le route
Codice:
/ip route
add comment=rt_wan_int_main distance=1 dst-address=0.0.0.0/0 gateway=lte1 routing-table=rt_wan_int
add comment=rt_wan_usb_main distance=1 dst-address=0.0.0.0/0 gateway=lte2 routing-table=rt_wan_usb
add comment=rt_wan_int_bck distance=2 dst-address=0.0.0.0/0 gateway=lte2 routing-table=rt_wan_int
add comment=rt_wan_usb_bck distance=2 dst-address=0.0.0.0/0 gateway=lte1 routing-table=rt_wan_usb
Prestate attenzione alle regole, come vedete ci sono due regole per ciascuna interfaccia/route table
La distance determinata la priorità di utilizzo, minore il valore, maggiore la priorità
Con questa configurazione, state quindi creando una route di default per interfaccia e una di backup
Garantendo il failover in caso di assenza di connessione su una delle schede


Creaiamo la configurazione per gestire il failover/failback

Scegliete 2 host da pingare (io ho scelto i dns di google) e forzate il routing attraverso una sola interfaccia
Scegliete una coppia di host con bassa latenza e alta disponibilità, idealmente i servizi dns sono i migliori


Codice:
/ip route
add disabled=no dst-address=8.8.8.8/32 gateway=lte1 routing-table=main suppress-hw-offload=no
add disabled=no dst-address=8.8.4.4/32 gateway=lte2 routing-table=main suppress-hw-offload=no
Creiamo gli script necessari per abilitare/disabilitare le routing table addizionali
Codice:
/system script
add dont-require-permissions=no name=enable_rt_wan_int owner=admin policy=write source="ip route enable [find comment=rt_wan_int_main]"
add dont-require-permissions=no name=disable_rt_wan_int owner=admin policy=write source="ip route disable [find comment=rt_wan_int_main]"
add dont-require-permissions=no name=enable_rt_wan_usb owner=admin policy=write source="ip route enable [find comment=rt_wan_usb_main]"
add dont-require-permissions=no name=disable_rt_wan_usb owner=admin policy=write source="ip route disable [find comment=rt_wan_usb_main]"
Configuriamo Netwatch per pingare gli host scelti e abilitare/disabilitare le interfacce in caso di failover/failback
Codice:
/tool netwatch
add down-script=disable_rt_wan_int host=8.8.8.8 interval=20s up-script=enable_rt_wan_int
add down-script=disable_rt_wan_usb host=8.8.4.4 interval=20s up-script=enable_rt_wan_usb
Configurazioni utili aggiuntive

Riavviamo un interfaccia tutte le mattine
Codice:
/system script
add dont-require-permissions=no name=reset_lte1 owner=admin policy=write source=\
    ":log info \"LTE1 DOWN\";\r\
    \n/interface disable lte1\r\
    \n/delay 1s\r\
    \n/interface enable lte1\r\
    \n:log info \"LTE1 UP\";"
/system scheduler
add interval=1d name=reset_lte1_0800 on-event=reset_lte1 policy=write start-date=may/05/2021 start-time=08:00:00
Buona Navigazione e Buona Discussione

Ultima modifica di Spellsword : 23-05-2021 alle 17:49. Motivo: typos
Spellsword è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
SAP presenta il suo cloud sovrano per l'...
Google riduce i costi di Veo 3: i video ...
Signal introduce i backup in cloud: grat...
Pure Loop 3 FX, da be quiet! un modo sem...
Hollow Knight: Silksong, scoperto un cod...
AMD espande il supporto di FSR 4 a oltre...
Tesla lancia Megablock e Megapack 3: bat...
Sciopero della fame: una serie di attivi...
Sfida Nintendo in tribunale senza avvoca...
GEEKOM entra nel settore dei notebook co...
Il giudice blocca l'accordo da 1,5 milia...
Non solo creativi: le app business che r...
Amazon questa mattina è scatenata...
Amazon Seconda Mano (Warehouse), vale an...
L'AI rivoluzionerà il settore IT ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:52.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v