WLAN-LAN-Bridge einrichten

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Liebes Forum,
    ich versuche einen RasPi dazu zu bringen, eine Internetverbindung an die FritzBox durchzureichen. Er soll sich über seinen WLAN-Stick in ein bekanntes Netzwerk einloggen und hängt per LAN-Kabel am LAN1-Port einer Fritzbox, die so konfiguriert ist, dass sie das Internet vom LAN1-Port an die angeschlossenen WLAN-Clients verteilen soll. Leider scheint der RasPi das Internetsignal nicht weiterzureichen.
    Hintergrund ist, dass sich die FritzBox in meinem Wohnwagen befindet, und die Clients (iPad, iPhone etc.) mit Internet versorgt werden wollen. Da die meisten Campingplätze ein offenes WLAN zur Verfügung stellen, in das man sich dann per Benutzername/PW einloggen kann, soll der RasPi quasi als Bridge dienen. Dessen Antenne hängt dann außen am Wohnwagen, was die abschirmende Wirkung der Wohnwagen-Außenhaut auf das WLAN-Signal umgeht. Er soll sich entweder mit einem offenen WLAN automatisch verbinden, oder die Benutzerdaten der wpa_supplicant.conf nutzen, falls SSID/PW benötigt werden (trage ich dann zuvor dort manuell ein).

    Konfiguration ist folgende:
    IP Fritzbox 10.0.3.1, auf DHCP gestellt
    IP Clients 10.0.3.2-10.0.3.20

    /etc/Network/Interfaces:

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet manual

    # Schnittstelle prüfen
    pre-up ifconfig wlan0 up
    pre-up ifconfig wlan0 down

    # Konfiguration WLAN0-Schnittstelle
    allow-hotplug wlan0

    # Mehrfachkonfiguration aktivieren
    iface wlan0 inet manual

    # Roaming aktivieren
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

    # erstes bekanntes WLAN Name:zuhause mit DHCP
    iface zuhause inet dhcp

    # zweites bekannte WLAN cpplatz mit DHCP
    iface cpplatz inet dhcp

    # verbindet sich mit allen unverschlüsselten Netzwerken über DHCP
    iface offen inet dhcp

    # Netzwerkbrücke konfigurieren:
    auto br0
    iface br0 inet dhcp
    pre-up ifup wlan0
    bridge_ports wlan0 eth0
    bridge_fd 5 # Timeout in Sekunden
    bridge_stp no # Wege im LAN optimieren


    Und hier noch die /etc/wpa_supplicant/wpa_supplicant.conf:

    ctrl_interface=/var/run/wpa_supplicant
    eapol_version=1
    ap_scan=1

    # erstes bekanntes WLAN Name:zuhause mit WPA2-Verschlüsselung
    network={
    ssid="SSID"
    id_str="zuhause"
    scan_ssid=1
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP
    group=TKIP CCMP
    psk="PASSWORT"
    }

    # zweites bekanntes WLAN Name:cpplatz mit WPA2-Verschlüsselung
    network={
    ssid="WLAN-ID 2"
    psk="WPA2 Netzwerkschlüssel"
    id_str="cpplatz"
    scan_ssid=1
    proto=RSN # WPA bei WPA-Verschlüsselung einsetzen
    key_mgmt=WPA-PSK
    pairwise=CCMP # Bei WPA-Verschlüsselung TKIP einsetzen
    group=TKIP CCMP # bei WPA-Verschlüsselung CCMP entfernen!
    }

    # unverschlüsselte Netzwerke
    network={
    ssid=""
    id_str="offen"
    scan_ssid=1
    key_mgmt=NONE
    }

    Der RasPi kann sich mit dem WLAN zuhause verbinden und ich habe Zugriff über SSH, der Befehl
    Ping 8.8.8.8
    liefert ein positives Ergebnis.

    In der Netzwerkbrücke taucht wlan0 aber leider nicht auf:
    pi@raspibridge ~ $ brctl show
    bridge name bridge id STP enabled interfaces
    br0 8000.b827eba64a37 no eth0

    Was mache ich falsch? Kann jemand helfen? Schon mal vielen Dank an alle Profis hier im Forum!

  • Die FB kann nur von DSL oder Modem eine Internetverbindung akzeptieren und dann an seine Clients weiterleiten. Ich glaube nicht dass es geht eine Bridge bzw Router an die FB anzuschliesen um Internetanschluss zu bekommen.

    Ich denke es geht einfacher eine PI mit 2 WLAns zu versehen und als Router zu konfigurieren und die FB aussen vor zu lassen.

  • Die FB 3270 bietet die Möglichkeit, eine vorhandene Internetverbindung mitzunutzen. Vorraussetzung ist allerdings, dass diese am LAN1-Port der FB ankommt. Siehe hier http://www.avm.de/de/Service/Han…x_WLAN_3270.pdf auf Seite 38.
    Da an der FB noch ein zweiter RasPi hängt, der als Medienserver für den Nachwuchs dient, komme ich aus Geschwindigkeitsgründen nicht an der FB vorbei. Die Variante mit dem RasPi als Router habe ich getestet und war viel zu langsam. Auch gab es immer wieder Zusammenbrüche des gesamten WLAN-Netzes.

  • Die Idee mit dem Router wäre auch interessant, dann spart man sich die Bridge. Doch wie werden die IP-Einstellungen da konkret angegeben? Meine Fritzbox besitzt die feste IP 10.0.3.1 und verteilt per DHCP an die Clients (iPhone, iPad, Kindles...) die IPs im Raum 10.0.3.2-10.3.255.

    Konfiguriere ich meinen Pi als zusätzlichen Router wird die Fritzbox, die dann über LAN mit dem Pi verbunden sein muss ja auch eine IP vom DHCP-Server des Pi erhalten, die dann nicht unbedingt 10.0.3.1 ist (dies ist aber als Gateway bei den Clients im Wohnwagen eingetragen).

    Die IP-Range des Campingplatz-WLANs ist nicht bekannt und ändert sich immer von Platz zu Platz.

    Die in Deinem verlinkten Router-Beitrag angegebene Konfigurationsdatei ist ganz einleuchtend doch wie müsste die Konfiguration der IP-Adressen/IPTables in meiner /etc/network/Interfaces konkret aussehen? Da schwimme ich etwas...

  • Du hast einen Denkfehler.

    In den Camping Netzen verbindet sich der PI als Client in das offene WLAN.
    Dort gibt es einen DHCP Server.
    Der PI bekommt jetzt eine IP aus dem Campingplatz Netzwerk und reicht dieses Netz an den LAN Port weiter.
    Der PI Bridged das nun auf die FB. Diese hat aber auch einen DHCP Server aktiv in einem anderen Netz.
    Das wird so nix.
    Der PI muß an den WAN Port der FB so das dieser sich über die PI-Bridge eine IP vom Campingplatz holen kann.
    Der PI stellt das Internet und für die FB ist der PI bzw. das gebridgte Campingnetz der Provider.
    Der WAN Port müsste dann auf DHCP ohne Anmeldedaten stehen und bekommt eine Adresse aus dem Camping-Netz.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (14. Mai 2014 um 08:58)

  • Erstmal vielen Dank für die Hilfe.
    Ich habe nun die Sache mit der WLAN-Brücke verworfen, da als Fehlermeldung beim Booten des Pi "Cant´t add wlan0 to bridge br0 operation not supported" auf fehlende Hardware-Unterstützung schließen läßt.

    Was ich als nächstes probiert habe:
    sudo apt-get install dnsmasq

    cat /etc/dnsmasq.conf
    # DHCP-Server aktiv für eth0-Interface
    interface=eth0

    # DHCP-Server nicht aktiv für wlan0
    no-dhcp-interface=wlan0

    # IP-Adressbereich / Lease-Time
    dhcp-range=interface:eth0,10.0.3.100,10.0.3.150,infinite

    Die /etc/network/interfaces habe ich folgendermaßen angepasst:
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 10.0.3.99
    netmask 255.255.255.0
    broadcasr 10.0.3.255

    # Schnittstelle prüfen
    pre-up ifconfig wlan0 up
    pre-up ifconfig wlan0 down

    # Konfiguration WLAN0-Schnittstelle
    auto wlan0
    allow-hotplug wlan0

    # Mehrfachkonfiguration aktivieren
    iface wlan0 inet manual

    # Roaming aktivieren
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

    # erstes bekanntes WLAN Name:zuhause mit DHCP
    iface zuhause inet dhcp

    # zweites bekannte WLAN cpplatz mit DHCP
    iface cpplatz inet dhcp

    # verbindet sich mit allen unverschlüsselten Netzwerken über DHCP
    iface offen inet dhcp


    # vorhandene Regeln und Ketten zuerst löschen (Restart-Funktionalität)
    up /sbin/iptables -F
    up /sbin/iptables -X
    up /sbin/iptables -t nat -F

    # Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren
    up iptables -A FORWARD -o wlan0 -i eth0 -s 10.0.3.0/24 -m conntrack --ctstate NEW -j ACCEPT
    up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    up iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    up sysctl -w net.ipv4.ip_forward=1

    # dnsmasq neu starten
    up /etc/init.d/dnsmasq restart

    Die FB habe ich so eingestellt, dass eine vorhanden Internetverbindung mitbenutzt werden soll und dass an LAN1 ein Modem/Router angeschlossen ist.

    Nun zeigt die FB zwar ein grünes Lämpchen bei Internetverbindung (LAN1 (WAN) verbunden...), trotzdem kommen die Clients nicht ins Netz. Vom RasPi aus klappt der Ping auf 8.8.8.8, er startet auch ohne Fehlermeldungen.

    ip addr ergibt
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b8:27:eb:a6:4a:37 brd ff:ff:ff:ff:ff:ff
    inet 10.0.3.99/24 brd 10.0.3.255 scope global eth0
    valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c0:4a:00:2a:5c:16 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.46/24 brd 10.0.2.255 scope global wlan0
    valid_lft forever preferred_lft forever

    Wobei mein WLAN-Netz zu Hause über den Gateway 10.0.2.1 läuft.
    Was mache ich noch falsch? Hat jemand einen heißen Tipp?

  • Ich verstehe deinen Aufbau nicht ganz.
    3x gelesen und jetzt bin ich total verwirrt.

    INET->WLAN-ROUTER ->WLAN->PI-WLAN0->PI-ETH0->FB-Port1->FB-WLAN->Client
    ist das so richtig ?

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Dann lass uns mal Schritt für Schritt vorgehen.

    Erst mal schauen ob das mit dem PI funktioniert,
    Starte den PI und lass ihn sich mit einem WLAN Netz verbinden.
    Ping mal googe.de auf dem PI und schau ob der ins Internet kommt.
    dann öffne die /etc/resolv.conf.
    die muß so ausschauen :

    Code
    nameserver 127.0.0.1
    nameserver 8.8.8.8


    Das ist wichtig für den dnsmasq.
    der zweite nameserver ist der an welchen dnsmasq die anfragen weiterleitet.
    Als erster muß der Localhost drin stehen.
    Der Zweite ist hier google, kannst aber einen deiner Wahl nehmen.

    Weiter.

    Häng deinen PC an den LAN Port des PI.
    Kommst du ins Internet ?
    Wenn nein, Post mal die Ausgabe von (je nach OS) von dem Rechner am LAN des PI:

    Code
    Windows :
    ipconfig /all
    
    
    Linux :
    ifconfig -a


    dann sehen wir weiter.
    Ich vermute das hängt mit dem FB Konstruct zusammen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (15. Mai 2014 um 11:12)

  • So, der Pi der als Bridge zum öffentlichen WLAN dienen soll, ist (da ich das alles ja zu Hause teste) momentan per WLAN-Stick mit meinem WLAN zu Hause verbunden und per LAN am LAN1-Port der FB. Er ist auch im Internet:

    pi@raspibridge ~ $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_req=1 ttl=50 time=48.3 ms
    64 bytes from 8.8.8.8: icmp_req=2 ttl=50 time=48.1 ms
    64 bytes from 8.8.8.8: icmp_req=3 ttl=50 time=48.0 ms

    Seine /etc/resolv.conf sieht so aus (10.0.2.1 ist mein Router, eine AirportExtreme):
    pi@raspibridge ~ $ cat /etc/resolv.conf
    nameserver 10.0.2.1

    An der FB hängt ein zweiter Pi (am LAN2), der als Fileserver dient. Er bekommt keine Internetverbindung, aber seine IP offensichtlich schon vom ersten Pi, dessen IP-Raum in der dnsmasq.conf von 10.0.3.100-10.0.3.150 eingestellt ist:
    pi@raspberrypi ~ $ ifconfig -a
    eth0 Link encap:Ethernet Hardware Adresse b8:27:eb:e7:7f:53
    inet Adresse:10.0.3.112 Bcast:10.0.3.255 Maske:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
    RX packets:1111 errors:0 dropped:0 overruns:0 frame:0
    TX packets:209 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:1000
    RX bytes:80569 (78.6 KiB) TX bytes:33048 (32.2 KiB)

    lo Link encap:Lokale Schleife
    inet Adresse:127.0.0.1 Maske:255.0.0.0
    UP LOOPBACK RUNNING MTU:65536 Metrik:1
    RX packets:12 errors:0 dropped:0 overruns:0 frame:0
    TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:0
    RX bytes:1304 (1.2 KiB) TX bytes:1304 (1.2 KiB)

    pi@raspberrypi ~ $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    ^C
    --- 8.8.8.8 ping statistics ---
    10 packets transmitted, 0 received, 100% packet loss, time 9004ms

  • So geht das nicht.

    Du möchtest deinen PI als Router/Bridge für Public WLANS testen.

    Also ist deine Fritzbox zu Hause das Public WLAN !!!
    Da hängt dann nix anderes dran als NUR !! der PI per WLAN.
    Alles andere MUSST !! du an eth0 des PI hängen sonst Loopst du wie ein Weltmeister.

    INET->Fritzbox->PI->Alles andere Geraffel.

    Hier ein Beispiel wie es aussehen muß

    irgendwie sehe ich das Bild nicht ?????

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (16. Mai 2014 um 09:33)

  • Erstmal vielen Dank für die Hilfe Ihr beiden!
    Arbeitsbedingt kommt die Antwort erst jetzt:
    Meinen Versuchsaufbau zu Hause habe ich als Attachment angehängt.
    Mit dieser Konfiguration komme ich gerade weder auf meine FB, noch auf den Fileserver dahinter. Lediglich der Brücken-RasPi ist per WLAN erreichbar. Was zu funktionieren scheint, ist, dass per WLAN über die FritzBox eingeloggte Clients ihre IP vom Brücken-RasPi in der DHCP-Range 10.0.3.100-10.0.3.150 erhalten und nicht von der FritzBox.
    Die Konfigurationsdateien sind wie oben gepostet. Bin ratlos. Vielleicht ist dieses Projekt doch etwas zu schwierig für mich...

  • Hi,

    ich hab mir jetzt nicht alle Details durchgelesen von deinem Thread, dass was ich überflogen haben klingt stark nachdem was ich derzeit teste, und es funktioniert. Denn ich surfe gerade drüber.

    Gerät mit LAN -><- LANpi -><- WLANpi -><- WLANfb -><- Internet
    Gerät mit LAN -> ----------------------------------------------<- Internet = KLAPPT

    To-do-Liste nach frischer Raspian Installation:

    1.) Interfaces anpassen:
    sudo nano /etc/network/interfaces

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.249.10

    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet static
    address 192.168.249.10
    netmask 255.255.255.0
    gateway 192.168.249.1
    wpa-ap-scan 1
    wpa-scan-ssid 1
    wpa-ssid "NAME MEINES WLANS"
    wpa-psk "MEIN GEHEIMER SCHLÜSSEL"

    2.) IPv4 Forwarding aktivieren ("#" entfernen)
    sudo nano /etc/sysctl.conf

    3.) LAN -><- WLAN Forwarding
    sudo iptables -A FORWARD -o wlan0 -i eth0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
    sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    4.) Windows Netztwerkeinstellung für Client am LAN Port des Raspberry:
    IP-Adresse: 192.168.1.0/24 (Statisch)
    Netzmaske: 255.255.255.0
    Gateway: 192.168.1.10
    DNS-1: 78.138.97.33 (freier DNS Server)
    DNS-2: 78.138.98.82 (freier DNS Server)

    Derzeit ist alles noch ohne große Firewall Regeln, da es erstmal um die Funktion geht und ich nun wohl noch einen DHCP auf den LANpi setze und dann noch ausgiebig die Firewall-Regeln erstelle.

    Bezogen auf deinen Fall, könntest du deiner Fritzbox nach dem Pi einfach sagen, Sie jeglichen Traffic an den Pi schicken soll und zurück.

    Bei Fragen und Anregungen immer her damit. :-D, und wer Rechtschreibfehler findet, darf diese gerne behalten :lol:

  • Vielen Dank für die Hilfe secpri,
    ich habe das Ganze jetzt so gelöst:
    An meinem RasPi hängen nun zwei WLAN-Sticks, ein TP-LINK WN722N und ein kleiner Nano-Stick von ThePiHut.
    Der empfangsstarke TP-Link empfängt nun das externe WLAN und ich kann ihn aufgrund seines langen Kabels aus dem Wohnwagen hängen oder aufs Dach stellen. Der Nano-Stick macht ein zweites WLAN auf. Die Daten werden nun vom TP-LINK zum Nanostick durchgereicht und damit haben alle verbundenen Geräte Internet. Ist zwar nicht die Lösung, die ich haben wollte, aber funktioniert immerhin.
    Geholfen bei dieser Konfiguration haben auch diese beiden Seiten:
    Seite 1
    Seite 2
    Deine Konfiguration werde ich aber auf jeden Fall noch testen.

    Grüße und Danke an alle, die geholfen haben!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!