Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Bridge mit WLAN Stick

  1. #1
    Registrierter Benutzer
    Registriert seit
    Dec 2004
    Beiträge
    212

    Bridge mit WLAN Stick

    Hallo,

    ich möchte auf Debian Bullsey einen WLAN-Stick in einer eth-wlan-Bridge nutzen.
    Als ersten Schritt versuche ich eine Bridge zu erstellen, bei der nur der WLAN-Stick als einziger Port verfügbar ist.
    Leider funktioniert kein Ping, während bei einer Direktverbindung (WLAN ohne Bridge) dieser funktioniert.

    Der Stick ist folgender:
    Code:
    # lsusb | grep WLAN
    Bus 001 Device 002: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
    Im ersten Schritt lösche ich das existierende WLAN-Interface und ersetze es durch wport0 (=wireless lan bridge port). wport0 hat 4addr und den promiscuous mode aktiviert.
    Code:
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        ...
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        ...
    3: wlx74da38ebfd98: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
        link/ether 86:f1:...:66 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
    # iw phy0 interface add wport0 type managed 4addr on
    # ip link set wport0 promisc on
    # iw dev wlx74da38ebfd98 del
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        ...
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        ...
    4: wport0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc mq state DORMANT group default qlen 1000
        link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
    Dann erstelle ich die Bridge br0, weise ihr eine IP und wport0 als Port zu:
    Code:
    # ip link add br0 type bridge
    # ip link set wport0 master br0
    # ip link set br0 up
    # CLIENT_IP=192.168.72.11
    # WLAN_ROUTER_IP=192.168.72.254
    # ip addr add $CLIENT_IP/24 dev br0
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        ...
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        ...
    4: wport0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
        link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
    5: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
        inet 192.168.72.11/24 scope global br0
           valid_lft forever preferred_lft forever
    Nach dem Start von WPA Supplicant ...
    Code:
    wpa_supplicant -dd -D nl80211 -i wport0 -c ~user/test.wlan -b br0 > wpa.log & tail -F wpa.log
    ... versuche ich zu pingen:
    Code:
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        ...
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        ...
    4: wport0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
        link/ether b2:42:...:a2 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
    5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
        inet 192.168.72.11/24 scope global br0
           valid_lft forever preferred_lft forever
        inet6 ...
    
    # ping $CLIENT_IP -c 1
    PING 192.168.72.11 (192.168.72.11) 56(84) bytes of data.
    64 bytes from 192.168.72.11: icmp_seq=1 ttl=64 time=0.045 ms
    
    --- 192.168.72.11 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.045/0.045/0.045/0.000 ms
    # ping $WLAN_ROUTER_IP -c 4
    PING 192.168.72.254 (192.168.72.254) 56(84) bytes of data.
    From 192.168.72.11 icmp_seq=1 Destination Host Unreachable
    From 192.168.72.11 icmp_seq=2 Destination Host Unreachable
    From 192.168.72.11 icmp_seq=3 Destination Host Unreachable
    
    --- 192.168.72.254 ping statistics ---
    4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3070ms
    pipe 4
    Der Router meldet eine Verbindung und im wpa.log steht auch:
    Code:
    wport0: CTRL-EVENT-CONNECTED - Connection to c6:4a:...:8d completed [id=0 id_str=]
    Auffällig ist allerdings die Bridge-spezifischen Logeinträge:
    Code:
    Initializing interface 'wport0' conf '/home/user/test.wlan' driver 'nl80211' ctrl_interface 'N/A' bridge 'br0'
    wport0: Receiving packets from bridge interface 'br0'
    wport0: RX EAPOL from c6:4a:...:8d to b2:42:...:a2 (bridge)
    nl80211: Add ifindex 5 for bridge br0
    wport0: RX EAPOL from b2:42:...:a2 to c6:4a:...:8d (bridge - not for this interface - ignore)
    wport0: RX EAPOL from c6:4a:...:8d to b2:42:...:a2 (bridge)
    nl80211: Add ifindex 5 for bridge br0
    nl80211: Add ifindex 5 for bridge br0
    wport0: RX EAPOL from b2:42:...:a2 to c6:4a:...:8d (bridge - not for this interface - ignore)
    Was beduetet: "bridge - not for this interface - ignore"?
    Werden benötigte Frames gefiltert?

    Ich verwende firmware-realtek_20210315-3_all.deb. Brauche ich eine alternative Firmware oder gar einen anderen Stick? (Könnt ihr einen empfehlen?)

    Auch ein alternativer Versuch mit WPA Supplicant + WEXT schlägt fehl ...
    Code:
    wpa_supplicant -dd -D wext -i wport0 -c ~user/test.wlan -b br0 > wpa.wext.log & tail -F wpa.wext.log
    Code:
    # ping $CLIENT_IP -c 1
    PING 192.168.72.11 (192.168.72.11) 56(84) bytes of data.
    64 bytes from 192.168.72.11: icmp_seq=1 ttl=64 time=0.047 ms
    
    --- 192.168.72.11 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.047/0.047/0.047/0.000 ms
    # ping $WLAN_ROUTER_IP -c 4
    PING 192.168.72.254 (192.168.72.254) 56(84) bytes of data.
    From 192.168.72.11 icmp_seq=1 Destination Host Unreachable
    From 192.168.72.11 icmp_seq=2 Destination Host Unreachable
    From 192.168.72.11 icmp_seq=3 Destination Host Unreachable
    From 192.168.72.11 icmp_seq=4 Destination Host Unreachable
    
    --- 192.168.72.254 ping statistics ---
    4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3069ms
    pipe 4
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        ...
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        ...
    4: wport0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc mq master br0 state DOWN group default qlen 1000
        link/ether 66:e1:...:08 brd ff:ff:ff:ff:ff:ff permaddr 74:da:...:98
    5: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 02:a5:...:90 brd ff:ff:ff:ff:ff:ff
        inet 192.168.72.11/24 scope global br0
           valid_lft forever preferred_lft forever
        inet6 ...
    ... hier ist wport0 auf einmal DOWN.

  2. #2
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    Wo hast du denn diese Schrittliste her? Wirkt viel zu kompliziert, hier ein Beispiel: https://unix.stackexchange.com/quest...et-with-debian
    Im wesentlich werden dort ein Werkzeuge für Software-Netzwerkbrücken installiert, die Netzwerkkonfiguration angepasst und gut, Löschen usw muss man da nichts.

    Davon ab, eine (Software-)Netzwerkbrücke macht ja nur sinn, wenn mindestens zwei Netzwerkkarten beteiligt sind. Ich würde daher die Brücke vollständig konfiguieren bzw vermute, dass das dein Problem ist - zu kompliziertes erstellen, ist wohl auch ein Thema.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2004
    Beiträge
    212
    Zitat Zitat von nopes Beitrag anzeigen
    Wo hast du denn diese Schrittliste her? Wirkt viel zu kompliziert, hier ein Beispiel: https://unix.stackexchange.com/quest...et-with-debian
    ...
    Naja, es gibt viele Schrittlisten und ich habe viele ausprobiert. Das Ergenis ist immer das selbe.
    Das ich wlx74da38ebfd98 lösche und durch wport0 ersetze ist überflüssig, macht es aber lesbarer.
    Alternativ hätte ich auch für wlx74da38ebfd98 4addr und promiscuous mode aktivieren können.

    Zitat Zitat von nopes Beitrag anzeigen
    Davon ab, eine (Software-)Netzwerkbrücke macht ja nur sinn, wenn mindestens zwei Netzwerkkarten beteiligt sind. Ich würde daher die Brücke vollständig konfiguieren bzw vermute, dass das dein Problem ist - zu kompliziertes erstellen, ist wohl auch ein Thema.
    Wenn ich das LAN der Brücke hinzufüge funktioniert die Kommunikation über das LAN Interface wie erwartet.
    Das es in der Praxis keine Sinnmacht, eine Brücke mit einem Interface zu betreiben ist mir klar.
    Ich habe das obige Beispiel bewust so ausgeführt, um das Problem zu isolieren. Die "ip a" aufrufen dienen nur der Status überprüfung.
    Auf den Punkt gebracht, mach ich ja nicht mehr als:
    Code:
    # 1.  Ersetze 'wlx74da38ebfd98' durch 'wport0' mit '4addr on'. Alternaitv ginge auch: 'iw dev wlx100d7f40e08a set 4addr on'
    iw phy0 interface add wport0 type managed 4addr on && iw dev wlx74da38ebfd98 del
    
    # 2.  Schalte 'promiscuous mode' ein
    ip link set wport0 promisc on
    
    # 3.  Erstelle Brücke "br0" mit "wport0" als port
    ip link add br0 type bridge
    ip link set wport0 master br0
    
    # 4.  Setze IP für Brücke:
    ip link set br0 up
    ip addr add $CLIENT_IP/24 dev br0
    Das Problem liegt einfach dran, dass über das WLAN nichts gesendet wird, was möglicherweise an der Firmware liegt. Vieleicht hatt einer eine Idee, wie ich das herausfinden kann.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    In der Tat haben viele WLAN Karten kein Support für den Promiscuous-Modus/Monitor-Modus.
    Nach kurzem Check, scheint iwconfig besser geeignet, da es dir ggf. eine Fehlermeldung liefert, bzw du prüfen kannst, ob deine Karte das kann - https://techwiser.com/check-if-wirel...-monitor-mode/
    - siehe 3. Ubuntu, iwconfig gibt es auch bei Debian...
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  5. #5
    Registrierter Benutzer
    Registriert seit
    Dec 2004
    Beiträge
    212
    Leider ist mir der Aufbau der Bridge nicht gelungen. Was aber funktioniert, ist statt als WLAN client aufzutreten, mit "hostapd" einen accesspoint einzurichten. Hier funktioniert die bridge.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 06.01.12, 21:08
  2. Was ist einfacher eizurichten? Fritz WLAN Stick N oder T-Sinus 154 WLAN Stick
    Von roadracer im Forum Mobiles Linux, Notebook, PDA
    Antworten: 13
    Letzter Beitrag: 03.03.09, 21:36
  3. Netzwerk über WLan-Bridge an WLan-Router anbinden
    Von postfix im Forum Router und Netzaufbau
    Antworten: 15
    Letzter Beitrag: 24.01.06, 17:10
  4. wlan bridge zu wlan router
    Von rancor im Forum Anbindung an die Aussenwelt
    Antworten: 1
    Letzter Beitrag: 18.10.04, 16:27
  5. WLAN - LAN Bridge
    Von Dodge im Forum Router und Netzaufbau
    Antworten: 2
    Letzter Beitrag: 05.09.02, 18:24

Lesezeichen

Berechtigungen

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