.titleBar { margin-bottom: 5px!important; }

fb als openvpn server für mehrer windows clients

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von bugbugbug, 30 Nov. 2008.

  1. bugbugbug

    bugbugbug Neuer User

    Registriert seit:
    4 Sep. 2007
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    guten tag.
    ich schlage mich seid einigen tagen mit dem problem rum, dass ich auf meiner 7050 nen openvpn server zum laufen bringen will, wo sich einige windowsclients verbinden können, so das diese im selben netz sind.
    grund/ziel: ich möche eine alternative(autake) für mich und meine freunde zu hamachi finden via internet lan spiele spielen zu können und daten auszutauschen.
    sagen wir eine testumgebung wie diese:
    Code:
    #PC1#    #PC2#   #PC3#
      :        :       :
    #RO1#    #RO2#    #RO3#
      :        :       :
      :....(I-NET)....
    
    Die PC1-3 sind windows maschienen RO(Router)1 ist die FB 7050, wo der vpn server läuft und RO2-3 sind irgendwelche Router.
    Diese rechner sollen alle geichzeitig über den server in RO1 sich in ein VPN mittels openvpn einbinden, im gleichen netzwerk/subnetz so das alles boadcast usw. funktioniert.

    könnt ihr mir weiterhelfen?
    ich stehe momentan voll auf den schlauch.


    schonmal vielen dank.


    MFG BuG
     
  2. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Das sollte gehen, und du hast dabei zwei Möglichkeiten:
    - Du machst alle anderen PCs virtuell zu Teilnehmern deines LANs, also PC2 und PC3 bekommen dann eine IP aus dem Netz bei PC1
    - Du baust ein "separates" virtuelles LAN im Router auf, dann müsste sich auch PC1 einwählen, aber deine Kumpels könnten dann nicht sofort "dein ganzes Netz sehen" ;-)

    Egal welchen Ansatz du wählst, du müsstest dafür den Modus "Brücke" (TAP) auswählen. Im ersten Fall würdest du die Brücke noch mit dem LAN verbinden, im zweiten Fall nicht.

    Du musst dann noch "client-to-client" beim Server anwählen, damit die PCs sich auch untereinander "sehen" können. Machst du das über eine Nachladelösung (wie the-construct) oder per freetz?


    Jörg
     
  3. bugbugbug

    bugbugbug Neuer User

    Registriert seit:
    4 Sep. 2007
    Beiträge:
    19
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    erstmal danke für deine teilnahme an meinem problem.

    also, ich wollte die zweite möglichkeit schaffen, da die nicht unbedingt über meine öffentliche ip im netz rumhängen sollen;) wer weiß, was die da treiben^^

    und ich will es mit nem pseudo image von the-construct realisieren, wobei allerdings nur die geschichte mit nem psk gemacht wird und diese methode ja nur einen client am server erlaubt. -also muss ich das irgendwie ja mit zertifikaten machen, oder?
     
  4. MaxMuster

    MaxMuster IPPF-Promi

    Registriert seit:
    1 Feb. 2005
    Beiträge:
    6,924
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ja, wenn sich mehrere Clients gleichzeitig anmelden sollen, benötigst du Zertifikate, wie man die erstellt, steht z.B. hier im Wiki.

    Wenn du die Dinge wie folgt per debug.cfg auf die Box bringst:
    Code:
    #Server-Certifikat:
    /var/tmp/server.crt
    # Server-Key
    /var/tmp/server.key
    # Zertifikat der CA
    /var/tmp/ca.crt 	
    # Diffie-Hellman Parameter
    /var/tmp/dh1024.pem 
    # oder bei 2048 bit  "dh2048.pem"
    
    Könnte deine Config in etwa so lauten:

    Code:
    proto udp
    dev tap
    dev-node /var/tmp/tun
    ca /var/tmp/ca.crt
    cert /var/tmp/server.crt
    key /var/tmp/server.key
    dh /var/tmp/dh1024.pem
    server 10.8.0.0 255.255.255.0
    client-to-client
    tun-mtu 1500
    mssfix
    verb 3
    daemon
    cipher BF-CBC
    keepalive 10 120
    
    Damit bekäme die Box die 10.8.0.1 und die PCs dann IPs ab 10.8.0.2.
    Mögliche Config der Clients dazu:
    Code:
    remote deinserver.dyndns.org
    proto udp
    dev tap
    tls-client
    ns-cert-type server
    ca "D:\\Eigene Dateien\\OpenVPN\\ca.crt"
    cert "D:\\Eigene Dateien\\OpenVPN\\client.crt"
    key "D:\\Eigene Dateien\\OpenVPN\\client.key"
    tun-mtu 1500
    mssfix
    nobind
    pull
    verb 3
    
    Jörg
     
  5. CruX

    CruX Neuer User

    Registriert seit:
    1 Dez. 2008
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe zurzeit genau das gleiche vor und habe es wie in diesem Tutorial super beschrieben verwirklicht. Das Problem ist jetzt allerdings dass sich die Clients wunderbar pingen können und sämtliche IP Aktivitäten, Windows Freigabe etc funktionieren, allerdings lassen sich Spiele wie Warcraft 3 oder Trackmania Nations Forever einfach nicht zu laufen bewegen. Das Problem liegt hier darin, dass sich Server und Client mit sog. Broadcasts finden, die, obwohl ich "tap" verwende, nicht korrekt übertragen werden.
    Ich poste hier einfach mal meine configs in der Hoffnung dass mir jmd mit dem Problem helfen kann und dem Threadstarter vllt eines der größeren Probleme von vorne herein aus dem Weg schafft.
    Server
    Code:
    # OpenVPN v2.0.5 config:
    #
    port 1194
    proto udp
    dev tap
    mode server
    tls-server
    server 10.0.0.0 255.255.255.0
    client-to-client
    ca /var/tmp/vpn/ca.crt
    cert /var/tmp/vpn/fritzbox.crt
    key /var/tmp/vpn/fritzbox.key
    dh /var/tmp/vpn/dh1024.pem
    auth SHA1
    cipher AES-256-CBC
    ping 10
    push "ping 10"
    ping-restart 60
    push "ping-restart 60"
    Client
    Code:
    # OpenVPN v2.0.5 config:
    #
    port 1194
    proto udp
    dev tap
    tls-client
    ns-cert-type server
    remote dyndnshostname 1194
    ca ca.crt
    cert cert.crt
    key key.key
    dev-node VPN
    auth SHA1
    cipher AES-256-CBC
    pull
    Grüße und Danke im Vorraus
    CruX
     
  6. Duplomonster

    Duplomonster Neuer User

    Registriert seit:
    16 Okt. 2008
    Beiträge:
    120
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo.
    Ich denke mal, dass es daran liegt, dass nicht der ganze Netzwerkverkehr über den virtuellen Netzwerkadapter geroutet wird. Du müsstest vielleicht das Standardgateway ändern, damit sämtlicher Traffic übers VPN geht.
    Im Client:
    pull (haste ja schon)
    Im Server:
    push "route-gateway 10.0.0.1"
    push "redirect-gateway def1" oder push "redirect-gateway def1 bypass-dhcp"

    Damit sollte jeglicher Traffic übers VPN geroutet werden. Problem ist hierbei dann, dass die Clients während der Verbindung nicht mehr surfen könnten (sofern da nicht noch einige andere Einstellungen gemacht werden).
    In meinem Netz bekommen alle Clients eine IP vom DSL-Router und aufgrund der Umleitung können sie über die WAN-IP des Routers surfen (überprüfbar bspw. mit wieistmeineip.de). Die Frage ist nur, ob du das willst. Und Zugriff auf das Netz des Router inkl. Freigaben haben die "Externen" dann auch (bei mir gewollt).
    Wenn die Umleitung für den Traffic erfolgreich ist, kannst du bei den Windows-PCs mit "route print" unter Standard-Gateway das gepushte Gateway sehen (und nicht dasjenige, welches in dem Externen Netz vom DHCP vergeben wird).
    Viel Erfolg beim ausprobieren. Weiß aber nicht, ob das dein Problem löst.
     
  7. CruX

    CruX Neuer User

    Registriert seit:
    1 Dez. 2008
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #7 CruX, 2 Dez. 2008
    Zuletzt bearbeitet: 4 Dez. 2008
    Danke für deine Antwort, allerdings kommt diese Möglichkeit leider nicht in Frage da ich meine INet-Verbindung nicht freigeben möchte(und das in dem Fall auch nicht nötig ist).
    Wireshark zeigt an, dass die Broadcasts auch über den TAP Adapter laufen, allerdings scheint bei der Gegenstelle nichts mehr davon anzukommen.
    Wenn ich Gegenstelle ein Spiel erstellen lasse, zeigt Wireshark ebenfalls keine einkommenden Broadcasts (das Spiel "finde" ich natürlich auch nicht).
    Mit Hamachi funktioniert das ganze, die gesendeten Broadcasts sehen gleich/ähnlich aus, allerdings kommt in diesem Fall auch wieder etwas zurück(der Gegenüber "findet" mein Spiel).
    Ich werde das ganze heute noch einmal testen, dieses mal versuche ich als Gegenstelle jemanden ohne Vista zu finden(ggf. ist Vista dran Schuld).

    Vllt hat ja noch jmd eine Idee oder gar eine Lösung.

    mfg CruX


    Edit: Könnte es evtl daran liegen dass die Fritzbox OpenVPN 2.1 rc1 (rc15 ist aktuell) und die Clients OpenVPN 2.0.9 verwenden?
    Edit2: Generell wäre es nicht schlecht man neue, funktionstüchtige Binaries für OpenVPN zu haben. Im Forum findet man meist nur sehr alte Versionen... Leider weiss ich selber nicht wie man die Source richtig kompiliert.
    Edit3: Ich werde jetzt mal versuchen mir die OpenVPN 2.1rc13 binaries aus freetz zu extrahieren. Außerdem hab ich im Freetz trac(OpenVPN) was von
    gelesen, hat das etwas mit meinem Fall zu tun?!
    Edit5: Mein Ziel ist es wohlgemerkt nicht zwei Netze zu verbinden oder zusätzliche Clients in ein bestehendes Netz einzubinden, ich will lediglich eine TAP-bridge mit eigenem IP/Subnet-Bereich für alle verbundenen Clients(Broadcasts etc sollten natürlich innerhalb dieses Netzes funktionieren).
    Edit6: Ich starte mein VPN so:
    Code:
    mknod /var/tmp/tun c 10 200
    /var/tmp/vpn/openvpn --cd /var/tmp/vpn –-daemon --config server.conf --dev-node /var/tmp/tun
    Vllt liegt darin auch der Fehler
    Edit7:Ich hab es mittlerweile geschafft, es funktioniert nun alles wie es soll, inkl Broadcasts.
    Ich bin mir immernoch nicht sicher wo genau der Fehler lag, aber vermutlich war die installierte TAP Treiber Version zu alt o.Ä.(nachdem ich durch Zufall das Gerät neuinstallieren musste, hat alles perfekt funktioniert)
    Bei Fragen zu dieser Art von VPN Lösung stehe ich gern zu Verfügung.