Hallo zusammen,
ich habe zuhause noch ein Raspberry 2 mit WLAN-Dongle liegen, dass ich
gern als WLAN-Bridge nutzen möchte (um meinen AV-Receiver, der nur
Ethernet hat, mit meinem WLAN zu verbinden). Jetzt finden sich zu diesem
Thema diverse Anleitungen im Netz, aber jeweils mit verschiedenen
Ansätzen
- mit dnsmasq
- mit bridge-utils
- "nativ" mit ip-route oder ip-tables
Nun bin ich jetzt kein wirklicher Linux-Experte und alle
Herangehensweisen gehen schon über eine Vielzahl von Einzelschritten und
sind teils auch schon ein paar Jahre alt, weswegen ich mich frage, ob es
ggf. (mittlerweile) auch schon anders / einfacher geht, insb. dann, wenn
das Raspberry sonst nichts zu tun bekommt (z.B. eine auf ähnliche
Anwendungsfälle zielende Distribution, ...)
Und falls eben nicht: Funktionieren manche der Methoden erfahrungsgemäß
eben doch besser / einfacher als andere oder zum Beispiel nur wieder
unter bestimmten Voraussetzungen (hier sei wieder die Frage nach der
"besten" Distribution gestellt, oder bin ich in jedem Fall mit einem
Raspbian erst einmal gut aufgehoben)?
Viele Grüße,
Schopp
Das hängt davon ab, was du nachher machen willst:
Soll der Receiver nur "Internet haben"? Dann geht die Lösung per
Routing, eigenem Subnetz, dnsmasq.
Soll der Receiver direkt im Netz hängen, Dateien vom Server/NAS spielen,
als DLNA-Renderer arbeiten? Dann nimm die Netzwerkbrücke.
Geht mit jeder Distro. Bei (nicht super-aktuellen) Ubuntu-Basierten:
im /etc/network/interfaces eine bridge anlegen, sowohl wlan als auch
ethernetport reinpacken.
Falls es Klicki-Bunti sein soll: OpenWRT ausprobieren, da kannst du das
per Weboberfläche einrichten.
Εrnst B. schrieb:> Soll der Receiver nur "Internet haben"? Dann geht die Lösung per> Routing, eigenem Subnetz, dnsmasq.
Nein, nicht "nur Internet", sondern auch zum Beispiel die
Fernbedienbarkeit via Ethernet (App) nutzen können. Also eher:
Εrnst B. schrieb:> Dann nimm die Netzwerkbrücke.
richtig?
Was ist GANZ GROB der genaue Unterschied zwischen den Varianten (sooo
bewandert bin ich dann nicht)? Routing = Zwei Netze werden verbunden,
Brücke = ???
Εrnst B. schrieb:> Falls es Klicki-Bunti sein soll: OpenWRT ausprobieren, da kannst du das> per Weboberfläche einrichten.
Würde ich mir ggf. auch mal ansehen, falls es das Ganze wirklich massiv
vereinfacht. OpenWRT ist aber ein komplettes Betriebssystem, richtig?
D.h., falls doch mal andere Funktionen dazukommen sollten, bin ich darin
dann eingeschränkt?
Εrnst B. schrieb:> im /etc/network/interfaces eine bridge anlegen, sowohl wlan als auch> ethernetport reinpacken.
Ach nochmal eine Zusatzfrage: Welche der diversen Anleitungen im
Internet zum Beispiel entspricht denn dieser Herangehensweise? Wie
gesagt, mir fällt es da etwas schwer, die Varianten konkret
auseinanderzudröseln... Gerade, weil viele auch mehr Schritte
beinhalten, als ich es ursprünglich vermutet hätte ;)
Genau, OpenWRT ist eine Linux-Distribution die auf Netzwerk-Geräte,
Router, Accesspoints usw. zielt. Deswegen sind Netzwerk-Sachen damit
schnell und komfortabel eingerichtet. Für weitergehende Sachen gibt's
zwar oft auch Pakete, aber bei weitem nicht in dem Umfang wie für
Raspian.
Netzwerk-Bridge verbindet die beiden Netzwerk-Interfaces eine Ebene
unterhalb von IP. Die Netze teilen sich eine Broadcast-Domain,
DHCP-Anfragen werden nur vom zentralen Router beantwortet, usw.
Die Bridge verhält sich also wie ein Switch, in den eben neben
Ethernet-Kabeln auch "WLAN-Kabel" eingestöpselt sein können.
-> genau was du brauchst.
Ich kenne deine Anleitungen nicht, und hab auch grad keinen RasPi
griffbereit zum Nachschauen/Ausprobieren.
In etwa:
/etc/network/interfaces:
1
auto lo
2
iface lo inet loopback
3
4
auto eth0
5
iface eth0 inet manual
6
7
allow-hotplug wlan0 # Vermutlich macht "auto" mehr Sinn...
8
iface wlan0 inet manual
9
# Das musst du auch noch nachschauen, welche Version da passt:
Okay, das sieht recht simpel aus. Aber das ist auch das, was ich meinte:
warum gehen denn viele den anderen Weg, der doch eher Nachteile hat:
getrennte Subnetz, Gefummel mit statischen IPs, ... wie z.b.:
https://pimylifeup.com/raspberry-pi-wifi-bridge/ ?
Schopp schrieb:> Okay, das sieht recht simpel aus. Aber das ist auch das, was ich meinte:> warum gehen denn viele den anderen Weg, der doch eher Nachteile hat:
Weil andere Leute andere Ziele haben und daher bereit sind andere
Nachteile in Kauf zu nehmen.
> getrennte Subnetz,
Bessere Möglichkeiten zur Isolation.
> Gefummel mit statischen IPs,
Robustere Infrastruktur. Netzwerkgeräten (Router, Switche, NAS, usw.)
gibt man gerne eine statische IP um sie unabhängig von DHCP zu machen.
Sie starten und laufen dann auch wenn der DHCP-Server Down ist.
Und nicht zu vergessen: 99,9% der "Informationen" im Internet sind von
irgendwo abgeschrieben, ohne dass der Abschreiber sie verstanden hat,
geschweige denn mal selbst ausprobiert. Das führ zu interessanten
Legendenbildungen.
Jack schrieb:> Weil andere Leute andere Ziele haben und daher bereit sind andere> Nachteile in Kauf zu nehmen.
okay, dass und deine konkreten Punkte verstehe ich.
> Und nicht zu vergessen: 99,9% der "Informationen" im Internet sind von> irgendwo abgeschrieben, ohne dass der Abschreiber sie verstanden hat,> geschweige denn mal selbst ausprobiert. Das führ zu interessanten> Legendenbildungen.
Zugegebenermaßen sähe dass bei mir schnell ähnlich aus, auch das
Beispiel von Ernst B. ist mir jetzt auf Anhieb nicht 100%ig
selbsterklärend.
Könnt ihr beide hierzu einen erklärenden Link liefern? Wie beschrieben
führen mich meine Suchen nach den Begriffen Raspberry + WLAN Bridge halt
eher auf die falschen Fährten und Ernst B. hatte ja noch ein paar
Abschnitte der Config etwas vage gehalten... Was genau sind meine
Stichpunkte?
Sorry, und noch mal eine Zusatzfrage: Wie groß ist denn die Gefahr, dass
mein WLAN-Dongle Bridging nicht unterstützt? War das eher vor laaaanger
Zeit ein Thema, oder gern auch heute noch? Und falls ich keine genaueren
Infos dazu im Netz finde (anhand Herstellerbezeichnung, ...), woran
merke ich dann, dass DAS die Ursache ist? Gibt es irgendwo entsprechende
Fehlermeldungen, oder "geht es einfach nicht" und ich kann nur raten,
dass es daran liegt?
Wenn der Raspi tatsächlich nichts anderes machen soll als als
WLAN-Bridge oder Router zu dienen, dann ist wohl LEDE/OpenWrt am
einfachsten, zumal es dort im Wiki für jeden Zweck Anleitungen gibt:
https://openwrt.org/docs/guide-user/startSchopp schrieb:> Wie groß ist denn die Gefahr, dass> mein WLAN-Dongle Bridging nicht unterstützt? War das eher vor laaaanger> Zeit ein Thema, oder gern auch heute noch?
Woher hast Du das?
In welchem Zusammenhang? Wireless-to-wireless (= Repeater, OSI layer 1,
physical layer) oder Wireless-to-Ethernet Bridge (= Bridge, OSI layer 2,
data link layer) ?
Dass nicht alle WLAN-Dongles als Repeater taugen, kenne ich.
Aber wie soll sich der Dongle gegen eine Bridge "wehren"?
np r. schrieb:> Woher hast Du das? In welchem Zusammenhang?
Z.B. https://wiki.ubuntuusers.de/Netzwerkbr%C3%BCcke/
"Leider funktioniert das nicht mit allen WLAN-Karten. Um Bridging
betreiben zu können, muss der Treiber in der Lage sein, Pakete mit
unterschiedlichen MAC-Adressen über ein und dieselbe Schnittstelle zu
versenden. Das macht die Firmware einiger Karten aber nicht mit."
Geht zwar um Karten eher unter einem PC-Linux, erschien mir aber erstmal
als mögliches Problem...
Schopp schrieb:> muss der Treiber in der Lage sein, Pakete mit> unterschiedlichen MAC-Adressen über ein und dieselbe Schnittstelle zu> versenden.
Hm, da kann offenbar auch Dein AP Probleme machen:
https://wiki.debian.org/BridgeNetworkConnections#Bridging_with_a_wireless_NIC
ebtables gibt's auch auf OpenWrt.
Schopp schrieb:> Und falls ich keine genaueren> Infos dazu im Netz finde (anhand Herstellerbezeichnung, ...), woran> merke ich dann, dass DAS die Ursache ist?
In Deinem Link oben ist als Negativbeispiel Intel Centrino (ipw2200)
erwähnt. Der ist aber sicher nicht in Deinem Dongle. ;-)
Prism und Atheros sollten gehen.
Mit lsusb bekommst Du Informationen über Deinen Dongle.
Moin,
so, gestern habe ich mal ein frisches Raspbian installiert und wollte
dann das Tehma angehen. Als ich dann nochmal ein wenig tiefer einsteigen
wollte, fühlte ich mich gleich in der Linux-Welt angekommen ;) Es gibt
nämlich scheinbar noch weitere Einschränkungen, meinem Verständnis nach
insb. die Vorgehensweise von Ernst B. betreffend... Insbesondere:
- "Brücken in drahtlose Netze (...)
Diese Funktion des Kernels wurde deaktiviert. Soll ein WLAN-Adapter in
eine Brücke integriert werden, so muss sich dieser im Master-Modus
befinden! Die ist so nur in Kombination mit hostapd und einer
Konfiguration als WLAN Router möglich. Alternative wäre den Kernel mit
der entsprechenden Option selbst zu kompilieren."
(https://wiki.ubuntuusers.de/Netzwerkbr%C3%BCcke/)
Betrifft das generell einen aktuellen Linux-Kernel (und wie aktuell ist
der im Raspbian?) oder kann ich es ignorieren?
http://web.archive.org/web/20110925231256/http://kerneltrap.org/mailarchive/linux-ath5k-devel/2010/3/21/6871733
Layer 2 briding mit Wifi Clients geht leider nicht so einfach.
stichworte wären zB 4addr. Das Problem sind oft die Wifi APs die beim
Layer 2 Traffic Probleme bereiten.
@TO bei deiner Suche solltest du das Wort "raspberry" vermeiden. Such
stattdessen mit dem Keyword "linux" oder "debian"
Ggf. könnte es mit ebtables und einer statische IP des receivers
funktionieren oder halt per "4addr"
np r. schrieb:> Damit hättest Du einen simplen Router, noch ohne Masquerading, DNS oder> DHCP. Geht es nur um den Zugriff auf den Receiver per WLAN? Oder muss> der Receiver auch irgendwohin "telefonieren"?
Im Wesentlichen soll Receiver im WLAN erreichbar sein (z.B. durch
Fernbedienungsapp) und ins Internet kommen (Internetradio, ...). Leider
erschöpfen sich hier meine Netzwerkkenntnisse ein wenig, um mögliche
Probleme / Unterschiede richtig einordnen zu können. Ich weiß natürlich
grundsätzlich, was ein Router ist. Er verbindet zwei Netzwerke. DNS und
DHCP sind im Grunde auch klar. Masquerading verstehe ich als den
Mechanismus, den auch jeder x-beliebige WLAN-Router mit Internetzugang
bietet: Eine Adresse nach außen, und der Router sortiert dann die
einkommenden Pakete entsprechend ihrer Anfragen auf die inneren Clients.
Nur: Was bedeutet das jetzt für meinen "simplen Router, noch ohne
Masquerading, DNS oder DHCP"? In meinem Heimnetzwerk brauche ich DHCP
und DNS ja nicht ein zweites Mal. So weit, so gut. Was bedeutet nun aber
"ohne Masquerading"? Jenseits und diesseits des Routers habe ich
trotzdem ein Subnetz, richtig? Also z.B. 192.169.0.x und 192.168.1.x?
Ich erreiche dann mit entsprechend gesetzter Subnetzmaske immer auch aus
einem Subnetz heraus Teilnehmer des anderen?
- Kommt damit "immer" auch der Receiver klar?
- Findet meine FB-App den Receiver (meist funktioniert das doch wie ich
glaube über Broadcastmechanismen)?
- ...
TestX schrieb:> Layer 2 briding mit Wifi Clients geht leider nicht so einfach.> stichworte wären zB 4addr. Das Problem sind oft die Wifi APs die beim> Layer 2 Traffic Probleme bereiten.
Das Stichwort 4addr ist mir auch mehrfach untergekommen. Allerdings
tauchte es in vielen "Lösungen" eben auch NICHT auf. Ich kann es
überhaupt nicht einordnen, inwiefern ich mich darum kümmern muss.
TestX schrieb:> @TO bei deiner Suche solltest du das Wort "raspberry" vermeiden. Such> stattdessen mit dem Keyword "linux" oder "debian"
Einerseits ja, andererseits können doch aber auch entscheidene
Unterschiede in den Kernels bestehen, oder? Insbesondere mit welchen
Optionen sie auch kompiliert wurden, ...?
Schopp schrieb:> Einerseits ja, andererseits können doch aber auch entscheidene> Unterschiede in den Kernels bestehen, oder?
Ich glaube )* eher nicht. Da sind die Unterschiede zum OpenWrt-kernel
sicher größer, da OpenWrt ja genau als Router-OS gedacht ist.
Schopp schrieb:> In meinem Heimnetzwerk brauche ich DHCP> und DNS ja nicht ein zweites Mal.
Der Receiver braucht
- eine IP-Adresse
- einen DNS
- einen Gateway (d.h. er muss wissen, wohin er Pakete schicken soll, die
in "fremde" Netze gehen)
Das alles kann man statisch konfigurieren (wenn Dein Receiver das kann),
oder er muss diese Infos von einem dhcp-Server bekommen, z.B. von
dnsmasq auf dem Raspi. Der Raspi ist ja als wireless Client verbunden,
kennt den DNS und weiß, wo's "nach draußen" geht. Er kann also den
Receiver über dhcp konfigurieren, DNS-Anfragen weiterleiten und als
Gateway fungieren, sobald er als Router konfiguriert ist.
> Findet meine FB-App den Receiver (meist funktioniert das doch wie ich> glaube über Broadcastmechanismen)?
Kann man bei der App die Adresse des Receivers konfigurieren?
)* Glauben heißt "nicht wissen" ;-)
Schopp schrieb:
Jedes 10 Euro Winzrouterchen aus China schafft es, ein Ethernet
in ein WLAN zu bridgen. Schmeiss die Inselaffentechnik weg,
und bediene dich bei den Chinesen.
Suchworte für ebay.com (nicht ebay.de!):
hame mpr-a1
Sonst geht auch ein hlk-rm04 Modul auf einem hlk-rm04 Baseboard.
Dazu braucht man dann noch ein UFL-Pigtail auf SMA und eine
Antenne...
np r. schrieb:> Der Receiver braucht> - eine IP-Adresse> - einen DNS> - einen Gateway (d.h. er muss wissen, wohin er Pakete schicken soll, die> in "fremde" Netze gehen)
das ist soweit klar.
> Das alles kann man statisch konfigurieren (wenn Dein Receiver das kann),
Denke ich schon, dass das gehen wird.
> oder er muss diese Infos von einem dhcp-Server bekommen, z.B. von> dnsmasq auf dem Raspi. Der Raspi ist ja als wireless Client verbunden,> kennt den DNS und weiß, wo's "nach draußen" geht. Er kann also den> Receiver über dhcp konfigurieren, DNS-Anfragen weiterleiten und als> Gateway fungieren, sobald er als Router konfiguriert ist.
Hier bitte noch einmal einen Schritt zurück: Wie teilen sich denn die
Netze und ihre Funktionen auf? Mein Heimnetz hat die Fritzbox als
DHCP-Server, DNS-Server und Gateway. An dieses Netzwerk grenzt die "eine
Seite des Routers". An der anderen Seite des Routers hängt WAS GENAU?
Ein Subnetz oder ein weiteres Netz?
Hätte man jetzt in diesem zweiten Netz z.B. einen DHCP-Server, vergäbe
dieser innerhalb dessen IPs. Ob ich den brauche oder nicht, hängt davon
ab, ob das Receiver statisch kann --> klar.
Ins Internet geht es, weil mein Receiver über den Router (=sein
Gateway?) an den DNS-Server der Fritzbox kommt. --> okay
Aber nochmal : Erreiche ich so immer auch alle Geräte untereinander?
Also aus meinem Heimnetz heraus den Receiver (und vielleicht auch mal
umgekehrt), oder ist folgendes zwangsläufig Voraussetzung?
np r. schrieb:> Kann man bei der App die Adresse des Receivers konfigurieren?
Ich habe sie mir noch gar nicht installiert. Aaaaaber: Der AV-Receiver
ist ehrlich gesagt ein Stück weit exemplarisch genannt. Vielleicht kommt
ja auch noch mein SAT-Receiver mit dran. Und vielleicht kann es die eine
oder andere App, aber bestimmt nicht jede ;)
Würde Masquerading helfen?
oerks schrieb:> Jedes 10 Euro Winzrouterchen aus China schafft es, ein Ethernet> in ein WLAN zu bridgen.
Ich finde es wirklich auch überaus überraschend, dass dieser doch
wirklich nicht so ungewöhnliche Anwendungsfall ausgerechnet unter Linux
derart schwierig zu lösen ist. Bevor ich angefangen habe, zu dem Thema
zu lesen, war ich naiverweise davon ausgegangen, dass es nicht viel mehr
sein kann, als eine zusätzliche Zeile in irgendeinem Config-File, aber
weit gefehlt...
> Ich finde es wirklich auch überaus überraschend, dass dieser doch> wirklich nicht so ungewöhnliche Anwendungsfall ausgerechnet unter Linux> derart schwierig zu lösen ist.
Für deinen Fall sollte das WLAN dieses Routers den Clientmodus
beherrschen. Das können praktisch alle WLAN-Chipsätze.
Manche Routerfirmware lässt sich allerdings darauf nicht konfigurieren.
Statt hostapd also wpasupplicant. Respektive das ganze mit wpad.
> dass es nicht viel mehr sein kann, als eine zusätzliche Zeile> in irgendeinem Config-File
Das Bridgedevice ist in der Routerkonfiguration ohnehin vorhanden.
Und wenn die Bedenkenträger den WLAN-Support aus dem Bridgemodul
des Kernel entfernt haben:
Ein rpi ist ein Bastelkomputer und kein Router wie oben beschrieben.
Erinnert mich irgendwie an früher: Da musste man dem Bridgemodul
noch die IP-Fähigkeit hineinpatchen wenn man Interface bonden/channeln
wollte und der Brigde dann eine IP-Adresse zuweisen...
oerks schrieb:> Ein rpi ist ein Bastelkomputer und kein Router wie oben beschrieben.
Schon klar, nur ist das Ganze selbst für einen Bastelcomputer reichlich
kompliziert, zieht man hinzu, wie naheliegend es wäre, dies als
Standardfunktion zu haben. Und nicht wie:
> Erinnert mich irgendwie an früher: Da musste man dem Bridgemodul> noch die IP-Fähigkeit hineinpatchen wenn man Interface bonden/channeln> wollte und der Brigde dann eine IP-Adresse zuweisen...
Aber wie schon mehrfach zugegeben, natürlich liegt es auch an meinem arg
begrenzten Kenntnisstand, der eine Einordnung der verschiedenen Probleme
und Lösungen schwer macht. ;)
Schopp schrieb:> An der anderen Seite des Routers hängt WAS GENAU?> Ein Subnetz oder ein weiteres Netz?
Wenn Du den Raspi als Router einsetzt, hast Du zwei getrennte Netze, die
durch den Router verbunden werden. In beiden Netzen muss bekannt sein,
dass das jeweils andere Netz über den Router zu erreichen ist.
oerks schrieb:> Jedes 10 Euro Winzrouterchen aus China schafft es, ein Ethernet> in ein WLAN zu bridgen. [...]> hame mpr-a1
Auch da läuft Linux. Ein 2.6er Kernel. Und auch diesen Router musst Du
konfigurieren.
Schopp schrieb:> Ich finde es wirklich auch überaus überraschend, dass dieser doch> wirklich nicht so ungewöhnliche Anwendungsfall ausgerechnet unter Linux> derart schwierig zu lösen ist.
Ich würde das eher so betrachten: Immerhin erlaubt Linux, den Raspi als
Bastel- und Lern-Kiste mit GPIOs, als NAS, als Desktop, als Datenbank-,
Mail- oder xyz-Server oder als WLAN-AP und Router zu verwenden.
Dass zwischen diesen verschiedenen Anwendungsfällen nicht einfach durch
Änderung einer config Zeile umgeschaltet werden kann, verwundert mich
jetzt nicht sooo.
Aber schließlich war die Zielrichtung des Raspi ja auch "Verstehen wie's
geht" und nicht "Einschalten und anwenden".
Vorm Fernseher sitzen kann jeder.
Schopp schrieb:> Schon klar, nur ist das Ganze selbst für einen Bastelcomputer reichlich> kompliziert
Installiere OpenWrt und benutze den Raspi als Router. Das willst Du
doch, oder? Die Konfiguration ist dann gar nicht kompliziert sondern
geht einfach übers Menü.
Schopp schrieb:> zieht man hinzu, wie naheliegend es wäre, dies als> Standardfunktion zu haben.
Nein, das Bridgen mit irgendeinem WLAN möchtest Du nicht als
Standardfunktion auf Deinem Desktop oder Server haben. Garantiert nicht.
> Und auch diesen Router musst Du konfigurieren.
Ja:
- WLAN umschalten von Accesspoint auf WLAN-Client.
- SSID und WPA-Passphrase eintragen.
- Evtl: Den Ethernetport von der Firewallzone WAN in die Zone LAN
befördern.
- Evtl: DHCP-Server deaktivieren
Fertig ist die Bridge, geroutet wird da nicht.
Änderungen am restlichen Netzwerk: Keine
Wenn sich der TO weiter mit dem anderen Zeug plagen möchte,
soll er das tun. Beileid darf er nicht erwarten.
Und ein funktionierendes Routing konfigurieren zu können, macht er
nicht den Eindruck.
oerks schrieb:> Fertig ist die Bridge, geroutet wird da nicht.
Genau das kann er mit OpenWrt ja auch.
Aber nur, wenn der WLAN Stick das kann.
oerks schrieb:> Wenn sich der TO weiter mit dem anderen Zeug plagen möchte,> soll er das tun. Beileid darf er nicht erwarten.
Ich glaube nicht, dass er Beileid erwartet hat.
Eher hat er sich wohl eine Antwort erhofft auf die Frage, wie er das
Problem mit seinem Raspi lösen kann.
Wenn ihm das zu kompliziert wird und er das Problem lieber mit einem
handelsüblichen Router lösen möchte, wird er den Thread sterben lassen.
Oder wenn er zur Ansicht gelangt, dass er im OpenWrt-Forum weniger dumme
Sprüche erwarten kann... ;-)