Open-Access-Netzwerk mit Wlan-Stick

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Liebe Foren-Mitglieder,

    ich frage mich in meinen Augen etwas sehr grundsaetzlich und hoffe, ihr koennt mir helfen.

    Ich habe einen Wlan Access Point auf meinem Raspberry Pi 3 B+ gemaess nachfolgender Anleitung eingerichtet.

    https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm

    Das funktioniert auch alles ganz prima.

    Nun moechte ich aber nicht die wlan0-Schnittstelle konfigurieren, sondern die wlan1 Schnittstelle. Diese Schnittstelle erhalte ich nach Anschluss des Wlan-Sticks.

    Ich habe mir folgenden Wlan-Stick dafuer gekauft:

    Wlan Stick N 150 von EDIMAX

    Wi-Fi Nano USB Adapter

    Nun habe ich in den Konfigurationsdateien der Anleitung einfach ueberall dort wo wlan0 steht wlan1 hingeschrieben.

    Leider hat dies nicht zum Erfolg gefuehrt. Das Pi-Netzwerk wird mit nicht angezeigt.

    Ich habe mal die veraenderten Quell-Codes genannt:

    Code
    interface wlan1
    static ip_address=192.168.1.1/24

    Ich moechte nochmal kurz erklaeren wofuer ich den Aufwand betreibe. Ich moechte den Raspberry Pi zur Fernsteuerung eines Tauchbootes verwenden, um Aufnahmen von Unterwasserhoehlen und Fischen zu machen. Dort auf dem Meer habe ich natuerlich auch keinen Wlan-Router in der Naehe, sodass der Raspberry-Pi das uebernehmen muss.

    Ich moechte eine Richtantenne aus dem Wlan-Stick bauen, um die Reichweite zu erhoehen. Die derzeitige Reichweite betraegt etwa 50m, mit der wlan0 Konfiguration. Ich hoffe, ihr koennt mir helfen, ich wuerde mich sehr freuen, wenn das Projekt mir gelingen wuerde und ich Aufnahmen mit dem Tauchboot durchfuehren kann.

    Vielen Dank und bleibt gesund,

    Salzforscher

  • Hallo Salzi,

    in der Anleitung steht auch was von Debugmode:

    ---

    Zur Inbetriebnahme des WLAN-Hosts starten wir "hostapd" im Debug-Modus. Dabei werden uns "alle" Fehlermeldungen angezeigt.

    Code
    sudo hostapd -dd /etc/hostapd/hostapd.conf 

    ---

    Würde das mal prüfen. Kann nämlich sein, dass eine Einstellung in der hostapd.conf nicht unterstützt wird.

  • Nun habe ich in den Konfigurationsdateien der Anleitung einfach ueberall dort wo wlan0 steht wlan1 hingeschrieben.

    Leider hat dies nicht zum Erfolg gefuehrt. Das Pi-Netzwerk wird mit nicht angezeigt.

    Hast Du kontrolliert, ob der verbundene WLAN-Stick überhaupt "wlan1" benannt ist?

    Code
    $ ip a

    BTW, wenn Du da irgendwelche Code-Schnippsel postest, solltest Du dabei schreiben, von welcher Quelle (Pfad+Datei) die sind oder welcher Befehl von wem und mit welchen Rechten ausgeführt diese Ausgabe erzeugt hat. Ich guck da drauf, weiss nicht wo es herkommt und habe sofort das Interesse verloren, weiter zu lesen.

  • Hallo ThomasL die beschriebenen Code-Zeilen entstammen dem Link aus meiner Beschreibung und damit der Anleitung. Ich dachte dies wäre deutlich genug gewesen.

    Ich soll also jetzt den Link durcharbeiten, um festzustellen, wo möglicherweise die Einträge aus #1 herkommen könnten, und dann auch noch vergleichen, ob das identisch ist oder unterschiedlich und dann in meine Glaskugel nachsehen, an welcher Stelle die systemischen Grundlagen unterschiedlich sind, und ob das unterschiedliche konfiguratorische dann gewollt ist oder nicht oder so sein soll oder nicht...???? :auslachen:

    Ganz ehrlich... mich interessieren solche Tutorials nicht und da schau ich auch nicht rein.... ist doch sowieso völlig sinnloser Aufwand. Wenn ich so ein Problem nicht ohne Tutorial lösen könnte, hätte ich gar nicht erst hier gepostet. Außerdem liegt das Problem nicht beim Tutorial, sondern auf Deinem Rechner. Und nach 20 Stunden immer noch ungelöste Probleme sind natürlich doof. Aber wenn es Dir zuviel Arbeit ist, solcherart Informationen zu liefern, mit denen man was anfangen kann, und zwar ohne das der Helfer völlig unnütze Arbeit investieren muss, dann ist mir das auch zuviel Arbeit, bei der Lösung des Problems zu helfen. BTW, hier in diesem Forum ist man ja immer sehr schnell mit Hilfeversuchen bei der Hand.... und wenn nach 20 Stunden hier immer noch nix passiert ist, liegt es vermutlich nicht am Forum.

  • Hallo Leute,

    also ich habe die Anleitung entsprechend dem eingangs erwaehnten Link nochmal mit einem frisch installierten Raspbian durchgearbeitet.

    Die Terminal Ausgabe des Befehls

    Code
     ip a 

    liefert folgendes Ergebnis:

    Die Netzwerk-Schnittstelle heisst somit "wlan1".

    Zur Pruefung des Status fuer "hostpad" wurde entsprechend der Anleitung folgender Befehl verwendet:

    Code
    sudo systemctl status hostapd

    Das Ergebnis dieser Terminal-Ausgabe ist nachfolgend ersichtlich:

    Weiterhin wird zur Pruefung auf Fehlermeldungen folgender Befehl verwendet:

    Code
    sudo hostapd -dd /etc/hostapd/hostapd.conf

    Das Ergebnis ist:

    Den Status von dnsmasq habe ich mit folgendem Befehl geprueft:

    Code
     sudo systemctl status dnsmasq

    Ergebnis:

    Daraus entnommen:

    Code
    Apr 05 17:59:48 raspberrypi dnsmasq[455]: warning: interface wlan1 does not currently exist

    Diese Aussage klingt natuerlich nicht gut...

    Ich hoffe, einem von euch hilft das weiter. Ich bin kein Informatiker und bin bezueglich der Problemloesung auch etwas ueberfragt. Falls aber jemand von euch weiter weiss, wuerde ich mich ueber Hilfe sehr freuen. Eine Richtantenne fuer aehnliche Projekte ist sicherlich auch eine zentrale Fragestellung. Es waere schoen, wenn sich dafuer eine Loesung finden wuerde. :)

    Viele Gruesse und geniesst das schoene Wetter. :)

  • Schau Dir nach einem Reboot mit ip a die beiden Schnittstellen an und vergleiche die MAC-Adressen. Es ist nicht ungewöhnlich, dass der Kernel die Reihenfolge umstellt oder den Symlink einfach zufällig zuweist, in der Reihenfolge, wie die Hardware festgestellt wird. Das Interface, was gestern noch wlan0 hieß, kann auf einmal wlan1 heissen.... und wieder einen reboot weiter erneut wieder anders. Ist natürlich klar, dass damit bestimmte Anweisungen in die Hose gehen.

    Aus dem Grund habe ich die Symlinks der Interfaces (wlan0 und wlan1) explizit an die MAC-Adresse gebunden.... so das wlan0 auch wirklich immer wlan0 heisst.

    Es waere schoen, wenn sich dafuer eine Loesung finden wuerde

    Der erste Schritt wäre also sicherzustellen, dass Hostapd immer das richtige Interface zugewiesen bekommt. Das geht über systemd-link-Konfigurationen. Wenn Du mit dem Hinweis nicht klarkommst, kann ich Dir einen Link meiner Hostapd-Lösung senden, da ist das berücksichtigt.

  • Hallo Thomas,

    vielen Dank für deine Antwort! Ich würde mich sehr freuen, wenn du mir deine Konfiguration schickst. :) Ich denke, dass wäre eine bessere Lösung als wenn ich es selber probiere. Insbesondere können wir dann besser darüber sprechen.

    Viele Grüße,

    Salzforscher

  • Im zweiten Absatz des Textes sind beispiele für die Link-Files.... ab Kommentar-Text "Werden beide Devices erkannt?"

  • Zitat

    Jedes Netzwerkinterface wird mit seiner Bezeichnung an die MAC-Adresse gebunden. (Quelle siehe Link "Textes")

    Dann wuerde ich so vorgehen, dass ich zunaechst die Mac-Adresse an das Netzwerkinterface koppele und anschliessend das Open-Access-Netzwerk einrichte.

    Gehe ich recht der Annahme, dass ich die hostapd.conf dahingehend modifizieren muss? Ich wuerde in dieser Datei dann einen Befehl zur Kopplung von Netzwerkinterface und Mac-Adresse eintragen.

    Gelingt mir dies mit folgendem Befehl? (Quelle siehe Link "Textes")

    Code
    MACAddress=xy:zz:aa:bb:99:88
    
    Type=wlan

    Wobei ich dann wahrscheinlich "wlan" durch wlan0 oder wlan1 ersetzen muss.

    Vielen Dank und viele Gruesse,

    Salzforscher

  • Gelingt mir dies mit folgendem Befehl? (Quelle siehe Link "Textes")

    Das ist kein Befehl, sondern eine Konfigurationseinstellung für den Kernel, die beim Booten des Systems erfolgt. Später gestartete Programme verwenden das Device dann mit dem hier vorgegebenen Sym-Link.

    Wobei ich dann wahrscheinlich "wlan" durch wlan0 oder wlan1 ersetzen muss.

    Nein, natürlich nicht.... 'Typ' beschreibt das, was dieser Bezeichner aussagt, und zwar den Typ des Devices, hier ist es also ein WLAN-Interface. 'Link' enthält die symbolische Bezeichnung des Devices, quasi einen Symlink auf das Device... und der ist ja in meiner Doku einmal als wlanclt und einmal als wlanap definiert, also einmal Client, einmal Accesspoint. Es ist also für jedes Device eine eigene Link-Datei anzulegen. Statt der sprechenden Namen in meinem Beispiel kann man aber auch einfach wlan0 oder wlan1 verwenden.

    Ich hätte eigentlich erwartet, dass der Inhalt der beiden Linkfiles (jeweils als ganzes) durchaus auch selbsterklärend ist. Die Man-Page man systemd.link enthält umfassende Infos dazu, am Ende auch mit Beispielen.

  • Zitat

    Ich hätte eigentlich erwartet, dass der Inhalt der beiden Linkfiles (jeweils als ganzes) durchaus auch selbsterklärend ist.

    Gut für einen Fachmann mag das trivial aussehen. Für mich als Laie ist das bei weitem nicht der Fall. Ich kenne mich kaum mit Netzwerken aus.

    Genauso wie für mich als Chemiker das Verstaendnis ueber Bloch-Wellen oder der Mechanismus der Mitsunobu-Reaktion trivial ist, ist meine Frage wahrscheinlich für dich trivial. Ich bitte um Verstaendnis für meine Situation.

    Gut dann werde ich mich da nochmal reinarbeiten müssen...

    Vielen Dank und viele Grüße

  • Nein, das ist nicht trivial... absolut nicht... und auch für mich ist es das nicht. Ich empfinde das sogar als enorm anspruchsvoll. Der primäre Unterschied zwischen uns ist, dass ich vieles schon einmal gemacht habe und dabei alles mit viel Arbeit dokumentiert habe. Ich weiss nicht alles, kann mir nicht alles merken, ich weiss aber immer, wo ich in meinen Aufzeichnungen die entsprechenden Erklärungen finde, um mich wieder zu erinnern. Aber Fakt ist auch, dass Du Dich gerade aus eigenem Antrieb als Netzwerk-Admin betätigst... *lol*... und dann hat man halt die Arschkarte, gewisse Dinge lernen zu müssen. Viel schlimmer finde ich, wenn Leute ihre Fähigkeiten maßlos überschätzen oder die Risiken total unterschätzen und munter drauf los irgendwelche Zugang in ihre Heimautomatiion via Smartphone öffnen.

    Dabei ist genau das der richtige Ansatz:

    Gut dann werde ich mich da nochmal reinarbeiten müssen...

    Zu den Devices solltest Du Dir folgendes grundsätzliche merken: Alles (!) ist unter Linux eine Datei... also auch Hardware/Geräte wie die Netzwerkinterfaces WLAN oder ETH. Und weil alles eine Datei ist, hat auch alles einen namen oder einen symlink (ist auch wieder eine Datei) auf das eigentlich Objekt im Kernel. Und auf die Namen oder besser den Symlink kann man Einfluss ausüben.... also genau das was Du willst... Du willst fest vorgeben, welches Hardware-Gerät (über MAC identifiziert) welchen Symlink bekommen soll.... ich habe wlanclt und wlanap gewählt, Du möchtest wlan0 und wlan1 verwenden......aber vom Ablauf ist beides dasselbe.

    Und soweit es Netzwerke angeht, empfehle ich Dir mal kurz die paar Seiten aus Kapitel 1 meine ersten Projektes zu lesen...das ist zwar noch Windows, aber es sind Basics, die Dir bei allem weiterhelfen können.

    2 Mal editiert, zuletzt von WinterUnit16246 (6. April 2020 um 20:40)

  • Gut Thomas dann bedanke ich mich an dieser Stelle schon mal. Ich werde mich erst einmal einarbeiten und wenn ich noch fragen habe, die ich mir nicht selber anlesen kann, melde ich mich nochmal. Vielleicht bist du dann ja auch zur Stelle. :) Ich bedanke mich auch für deine Tipps und den Kapitel-Link. Sofern mein Projekt voran kommt, werde ich natürlich auch eine sinnvolle Dokumentation dessen ausarbeiten und auch hier in diesem Beitrag davon berichten.

    Viele Grüße und weiterhin viel Erfolg,

    Salzforscher

  • werde ich natürlich auch eine sinnvolle Dokumentation dessen ausarbeiten

    Sie muss nur für Dich sinnvoll sein... das heisst, Du solltest nach einem Totalcrash imstande sein, alle Änderungen an einem neuen System wieder nachvollziehen zu können. Und dazu noch ein ganz besonder wichtiger Tip... wie man mit Einstellungsdateien umgeht.... hier als Beispiel die main.cf von Postfix.

    Mein allererster Schritt, nach einer Neuinstallation und vor jeder Änderung ist immer, die Originalversion zu sichern:

    cp main.cf main.cv.V_0_0

    Danach wird jede Änderung versioniert... das heisst, jede Änderung wird zuvor als letzte Version gesichert... am Ende sieht das dann so aus:

    Daran kann ich immer nachvollziehen, wann ich was, wie und warum geändert habe.... die letzte Version ist gleichzeitig die Produktive. Bei einer Änderung wird zuerst eine neue Version angelegt, dann wird die Änderung durchgeführt, alles ohne Root-Rechte ... und ganz am Schluss wird die Änderung durch simples Kopieren (als root) produktiv gesetzt. Dieses Vorgehen verhindert effektiv, dass man den wirklich dummen Fehler begeht, grafische Programme im normalen X-Server des Users als root zu starten. Und natürlich ist diese Historie in meinem Backup-Konzept enthalten. Das sieht prinzipiell bei Dovecot, Samba, SSH, FTP und wo auch noch, immer gleich aus.

    Der Vorteil bei den Backups ist, sofern es nicht um Nutzer-Daten geht, musst Du tatsächlich auch nur diese Confs sichern.... der Rest der Linux-Installation kommt ja von ganz alleine über den Installer... und wenn mann die fehlenden Pakete nachinstalliert hat (laut seinen eigenen Notizen), kann man einfach seine gesicherten Confs verwenden und schon läuft wieder alles wie zuvor. Das aktuelle Backup meines Servers beträgt mickrige 769,3 KB.

    Vielleicht bist du dann ja auch zur Stelle

    Hilfe zur Selbsthilfe... na klar....

    3 Mal editiert, zuletzt von WinterUnit16246 (6. April 2020 um 21:17)

  • Ordnung und gute Dokumentation ist sehr wichtig. Ich habe noch nie Zeit dadurch gespart, dass ich mir nicht die Zeit genommen habe, etwas sorgfältig zu dokumentieren. Insbesondere in dem Moment, wenn man die Dokumentation führt, ist man noch so im Bilde, dass man oft garnicht erkennt, wo der Fokus der Dokumentation liegen muss, um später alles nachvollziehen zu können. Ich diesem Sinne werde ich mir ein Beispiel an der Dokumentation deines Beispiels mit Postfix nehmen, danke dafür.

    Viele Grüße,

    Salzforscher

  • Danach wird jede Änderung versioniert... das heisst, jede Änderung wird zuvor als letzte Version gesichert...

    Hint: Vielleicht solltest du dir etckeeper dafür einmal anschauen.

    //EDIT: Man nutzt dafür sinnvollerweise einen lokalen Git-Server.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (7. April 2020 um 12:24)

  • Danke für den Tip... aber das widerspricht so ein bisschen meiner Philosophie, wirklich ausnahmslos alles, was unter dem Aspekt Daten/Dateien zu fassen ist, nur verschlüsselt und kontrolliert durch eigene Prozesse außer Haus zu speichern. Und weil ich selber eher puristische Ansprüche an unsere Systeme habe und ziemlich kompromisslos der Devise "KISS" folge, gibts auch so gut wie keine Helferlein, die meistens eh nur eine marginale Hilfen bieten, aber dafür umso häufiger auch mal Problemquelle sind. Wenn Du mal einen Blick über meine gewohnte Setup-Vorgehensweise geworfen hast, hast Du festgestellt, dass ich wirklich rigoros alles unnötige entferne... was am Ende hier seit mehreren Jahren zu einer -in meinem bisherigen Leben- nie zuvor erfahrenen Stabilität unserer Systeme geführt hat.

    Aber was mir an der Stelle noch wichtiger ist... ich bleibe an anderer Stelle bei gleicher Denkweise und Vorgehensweise.... wie z.B. bei allen meinen Script-Programmen. Deshalb sieht das als Beispiel bei meiner Netfilter-Lösung exakt genau so aus. V_5_2_9 war die 1:1-Übesetzung der vorhandenen iptables-Regeln V_5_2_8 nach nftables. Auch hier hat sich etabliert, die Änderungen außerhalb des Produktivsystems in meinem eigenen User-Space mit meinen Programmen durchzuführen ... und nur die einmalige Produktiv-Setzung durch simplen 'cp' erfolgt dann als root.

    Spoiler anzeigen

    # ls ".../history/netfilter/nftables/server"

    insgesamt 23M

    drwxrwx--- 2 thomas thomas 0 2020-04-01 19:01 .

    drwxrwx--- 2 thomas thomas 0 2019-10-15 18:19 ..

    -rw-r--r-- 1 thomas thomas 22K 2019-01-17 16:41 netfilter.V_5_2_9

    -rw-r--r-- 1 thomas thomas 21K 2019-01-17 16:41 netfilter.V_5_3

    -rw-r--r-- 1 thomas thomas 21K 2019-01-17 16:42 netfilter.V_5_3_1

    -rw-r--r-- 1 thomas thomas 20K 2019-01-21 18:09 netfilter.V_5_4

    -rw-r--r-- 1 thomas thomas 20K 2019-01-21 21:51 netfilter.V_5_4_1

    -rw-r--r-- 1 thomas thomas 19K 2019-01-28 10:33 netfilter.V_5_4_2

    -rw-r--r-- 1 thomas thomas 20K 2019-02-06 16:15 netfilter.V_5_4_3

    -rw-r--r-- 1 thomas thomas 20K 2019-02-06 19:14 netfilter.V_5_5

    -rw-r--r-- 1 thomas thomas 20K 2019-04-05 21:03 netfilter.V_5_6

    -rw-r--r-- 1 thomas thomas 20K 2019-05-30 11:13 netfilter.V_5_7

    -rw-r--r-- 1 thomas thomas 20K 2019-07-08 12:14 netfilter.V_5_7_1

    -rw-r--r-- 1 thomas thomas 20K 2019-07-21 15:16 netfilter.V_5_8

    -rw-r--r-- 1 thomas thomas 20K 2019-07-26 11:02 netfilter.V_5_8_1

    -rw-r--r-- 1 thomas thomas 19K 2019-08-22 11:08 netfilter.V_6_0

    -rw-r--r-- 1 thomas thomas 19K 2019-09-12 10:56 netfilter.V_6_1

    -rw-r--r-- 1 thomas thomas 20K 2019-09-17 19:50 netfilter.V_6_2

    -rw-r--r-- 1 thomas thomas 20K 2019-09-29 17:04 netfilter.V_6_3

    -rw-r--r-- 1 thomas thomas 20K 2019-10-14 19:10 netfilter.V_6_4

    -rw-r--r-- 1 thomas thomas 20K 2019-10-14 20:34 netfilter.V_6_5

    -rw-r--r-- 1 thomas thomas 19K 2019-12-07 15:42 netfilter.V_7_0

    -rw-r--r-- 1 thomas thomas 18K 2020-01-19 16:00 netfilter.V_7_1

    -rw-r--r-- 1 thomas thomas 18K 2020-04-01 19:00 netfilter.V_7_2

    Das ganze hat sich also umfassend als festes Zusammenspiel von Technik und Denkweise etabliert.

  • Hallo ThomasL,

    kannst du mir vielleicht ein gutes Buch empfehlen, indem ich eingehende Informationen zum Thema Netzwerktechnik finden kann und gegebenenfalls auch das Problem zu loesen, das wir in diesem Beitrag bearbeitet haben?

    Herzlichen Dank und viele Gruesse,

    Salzforscher

Jetzt mitmachen!

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