Ergebnis 1 bis 20 von 20

Thema: [Gelöst] Problem bei 2 openvpn configs im bridge-mode (tap)

  1. #1
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28

    [Gelöst] Problem bei 2 openvpn configs im bridge-mode (tap)

    Ich habe ein Problem wenn ich 2 openvpn-services (also 2 configs) über das freetz-openvpn-webIF einrichten möchte.

    Nur eine der beiden Konfigurationen (nennen wir sie c1 und c2) funktioniert hierbei.

    Hintergrund: Ich möchte ein Einwah-Profil, bei dem ich nur in das private Netz gebridged werde (c1) und ein Profil bei auch die default route (0.0.0.0), also das Internet, über die VPN-Fritzbox geroutet wird (c2).

    c1 und c2 arbeiten im tap modus.
    Ich kann mich zu beiden verbinden und erhalte eine IP.
    Bei einem von beiden klappt auch der Datenverkehr (ping an fritzbox usw), beim anderen nicht.

    Ich habe festgestellt, wenn ich die openvpn-services über das web-IF starte und stoppe, immer nur die Konfiguration geht, die VOR der anderen gestatet wurde.
    Sprich starte ich erst c2, dann c1, dann geht de Datenverkehr bei c2, nicht aber bei c1.

    Ich schätze mal das könnte am bridging liegen.
    Wie funktioniert das im hintergrungd? Leg freetz für jede config im tap-modus einen eigenen tap-adapter an und bridged diesen mit dem lan-interface ?

    Hat jemand das gleiche problem oder vllt sogar eine lösung für mich (patch, script) ?

    Ich würde mich sehr freuen
    Viele Grüße,
    Patrick
    Geändert von Pace (19.02.2009 um 23:03 Uhr)

  2. #2
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    Schreibst du noch kurz, welche Box und Freetz Version du nutzt?
    Hast du das Bridging von Hand in die ar7.cfg eingetragen?

    Seit Freetz R2393 gibt es einen Part in dem Startscript, welcher im Falle einer "TAP-Config" und vorhandenem "brctl" die vorhandenen Tap-Interfaces zum Interface "LAN" hinzufügt. Das könnte hier vielleicht ein Problem sein??

    Code:
    	if [ -n "`grep "dev tap" /mod/etc/${DAEMON}.conf`" -a -x "`which brctl`" ]; then
    		for i in "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"; do
    			 brctl addif lan $i
    		done
    	fi


    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  3. #3
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Hab ich ganz vergessen:

    Fritzbox 7270, freetz-devel-3086

    Das bridging hab ich nicht selbst eingetragen, das macht doch freetz für mich, oder?

    EDIT:
    ok, dann sollte dieser code wohl auch in meiner version drin sein.
    was dann das problem ist weiss ich nicht :/

  4. #4
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    .... wie geschrieben, das ist prinzipiell zwar möglich, aber ein "relativ neues" Feature und das geht auch nur dann, wenn in deiner Firmware das Programm "brctl" drin ist...

    Könntest du mal die Ausgabe von "brctl show lan" posten?

    Sollen die den gebrückt sein? Nutzen die das gleiche Netz? Auch das gleiche, wie dein LAN?

    Der "normale" (ältere) Weg, tap Interfaces zur internen Bridge hinzuzufügen geht über das Editieren der ar7.cfg (steht in Wiki beschrieben).

    Jörg

    EDIT: Link zum Wiki-Eintrag
    EDIT 2: Du müsstest natürlich auch noch tap1 (und bei belieben noch bis zu tap<n> ) hinzufügen....
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  5. #5
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Danke für den Hinweis!
    Am liebsten ist es mir jedoch, wenn ich nicht extra die ar7.cfg anfassen muss.

    brctl sagt, dass unter lan folgende interfaces gebridged werden:
    eth0, ath0, tap0

    tap1 existiert zwar (wird unter ifconfig aufgeführt), ist aber nicht in gebridged.
    Auch bei einem neustart der box wird es nicht zur lan-bridge hinzugefügt, obwohl beide openvpn-configs auf autostart sind.

    Im syslog finde ich keinen hinweis auf einen fehler...

    Nachtrag:
    Ja, die sollen alle gebrückt sein: eth0, ath0, tap0 und tap1

  6. #6
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    o.k., dann versuch doch zunächst mal, ob ein
    Code:
    brctl addif lan tap1
    in dem Fall, dass nur tap0 in der Brücke ist, weiterhilft...

    Jörg

    EDIT: Ach so: Was ergibt denn
    Code:
    ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  7. #7
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Code:
    brctl addif lan tap1
    Über diesen Befehl füge ich tap1 erfolgreich zu lan hinzu, ein aufruf von
    Code:
    brctl show lan
    bestätigt dies.

    Code:
    ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'
    ergibt:
    Code:
    tap0
    tap1
    Eigentlich sollte doch dann tap1 von anfang an der brücke angehören, oder?

    Ich könnte mir jetzt natürlich helfen, indem ich "brctl addif lan tap1" zu einem startscript hinzufüge.
    Viel wichtiger wäre doch aber das der nächste der das versucht nicht vor dem gleichen problem steht...

  8. #8
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    ... behebt das denn dein ursprüngliches Problem, wenn tap1 mit dabei ist??
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  9. #9
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    ... kann ich leider grade nicht testen, da ich dazu das wlan der box ausschalten müsste (anderes problem, siehe http://www.ip-phone-forum.de/showthr...39#post1277839) und dieses aber grade benötigt wird.

    Aber da bin ich mir fast sicher dass es das problem beheben würde, immerhin passt das fehlen der brücke genau zur symptomatik

  10. #10
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    Könntest du dann mal die beiden Openvpn's stoppen, per "brctl delif lan tap0" und "brctl delif lan tap1" die Brücken bereinigen und dann neu starten?
    Sind dann denn beide Interfaces in der Brücke?
    Ansonsten: Nochmal beides Stoppen und tap's entfernen und dir beiden Configs von Hand Starten mit
    Code:
    sh -x /mod/etc/init.d/rc.openvpn_c1 start
    sh -x /mod/etc/init.d/rc.openvpn_c2 start
    Gibt zwar viel output und eigentlich interessiert nur der oben schon genannte Part mit brctl

    Wie du schon sagtest, eigentlich sollte es gehen....


    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  11. #11
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Habe grade noch was anderes gesehen.

    In /var/log/mod.log steht folgendes:
    Code:
    Starting openvpn ... done.
    Starting openvpn_tunnel ... done.
    device tap0 is already a member of a bridge; can't enslave it to bridge lan.
    "openvpn_tunnel" ist in dem fall meine zweite openvpn-config. Hier sollte wohl eigentlich tap1 zur brücke hinzugefügt werden, es wird aber versucht tap0 ein zweites mal zu adden.

    Stimmt da was mit dem script von oben nicht?
    Hilft dir das schon weiter oder soll ich das o.g. noch durchführen?

  12. #12
    IPPF-Fünftausend-VIP
    Registriert seit
    03.08.2007
    Ort
    BI
    Beiträge
    7.451
    Das war aber nicht per "sh -x" gestartet
    Boxen: 7240, 7170, W900V, W701V jeweils mit mehr oder minder aktuellem Freetz-Trunk und irgendwelchen Modifizierungen.

    Aus aktuellem Anlaß: Support gehört ins Forum, IRC oder Trac-System, nicht in mein Postfach oder meine Messenger-Accounts.


    ICQ und andere Kontaktinformationen ab nun nur noch per PN.

  13. #13
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    ... beim zweiten mal wird halt versucht, beide tap's hinzuzufügen, das erste wird fehlschlagen, das zweite sollte aber klappen, hatte ich dabei gehofft.


    Geht denn das Stoppen, tap's entfernen und wieder starten? Also sind dann beide drin?

    Ansonsten versuche doch bitte mal, die rc-Datei so zu verändern:
    Code:
    	if [ -n "`grep "dev tap" /mod/etc/${DAEMON}.conf`" -a -x "`which brctl`" ]; then
    		for i in "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"; do
    			 brctl show lan | grep -q $i || brctl addif lan $i
    		done
    	fi
    (das könnte so gehen)
    Code:
    cp  /etc/init.d/rc.openvpn /var/tmp
    sed -i 's/brctl addif/brctl show lan | grep -q $1 || brctl addif ' /var/tmp/rc.openvpn
    mount -o bind /var/tmp/rc.openvpn /etc/init.d/rc.openvpn
    und versuche es dann nochmal (stoppen, tap's entfernen und wieder starten)


    Jörg
    Geändert von MaxMuster (19.02.2009 um 22:28 Uhr) Grund: Korrektur des "grep"
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  14. #14
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Zitat Zitat von MaxMuster Beitrag anzeigen
    ... beim zweiten mal wird halt versucht, beide tap's hinzuzufügen, das erste wird fehlschlagen, das zweite sollte aber klappen, hatte ich dabei gehofft.
    Ok, hatte nicht ganz kapiert wie das script arbeitet. Du hast recht.

    Zitat Zitat von MaxMuster Beitrag anzeigen
    Geht denn das Stoppen, tap's entfernen und wieder starten? Also sind dann beide drin?
    nein, auch dann ist nur tap0 drin

    Wenn ich den folgenden code von hand in der console eingebe...
    (du hattet da $1 stehen, das habe ich durch $i ersetzt)
    Code:
    	for i in "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"; do
    		 brctl show lan | grep -q $i || brctl addif lan $i
    	done
    ...kommt folgendes raus:
    Code:
    grep: tap1: No such file or directory
    device tap0 is already a member of a bridge; can't enslave it to bridge lan.
    Warum er da das tap1-argument in grep nicht korrekt verarbeitet weiss ich nicht.
    Aber fakt ist, an diesem Teil im Skript hängts... tap1 wird da nicht hinzugefügt, auch nicht mi dem unveränderten code.
    Deine Idee zuerst zu püfen ob das tapXY schon hinzugefügt wurde ist denke ich der richtige Ansatz. Nur die Syntax scheint noch nicht ganz zu passen...

    Nachtrag
    Ich denke das Problem liegt an diesem Befehl: ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'
    Dessen output ist nicht im richtigen Format für den for-befehl.
    Geändert von Pace (19.02.2009 um 22:47 Uhr)

  15. #15
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    ... sorry, $i ist natürlich richtig...

    wie ist es mit "" um das $i, also
    Code:
    grep -q "$i"
    stattdessen ?

    Jörg

    EDIT
    Versuche doch mal
    Code:
    for i in $(echo "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"); do
    stattdessen??
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  16. #16
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    Sieh dir mal die Ausgabe dieses Tests an, dann weisst du was ich meine
    Code:
    > for i in "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"; do
    > echo "$i"
    > echo test
    > done
    tap0
    tap1
    test
    Eigentlich sollte die Ausgabe ja folgendermaßen aussehen:
    Code:
    tap0
    test
    tap1
    test

  17. #17
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679

    Beitrag

    Noch einfacher sollte sein:
    Code:
    for i in `ifconfig | grep -o tap[0-9]`; do
      echo "**$i##"
    done
    Geändert von MaxMuster (19.02.2009 um 23:06 Uhr) Grund: Noch die " entfernt
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  18. #18
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28

    Daumen hoch

    Ok, dein letzter Tip hat zur Lösung geführt !

    Fogendes funktioniert:
    Code:
    for i in $(echo "`ifconfig | sed -n 's/\(tap[0-9]\).*/\1/p'`"); do
         brctl addif lan "$i"
    done
    Danach sind beide taps in der lan-bridge !

    Kannst du das vllt in den aktuellen trunk einbauen ?

    Vielen Dank auch für deine schnelle und kompetente Hilfe

  19. #19
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    6.679
    Versuchst du mal das

    for i in `ifconfig | grep -o tap[0-9]`; do

    Das wäre doch noch einfacher...
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer

  20. #20
    IPPF-Aufsteiger
    Registriert seit
    29.09.2005
    Beiträge
    28
    [Edit frank_m24: Sinnfreies Vollzitat vom Beitrag direkt darüber gelöscht. Lies noch mal die Forumregeln.]


    Jepp, damit gehts genauso !
    Sehr viel einfacher, hast recht

Ähnliche Themen

  1. Zyxel HW660-61 Bridge Mode wie ?
    Von djdelmundo im Forum ZyXEL
    Antworten: 1
    Letzter Beitrag: 16.12.2009, 21:57
  2. Bridge mode with PPPoA possible?
    Von Edward Velo im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 1
    Letzter Beitrag: 10.05.2009, 10:56
  3. Neue Gigabitkarte am NAS(Ubuntu) - kein Netz mehr... [GELÖST] openvpn bridge config
    Von zillion42 im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 8
    Letzter Beitrag: 02.11.2008, 16:23
  4. Speedproblem / Bridge-Mode?
    Von dreas im Forum SPA-1000/1001/2000/2002/, PAP2
    Antworten: 1
    Letzter Beitrag: 29.03.2008, 08:21
  5. AVM FB 7050 und Edimax AP 7206APG im Bridge-Mode
    Von psfoot im Forum FRITZ!Box Fon WLAN: Diskussion nur zum Funknetzwerk
    Antworten: 2
    Letzter Beitrag: 18.04.2007, 11:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •