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

Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia
Sony Xperia 1 VII propone un design sobrio e funzionale, con un comparto fotografico di ottimo livello caratterizzato da uno zoom continuo e prestazioni generali da top di gamma puro. Viene proposto con una personalizzazione software sobria e affidabile, ma presenta qualche criticità sul fronte ricarica rapida. Il dispositivo punta su continuità stilistica e miglioramenti mirati, rivolgendosi al solito pubblico specifico del brand giapponese.
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
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: 508
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


Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
OpenAI svela GPT-5: tutte le novit&agrav...
La Cina mostra i progressi del lander lu...
Tesla manda in fumo 68 miliardi in 48 or...
Backdoor segrete nei chip NVIDIA? La Cin...
Donald Trump chiede la testa del CEO di ...
Arriva il generatore che potrebbe cambia...
PCI-SIG conferma la roadmap PCIe: nel 20...
Addio a Gianni Berengo Gardin, la fotogr...
Oracle semplifica l'implementazione di a...
Il Made in Italy su Marte con SpaceX: es...
I servizi critici non sono un problema c...
Sony stringe la presa su Bungie: addio a...
Redmi A5 4G: a meno di 70 euro non puoi ...
Attacco hacker a Google confermato: ruba...
Leapmotor sfida BYD: ora vende pacchi ba...
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: 06:44.


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