VPN mit Broadcast (Bridge)

  • Einen wunderschönen guten Tag wünsche ich :)


    Nicht dass ich viel Ahnung von dem hätte was ich vorhabe. Daher dachte ich "frag einfach mal" :)


    Ich habe einen VPS und würde auf diesem gerne eine Anwendung laufen lassen die einen Broadcast an die mit dem Server verbundenen Clients sendet - und natürlich auch Antworten bekommen- kann.


    Hab recherchiert dass Broadcast über Layer 2 des Netzwerkprotokolls läuft. Also muss ich eine VPN-Verbindung im Bridge-Mode herstellen. Allerdings bedingt dies dass der Client transparent in das Einwahlnetz eingewählt wird und eine IP-Adresse des dortigen Subnetzes erhält.


    Nur hab ich beim VPS ja kein Sub-Netz. Die Anwendung soll ja nicht auf einer Maschine hinter dem VPS laufen sondern auf ihm selbst?


    Hab ich da vllt. einen Denkfehler? Und ist mein Vorhaben überhaupt (so oder anders) realisierbar?


    Vielen Dank schon mal...

  • Deine VPN-Lösung wird mit an Sicherheit grenzender Wahrscheinlichkeit über das IP-Protokoll abwickelt.

    VPN bedeutet im einfachsten Fall Verkapselung. Ein Paket wird in ein IP-Paket (IP oder auch IP mit UDP, TCP) verpackt und auf die Reise geschickt - auf der anderen Seite wird es wieder ausgepackt.


    Das Paket, das Du einpackst, kann auch ein Ethernet-Frame sein - dann bist Du auf Layer 2 und es stehen Dir alle darin verfügbaren Broadcasts zur Verfügung. Das wäre dann der ein Layer-2-Tunnel an den Du anscheinend denkst. Auf Layer 2 hast Du natürlich kein Subnet, weil das erst auf Ebene 3 existiert.


    Als Subnetz kannst Du einen der privaten Bereiche aus RFC1918 verwenden: 10.0.0.0/8, 172.16.0.0/12 oder 192.168.0.0/16.


    Packst Du ein Layer 3-Protokoll ist es ein Layer 3-Tunnel - beispielsweise ein IP.


    Stell Dir das vielleicht wie eine Zwiebel vor, die über den Boden rollt. Die Außenhaut ist IP, innen ist was auch immer. Die Packetgrößen nach innen werden aber immer kleiner (MTU/Fragmentierung) - das ist das, wo man mit der Zeit zu weinen beginnt ;-). Dazu eventuell später mehr.


  • Danke für die Info.

    Nur das mit dem Subnetz ist mir noch immer nicht so ganz klar. Unter welcher IP erreiche ich dann die Clients vom Server aus?


    Von Fritzboxseite her bekommen sie ja eine IP aus dem Bereich 192.168.178.xxx. Und bei nem Speedport 192.168.2.xxx.


  • Ein Tap (Bridged) VPN Kannst du dir wie ein Netzwerkkabel vorstellen, welches zwei Switche (Bridges) miteinander verbindet. Der VPN Tunnel und die Interfaces auf beiden Seiten haben keine IP.


    Du musst auf beiden Seiten jeweils eine Bridge mit dem VPN Interface und mit einem physikalischen Interface erzeugen. Befindet sich auf Serverseite ein DHCP Server, bekommt das Gerät was an dem ich physikalischen Interface hängt eine IP zugewiesen. Gibt es kein DHCP musst du halt ne statische IP vergeben.


    Wichtig ist halt, dass sich beide Seiten im gleichen Subnetz befindet müssen, da der VPN Service selbst nicht in der Lage ist zu Routen. (Der Linux Server aber schon!)

  • Glaub so langsam löst sich mein Denkfehler auf :)


    Die Datenpakete werden durch den Bridge Mode direkt auf die Physikalische Netzwerkkarte übertragen. Daher brauche ich auch keine IP bzw. Routing.


    Ihre IP-Adressen bekommen die Clients dann aus dem Pool es VPN oder DHCP-Server.


    Und da es auf dem VPS keine Maschinen im Subnet gibt, bräuchte ich demnach eigentlich gar keine Brücke auf dem VPS, oder?

  • Und da es auf dem VPS keine Maschinen im Subnet gibt, bräuchte ich demnach eigentlich gar keine Brücke auf dem VPS, oder?

    Fast. Auf VPS Seite würde ich ne Bridge bauen die eine statische IP in deinem Subnetz hat und dort das VPN Interface reinstecken. Dann sollte auch der Server erreichbar sein.


    Sprich nicht dem VPN Interface ne IP geben sondern der Bridge.

  • Von Fritzboxseite her bekommen sie ja eine IP aus dem Bereich 192.168.178.xxx. Und bei nem Speedport 192.168.2.xxx.

    Ich hoffe, das Forum zeigt meine ASCII-Graphik stabil an:


    X1, X2, X3 ... irgendwelche externen IP-Adressen der Provider


    Ausgangslage:

    Code
                                               VPS (X1)                                              |[192.168.178.0/24]---[Fritzbox] (X2)--------{Internet}-------(X3)[Speedport]---[192.168.2.0/24]

    Layer 3 (tun): VPN 172.16.0.0/24 ist frei gewählt.

    Code
                                            === VPS (X1) [VPN: 172.16.0.254]===
                                        VPN/        |                           \VPN
                                      =====         |                            =====      
    [192.168.178.0/24]---[Fritzbox] (X2)--------{Internet}-------(X3)[Speedport]---[192.168.2.0/24]
                    [172.16.0.1]                                                    [172.16.0.2]    

    Die Tunnelendpunkte können sich gegenseitig auf Layer 3 erreichen - keine Broadcasts. Clients hinter dem Endpunkt müssen eine Route erhalten, damit sie ins jeweils andere Netz kommen. Sofern 172.16.0.0 über deren Gateway erreichbar ist, genügt hier eine Defaultroute.



    Layer 2 (tap):


    D.h. Du hast in dieser Variante eine Broadcast-Domain geschaffen, in der aller Traffic zusammengeschaltet ist.

    Dein Problem ist nun, dass Du wegen der unterschiedlichen Client-IP-Ranges auf FB und Speedport verwirrt bist, respektive auf dem Server gar kein IP-Range solcher Range vorhanden ist - zu Recht verwirrt Dich das, denn die Router machen üblicherweise Layer 3 Tunnel, und das ist etwa bei mobilen Breitbandnetzen auch die Variante, die am ehesten noch Kosten spart, weil nur selektiv Traffic darüber läuft.


    Die Frage ist jetzt, ob es Dir genügt, wenn nur einzelne Clients hinter den Routern am VPN teilnehmen, oder, ob Du alle Clients mit den Broadcasts versorgen möchtest.


    Im ersteren Fall nehmen die jeweiligen Clients selbst am VPN teil. Sie dürfen dann vom VPN-Server, respektive einem auf seinem Interface (empfohlen software-bridge + tap-Device als Bridgeport) eine Adresse per DHCP erhalten.


    Ihr jeweiliges VPN Interface nimmt dann an der Broadcast-Domain "lokal" teil.


    Im anderen Fall müsste man den Layer 2 auf den LAN-Ports der Router ausgeben, was ohne zusätzliche Hardware und VLANs ziemlich komplex werden kann...

  • Vielen Dank, so langsam lichtet sich der Nebel :)


    Nein, sollen nur die Clients die direkt mit dem VPS per VPN verbunden sind den Broadcast vom VPS empfangen können.

  • Nein, sollen nur die Clients die direkt mit dem VPS per VPN verbunden sind den Broadcast vom VPS empfangen können.

    Na dann ist es ja relativ simpel - Der VPS macht einen Layer 2-Tunnel und auf dem Tunnel-Interface läuft ein DHCP-Server, der Adressen an die Clients aus einem privaten Netz vergibt. Pass auf, dass er aber keine Defaultrouten/-Gateways verteilt damit Du keinen flappenden Tunnel baust. Auf den Clients empfehlen sich statische Routen über die Fritzbox oder den Speedport zur IP-Adresse Deines VPS. Damit nehmen die Clients an einem IP-Netz Deines VPS teil und können auch am Ethernet dort teilnehmen.

  • Hallo zusammen und einen schönen Tag! Ich habe genau das Gleiche vor. Hat jemand vielleicht eine funktionierende Beispielkonfiguration? Wie wird die Bridge korrekt eingerichtet? eth0 hat bei meinem Vserver die öffentliche IP und sollte ja kein Teil der Bridge sein, oder?