• Apparati e reti
  • Configurazione rete – Aggregazione WAN + Failover con Mikrotik + Firewall

  • Autore

Technetium un informatico del mio paese. di sarezzo provincia di Brescia

    Draxen Spero che per 150€/h abbia le certificazioni di Cristo... 🙂

      • Autore

      Lui vuole 50 € l’ora.
      Adesso dice che c’è un sistemista microtik che dovrebbe salire.
      la cosa che mi dà fastidio. È che gli ho dato una mano per quattro weekend di fila ad ottobre. E adesso sembra che bisogna ripartire da capo. Ovvero riguardare tutta la rete per poi trovare una soluzione.
      Capisco che bisogna fare un po’ di analisi però a cosa è servito il vecchio lavoro se poi adesso bisogna ripartire da capo?
      Tutto qua

        • Modificato

        Lorenzo1635 L'incognita è sempre il bonding però. Quello c'è rischio che glielo vendano a prezzo d'oro visto che è roba SD-WAN

        io direi niente bonding (i costi esplodono), ma un semplice fault tolerance.

          gio79

          Era per soddisfare il secondo requirement che ha imposto OP. Se fà LB o FT non lo rispetti

          Draxen Ovvero riguardare tutta la rete per poi trovare una soluzione

          Onestamente...
          Se non hai bisogno di bonding ma solo di fare fault-tolerance una volta che hai fatto il diagramma di rete 3/4 della complessità (non del tempo) è andato

          Draxen
          Ma cosa vuoi fare ?
          Failover è fattibile.
          Load balancing su base "connessione" lo sconsiglio su connessioni così diverse. Funzionerebbe male... poi molti siti con sicurezza si piantano.

          Lorenzo1635
          Dipende dal lavoro, ma ho visto aziende chiedere quei soldi...

          • Hadx ha messo mi piace.
          • Modificato

          Draxen
          Schematizza la tua rete e posta qui, ma soprattutto pensa bene a quali siano le tue reali esigenze in modo che possiamo indirizzarti verso una soluzione adeguata.

          Una connessione SD-WAN (Software-Defined Wide Area Network) utilizza principalmente load balancing a livello di rete e trasporto (L3/L4), con tecniche avanzate per ottimizzare la latenza, la perdita di pacchetti e la disponibilità delle connessioni; nel tuo caso sarebbe una versioneepiù "casalinga" usando Mikrotik.

          Il bonding è un'aggregazione L2 e va utilizzata per aggregare le nic di un server ed avere maggior hroughput e failover (non è il caso in oggetto).

          • Draxen ha risposto a questo messaggio

            Draxen

            Non è proprio una connessione di casa 😄

            Mikrotik è imprescindibile? Perché con altre tipologie di OS / Hardware il load balancing / failover si fa facilmente anche da interfaccia grafica....

            gio79
            Openmptcp = openwrt
            Che sarebbe quello che consiglierei anche io, ma dovrebbe buttare alle ortiche mikrotik e non so se può farlo....

            • gio79 ha risposto a questo messaggio
              • Autore

              questa è la configurazione dello switch:# 2025-02-26 07:29:57 by RouterOS 7.16.1

              software id = YDL8-8X9M

              #

              model = CRS326-24G-2S+

              serial number = HGG09GF9XRB

              /interface bridge
              add name=bridge1
              /interface ethernet
              set [ find default-name=ether17 ] name="ether17 - Starlink"
              set [ find default-name=ether18 ] name="ether18 - Intred"
              set [ find default-name=ether24 ] name="ether24 - Gestione Rete"
              /ip pool
              add name=Pool-Chalet ranges=10.10.0.1-10.10.0.200
              add name="Pool - Alcide" ranges=10.0.0.1-10.0.0.68,10.0.0.70-10.0.0.254
              add name=dhcp_pool2 ranges=10.0.0.1-10.0.0.68,10.0.0.70-10.0.0.254
              add name=dhcp_pool3 ranges=10.0.0.1-10.0.0.68,10.0.0.70-10.0.0.254
              add name=dhcp_pool4 ranges=10.10.0.1-10.10.0.200
              add name=dhcp_pool5 ranges=10.10.0.1-10.10.0.200
              add name=dhcp_pool6 ranges=10.10.0.1-10.10.0.200
              /ip dhcp-server
              add address-pool=dhcp_pool6 interface=bridge1 lease-time=2h name=dhcp1
              /port
              set 0 name=serial0
              /queue simple
              add max-limit=15M/15M name="Limite Intred" target="ether18 - Intred"
              add max-limit=15M/30M name="Limite Starlink" target="ether17 - Starlink"
              /routing table
              add disabled=no fib name=ISP1
              add disabled=no fib name=ISP2
              /interface bridge port
              add bridge=bridge1 interface=ether1
              add bridge=bridge1 interface=ether2
              add bridge=bridge1 interface=ether3
              add bridge=bridge1 interface=ether4
              add bridge=bridge1 interface=ether5
              add bridge=bridge1 interface=ether6
              add bridge=bridge1 interface=ether7
              add bridge=bridge1 interface=ether8
              add bridge=bridge1 interface=ether9
              add bridge=bridge1 interface=ether10
              add bridge=bridge1 interface="ether24 - Gestione Rete"
              add bridge=bridge1 interface=ether14
              add bridge=bridge1 interface=ether11
              add bridge=bridge1 interface=ether12
              add bridge=bridge1 interface=ether13
              add bridge=bridge1 interface=ether15
              add bridge=bridge1 interface=ether16
              add bridge=bridge1 interface=ether19
              add bridge=bridge1 interface=ether20
              add bridge=bridge1 interface=ether21
              add bridge=bridge1 interface=ether22
              add bridge=bridge1 interface=ether23
              /ip address
              add address=10.10.0.254/24 interface=bridge1 network=10.10.0.0
              /ip cloud
              set update-time=no
              /ip dhcp-client
              add interface="ether17 - Starlink"
              add interface="ether18 - Intred"
              /ip dhcp-server lease
              add address=10.10.0.48 client-id=1:c8:5a:cf:ac:e5:8f mac-address=C8:5A:CF:AC:E5:8F server=dhcp1
              add address=10.10.0.201 client-id=1:0:1a:e0:0:80:19 comment="Cassa 1" mac-address=00:1A:E0:00:80:19 server=dhcp1
              add address=10.10.0.202 client-id=1:0:60:ef:20:da:55 comment="Cassa 2" mac-address=00:60:EF:20😃A:55 server=dhcp1
              add address=10.10.0.203 client-id=1:50:af:73:31:42:6c comment="Cassa 3" mac-address=50:AF:73:31:42:6C server=dhcp1
              add address=10.10.0.204 client-id=1:8c:4:ba:9d:14:8d comment="Cassa 4" mac-address=8C:04:BA:9D:14:8D server=dhcp1
              add address=10.10.0.206 client-id=1:e8:6f:38:23:18:d3 mac-address=E8:6F:38:23:18😃3 server=dhcp1
              /ip dhcp-server network
              add address=10.10.0.0/24 dns-server=10.10.0.254 gateway=10.10.0.254
              /ip dns
              set allow-remote-requests=yes mdns-repeat-ifaces=lo
              /ip firewall mangle
              add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface="ether17 - Starlink" new-connection-mark=ISP1_Conn passthrough=yes
              add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface="ether18 - Intred" new-connection-mark=ISP2_Conn passthrough=yes
              add action=mark-routing chain=output connection-mark=ISP1_Conn new-routing-mark=ISP1 passthrough=yes
              add action=mark-routing chain=output connection-mark=ISP2_Conn new-routing-mark=ISP2 passthrough=yes
              add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new dst-address-type=!local in-interface="ether17 - Starlink" new-connection-mark=ISP1_Conn passthrough=yes per-connection-classifier=\
              src-address-and-port:2/0
              add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new dst-address-type=!local in-interface="ether18 - Intred" new-connection-mark=ISP2_Conn passthrough=yes per-connection-classifier=\
              src-address-and-port:2/1
              add action=mark-routing chain=prerouting connection-mark=ISP1_Conn in-interface=bridge1 new-routing-mark=ISP1 passthrough=yes
              add action=mark-routing chain=prerouting connection-mark=ISP2_Conn in-interface=bridge1 new-routing-mark=ISP2 passthrough=yes
              /ip firewall nat
              add action=masquerade chain=srcnat
              add action=dst-nat chain=dstnat dst-port=8080 in-interface="ether17 - Starlink" protocol=tcp to-addresses=10.10.0.203 to-ports=8080
              add action=dst-nat chain=dstnat dst-port=8080 in-interface="ether18 - Intred" protocol=tcp to-addresses=10.10.0.203 to-ports=8080
              add action=accept chain=input protocol=tcp src-port=8291
              /ip hotspot profile
              set [ find default=yes ] html-directory=hotspot
              /system clock
              set time-zone-autodetect=no time-zone-name=Europe/Rome
              /system clock manual
              set time-zone=+01:00
              /system identity
              set name=R10-Biglietteria
              /system note
              set show-at-login=no
              /system ntp client
              set enabled=yes
              /system ntp client servers
              add address=ntp1.inrim.it
              add address=ntp2.inrim.it
              add address=time.inrim.it
              /system routerboard settings
              set enter-setup-on=delete-key
              /tool romon
              set enabled=yes id=00:00:00:00:00:10

              • wtf e gio79 hanno risposto a questo messaggio
                • Modificato

                Draxen add action=masquerade chain=srcnat

                Questa riga non specifica alcuna interfaccia.

                Draxen add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface="ether17 - Starlink" new-connection-mark=ISP1_Conn passthrough=yes
                add action=mark-connection chain=prerouting connection-mark=no-mark connection-state=new in-interface="ether18 - Intred" new-connection-mark=ISP2_Conn passthrough=yes

                in queste regole non c'è il per-connection-classifier, inoltre sono ripetute più sotto.

                Non vedo il routing in questa conf.

                Una conf di esempio la farei così:

                Imposta i nomi delle interfacce WAN

                /interface list
                add name=WAN
                /interface list member
                add interface=ether17 list=WAN
                add interface=ether18 list=WAN

                Imposta gli IP statici o DHCP sulle WAN

                /ip address
                add address=192.168.1.2/24 interface=ether17
                add address=192.168.2.2/24 interface=ether18

                /ip dhcp-client
                add interface=ether17 use-peer-dns=no use-peer-ntp=no disabled=no
                add interface=ether18 use-peer-dns=no use-peer-ntp=no disabled=no

                Imposta i gateway sulle WAN

                /ip route
                add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=WAN1 check-gateway=ping
                add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=WAN2 check-gateway=ping

                Aggiungi regole di NAT per la navigazione Internet

                /ip firewall nat
                add chain=srcnat out-interface=ether17 action=masquerade
                add chain=srcnat out-interface=ether18 action=masquerade

                Configura il bilanciamento del carico con PCC

                /ip firewall mangle
                add chain=prerouting in-interface=bridge action=mark-connection new-connection-mark=WAN1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0
                add chain=prerouting in-interface=bridge action=mark-connection new-connection-mark=WAN2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1

                Instrada il traffico in base al bilanciamento

                add chain=prerouting connection-mark=WAN1_conn action=mark-routing new-routing-mark=WAN1 passthrough=no
                add chain=prerouting connection-mark=WAN2_conn action=mark-routing new-routing-mark=WAN2 passthrough=no

                Aggiungi regole per il failover

                /ip route
                add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 routing-mark=WAN1
                add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=1 routing-mark=WAN2
                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

                Permetti traffico LAN verso Internet

                /ip firewall filter
                add chain=forward action=accept connection-state=established,related
                add chain=forward action=drop connection-state=invalid
                add chain=forward action=accept in-interface=bridge out-interface-list=WAN

                Draxen questa è la configurazione dello switch:# 2025-02-26 07:29:57 by RouterOS 7.16.1

                Quindi questo switch è il vostro router?
                dalle immagini, foto, posso capire che intred via ponte radio vi porta la connessione (WAN1), poi avete una antenna di Starlink che vi da altra connessione (WAN2).
                Potreste usare il Mikrotik L009UIGS-RM come router principale, fate arrivare lì i cavi di WAN1 e WAN2. si configura il mikrotik per usare una delle due connessioni come "principale" e in caso di fault, la seconda entra in funzione.
                il L009 potrebbe essere fare da dhcp, dns. a questo ci collegate (sempre via cavo ethernet) gli altri dispositivi/apparati (tipo lo swtich CRS326 e gli eventuali altri pc/stampanti/pos/telecamere.
                NON c'è aggregazione di WAN, ma failover sì e sì il firewall funziona.

                documibozu Openmptcp = openwrt

                non proprio... openmptcp è una soluzione che permette di aggregare + connessioni usando Multipath TCP (MPTCP) su OpenWrt, ma serve una vps dove far confluire le connessioni. vps possibilmente dislocata in italia e che il suo ip non sia identificato come appartenente a servizi di hosting .

                poi il failover è una cosa il load balancing altra

                  gio79 se è per quello il bonding è un'altra cosa ancora rispetto al failover e al load balancing.
                  Bisognerebbe capire cosa vuole l'OP: una sola connessione per spremere tutta la banda possibile (esempio: sono un content creator che fa up e down di files da 1gb l'uno)?
                  Oppure crea x piccole connessioni e vuole distribuire il carico (esempio: ho un bed and breakfast con 10 camere che guardano un film su Netflix o navigano su internet)?
                  Nel primo caso serve il bonding, nel secondo è inutile, basta un balancer.
                  Peraltro una VPS, ove fosse necessaria, gli costa all'anno sui 100 euro, anche meno...non so tutto quel materiale mikrotik + assistenza su routeros (uno degli os più incasinati che abbia mai visto) quanto gli costi/sia costato

                    documibozu Peraltro una VPS, ove fosse necessaria, gli costa all'anno sui 100 euro

                    Dipende anche dalla reputaizione IP della VPS: non mi stupirei se fosse bloccato da Netflix/Prime/ altro servizio di rilevanza per i clienti

                      documibozu
                      Se hai visto la rete, è un'attività di una stazione sciistica

                      documibozu Peraltro una VPS, ove fosse necessaria, gli costa all'anno sui 100 euro, anche meno...non so tutto quel materiale mikrotik + assistenza su routeros (uno degli os più incasinati che abbia mai visto) quanto gli costi/sia costato

                      Perchè non conosci il settore. Quell'hw mikrotik costa veramente poco rispetto ad altri.

                      Quali hai visto di altri os?

                      Lorenzo1635
                      Sono tutti bloccati.
                      L'unica è farselo fare da un ISP che gli dedica un IP non datacenter. Uania fa questo di mestiere.
                      In ogni caso bisogna stare attenti perchè inevitabilmente aumenta la latenza.

                      • Modificato

                      Draxen Questa è la situazione odierna, a dire il vero il router mikrotik non è mai stato messo. sta facendo da ferma porte. se qualcuno volesse darmi consigli sono ben accetti. siate magnanimi.

                      https://www.canva.com/design/DAGh0_l_UI4/2PPZlmmiue_omtfbAB79BA/edit?utm_content=DAGh0_l_UI4&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

                      Allora... I due switch CRS326 hanno una cpu troppo modesta (siamo a circa 200 Mbps gestibili in totale tra entrate e uscita sommate), anche i L009UIGS-RM che hai preso sono parecchio lenti, vanno benino come switch, ma siamo a processore che regge circa 300 Mbps totali ( già la tua Intred 100+100 te ne mangia 2/3), dovresti guardare qualcosa con una cpu più potente tipo un RB5009 (circa 3000 Mbps gestibili, 15 volte i CRS326 e 10 volte i L009) che riuscirebbe a gestire il tutto in scioltezza (firewall, ruoting e load balancing).

                      Il failover è un problema di impostazioni (hai cpu lente, con prestazioni pessime, ma dovrebbero farlo andare anche se rallentando tutto), stessa cosa le VLAN, tutti i dispositivi Mikrotik le supportano (ma devi o studiartele tu o far venire un tecnico che conosce RuoterOS, il generico tecnico di paese non ci capirà mai un tubo, ci vogliono diverse decine di ore di studio dei manuali Mikrotik per cavarci fuori qualcosa).
                      Il problema vero è quello che tu pensi sia il load balance... non ti sommerà affatto le velocità delle due reti (Intred e Starlink), il singolo dispositivo che si collega ad internet non andrà mai più veloce della singola connessione da sola, semplicemente li smisti, alcuni su una e alcuni sull'altra, ma le velocità rimangono separate.

                      gio79 Il Mikrotik L009 non ha difficoltà a gestire quelle 2 wan,

                      Eccome se ha problemi:

                      La sua cpu è una lumaca, siamo a circa 300 Mbps di banda gestibile in totale, lui tra FWA e SL ne deve gestire almeno il doppio.

                      Con circa gli stessi soldi prendi un RB5009 che è dieci volte più veloce

                      gio79 però non è possibile fare aggregazione delle 2 wan in maniera semplice. ti serve una vps e qualche config ... vedi https://www.openmptcprouter.com/

                      Esatto, puoi fare balancing (alcune casse/pc/dispositivi su una rete, gli altri sulla seconda e failover per entrambe su quella che rimane su in caso di problemi). Per l'aggregazione meglio valutare servizi chiavi in mano tipo Uania.

                      gio79 Failover: trovi n guide su come si fa con Mikrotik. dal loro sito o loro forum trovi molte guide semplici.

                      Finchè non si cercano cose esotiche si 😉

                      • wtf e gio79 hanno risposto a questo messaggio

                        LSan83 Il problema vero è quello che tu pensi sia il load balance... non ti sommerà affatto le velocità delle due reti (Intred e Starlink), il singolo dispositivo che si collega ad internet non andrà mai più veloce della singola connessione da sola,

                        Questo è evidente dal significato del termine "load balance".
                        Nel caso specifico per l'op non avrebbe alcuna utilità pratica ottenere un aggregazione di banda verso un singolo dispositivo.

                        E' invece opportuno dimensionare i device che si intendono utilizzare in modo che abbiano performance adeguate come hai evidenziato.
                        In linea generale se devo fare routing comprerò un router, se mi serve switching comprerò uno switch ecc.

                        • Autore

                        un altro esperto mi ha risposto così

                        "errore principale, che invalida tutto il resto
                        il CRS326 è uno switch, e te gli stai facendo fare da router e firewall
                        non è adeguato

                        ti serve una routerboard a fare da router e il crs326 fa da switch

                        per il resto, come già ti avevo scritto, una configurazione con dual wan non è così semplice su mikrotik, cioè per chi conosce routeros è una caxxata, ma nella tua configurazione vedo sbagli di tutti i tipi, usi il mark dei pachetti con le routing table, ma poi da nessuna parte vedo le route specificate per le routing table, poi mancano tutte le impostazioni delle firewall rules, ecc

                        insomma, è fatta tutta male e sull'apparato sbagliato.

                        Non è banale iniziare a lavorae con mikroti, devi leggere guide, manuali, provare e riprovare, avere conoscenza di networking, ecc. Se vuoi qualcosa di "veloce e pronto" metti un mini pc con 4 ethernet e con opnsense e gli fai fare da firewall/router dual wan, imposti tutto da interfaccia web in poco

                        il crs326 tienilo com switch, metti tutte le porte in bridge e via, magari un domani ci potrai fare le vlan

                        link mini pc:
                        https://shop.opnsense.com/new-dec600-series-opnsense-desktop-security-appliances/"

                        cosa ne pensate ?

                          Draxen Se vuoi qualcosa di "veloce e pronto" metti un mini pc con 4 ethernet e con opnsense e gli fai fare da firewall/router dual wan, imposti tutto da interfaccia web in poco

                          Per carità, funziona e ha pure ragione, ma definirlo "veloce e pronto"...

                          Però, scusami un attimo, puoi ripetere cosa vorresti ottenere?

                          a. Il fare uno speedtest e vedere la somma di Starlink + Intred non è fattibile. Si chiama Bonding e richiede una VPS esterna da cui fare uscire il traffico e ti costa un sacco se non è una soluzione DIY.
                          b. Ok, ti serve il failover. Ci sta.
                          d. Il load-balancing puoi decidere che certe subnet escono da Starlink o da Intred ma ha senso? In che contesti? Perchè se non hai tanta banda bisogna valutarne il senso specie perchè sono due connessioni molto diverse.
                          c. Le VLAN come devi segmentare la rete interna?

                          • Draxen ha risposto a questo messaggio

                            Informativa privacy - Informativa cookie - Termini e condizioni - Regolamento - Disclaimer - 🏳️‍🌈
                            P.I. IT16712091004 - info@fibraclick.it

                            ♻️ Il server di questo sito è alimentato al 100% con energia rinnovabile