Buongiorno a tutti,
mi rivolgo alla fetta di persone del forum più ferrate in ambito Software networking. Sto cercando un tool per Linux o Mac che permetta di creare/utilizzare dei tunnel GRE ma che sia user friendly, quindi che non richieda OS specifici tipo pfSense né software troppo pesanti/complessi tipo Open vSwitch. Qualcosa che posso installare su un semplice Raspberry in pochi minuti. Insomma, qualcosa che mi permetta di usare i tunnel GRE senza stare ogni volta a modificare iptables e iproutes e che con un click possa attivare e disattivare il tunnel.
PS: non è necessaria la GUI, mi basta anche una semplice CLI.

    aldo332 Qualcosa che posso installare su un semplice Raspberry in pochi minuti

    Se per Raspi, quindi non per Mac, ma sempre 'nix.

    Hai dato un'occhiata a come installare OpenWRT su Raspi?
    Mi pare che dovrebbe gestire abbastanza agevolmente i GRE.

    • aldo332 ha risposto a questo messaggio

      mark129 Se solo per Linux va benissimo lo stesso, Docker e via... la compatibilità nativa con Mac è super opzionale. Comunque OpenWRT non soddisfa il requisito principale, e cioè che sia un tool lightweight da installare e non un sistema operativo o un software pesante. Per dare un termine di paragone, qualcosa non troppo lontano da un semplice client VPN.

      • mark129 ha risposto a questo messaggio
        • [cancellato]

        • Modificato

        aldo332 Come detto da edofullo, ce l'hai nativamente nel kernel linux.

        sudo ip tunnel add gre1 mode gre local a.b.c.d remote e.f.g.h ttl 255
        sudo ip addr add 10.0.0.1/30 dev gre1
        sudo ip link set gre1 up
        • aldo332 ha risposto a questo messaggio

          aldo332 Per dare un termine di paragone, qualcosa non troppo lontano da un semplice client VPN.

          La questione è che il GRE non è una VPN: forse se descrivessi il tuo use case qualcuno potrebbe aiutarti meglio.

          • aldo332 ha risposto a questo messaggio

            [cancellato] Sì è già nel kernel ma credo non sia persistente. Se mi sbaglio e lo fosse sarebbe perfetto, ma mi pare avessi fatto delle prove su una macchina e non era persistente l’interfaccia GRE, al riavvio bisognava rifare tutto per dire.

              mark129 Se non fosse chiaro lo use case è creare un tunnel GRE tra due macchine, così da poter inoltrare tutto il traffico, anche L2 da una macchina ad un’altra.

                • [cancellato]

                • Modificato

                aldo332 Ferma il treno, che altrimenti ci schiantiamo... i tunnel GRE possono essere di due tipi: IP/Layer 3 o TAP/Layer2.

                https://developers.redhat.com/blog/2019/05/17/an-introduction-to-linux-virtual-interfaces-tunnels/#gre

                A te serve un link "punto punto" virtuale per fare routing tra due reti, o un "cavo" per estendere un unico dominio di broadcast layer2?

                aldo332 No, non è persistente, ma può essere inserito nelle definizioni di interfaccia del sistema operativo (tipo /etc/network/interfaces sulle debian-based). Non so se esista un plugin per NetworkManager relativo ai GRE.
                EDIT: Ovviamente sì... che discorsi.

                nmcli conn add type ip-tunnel ifname gre1 mode gre remote e.f.g.h local a.b.c.d -- ip-tunnel.mtu 1500 ip-tunnel.ttl 255 ipv4.method manual ipv4.addresses 10.0.0.1 ipv4.routes "10.0.0.0/30"

                Questo però per GRE IP, ovvero link punto-punto L3.

                Per avere un gretap L2 (ma ti invito caldamente a pensarci su 4563 volte prima di estendere un dominio di broadcast, che a far disastri è un attimo) il comando è simile ma ci va un mode gretap, e non servono le definizioni di indirizzi IP e routing interne al GRE.

                  [cancellato] ma ti invito caldamente a pensarci su 4563 volte prima di estendere un dominio di broadcast, che a far disastri è un attimo

                  Sottoscrivo anche io dati i casini che ho visto causare con tutti i tipi di tunnel L2 da vari clienti...

                  [cancellato] Premetto che sto solamente sperimentando in ambito SOHO quindi no problem per eventuali caos generati da estendere il livello 2 😁, però sì è esattamente quello che mi serviva, un bel cavo Ethernet virtuale. Detto ciò il plugin per NetworkManager credo che possa andare più che bene. Sperimenterò anche con le network interfaces, proprio per la persistenza avevo appena trovato una soluzione un po' casereccia, ovvero mettere i comandi per settare il tunnel in /etc/rc.local. Ma credo siano meglio le network interfaces.

                    Grazie a tutti ovviamente.👍

                    • [cancellato]

                    aldo332 Con il network manager (se la tua distribuzione/installazione lo usa per gestire le interfacce) hai la persistenza gratis, basta eventualmente impostare il connection.autoconnect.

                    Ma c'è un motivo per il quale non possono essere due segmenti L3 routed tra loro?

                    • aldo332 ha risposto a questo messaggio

                      [cancellato] Semplicemente stavo sperimentando un po' su come estendere il L2 e mi è venuto in mente un tunnel GRE. L'obiettivo sarebbe estendere il dominio di multicast per dei dispositivi smart-home.😅

                        • [cancellato]

                        aldo332 Esattamente le boiate che possono far un miliardo di casini...

                        • aldo332 ha risposto a questo messaggio

                          [cancellato] Bene 😂, vedrò di stare molto attento allora.

                            • [cancellato]

                            • Modificato

                            aldo332

                            Ci sono metodi migliori per gestire il multicast su subnet diverse - però ci vuole un router o switch L3 che li supporti.

                              • [cancellato]

                              [cancellato] Non serve in realtà, basta avere una macchina con le "zampe" sulle reti interessate con Avahi per fare da repeater dei discovery mDNS.

                                GRE è in chiaro, nessuna encryption. altrimenti devi fare gre over ipsec o similia.

                                • [cancellato]

                                [cancellato]

                                Sì, dipende che traffico multicast devi gestire - io mi riferivo di più a IGMP - arrivare a PIM magari è un po' eccessivo.

                                  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