ubuntuusers.de

Wie WLAN Netze ignorieren?

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

flaschbier

Avatar von flaschbier

Anmeldungsdatum:
14. August 2013

Beiträge: 20

Das selbe Problem habe ich auch.

Hat in den letzten sechs Jahren jemand rausgefunden, wie man WLANs ignorieren kann?

Ubuntu 14.04 inzwischen...

Moderiert von praseodym:

Thema von hier abgetrennt!

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Wohnort: NRW

Steht doch schon alles da.

Der NM versucht nur Verbindugen mit einem anderen WLAN herzustellen, wenn ...

  • die SSID eines der Nachbarnetze zufällig identisch sein sollte

  • SSID des eigenen Netzwerks ändern

  • BSSID (MAC-Adresse) zusätzlich verwenden, sollte sich die SSID nicht ändern lassen wenn z.B. kein Zugriff auf den Router besteht

  • ein Verbindungsprofil für dieses Netzwerk existiert

  • das Profil muss nicht vollständig sein, es genügt wenn mann dieses Netzwerk in der Auswahl irgendwann einmal angeklickt hat

  • nicht benötigte oder fälschlicherweise erzeugte Profile löschen

  • der NM versucht ansonsten nicht eigenständig irgendeine Verbindung herzustellen

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14367

flaschbier schrieb:

Hat in den letzten sechs Jahren jemand rausgefunden, wie man WLANs ignorieren kann?

Das kann man mit Hilfe der Konfiguration des wpa_supplicant machen.

Z. B., wenn die Ausgabe von:

 wpa_cli scan && wpa_cli scan_results

(oder je nach Konfiguration, mit sudo) lediglich dein WLAN anzeigt, ist die Konfiguration so, dass die anderen WLANs ignoriert werden.

EDIT:

Eine andere Möglichkeit (ohne den wpa_supplicant), die aber nur dann funktioniert wenn das (nicht zu ignorierende) WLAN _nicht_ versteckt/hidden ist und dauerhaft/permanent/zuverlässig die _beste_ Signalstärke in der Umgebung hat, ist mit Hilfe einer Option von cfg80211. Z. B.:

:~ $ modinfo cfg80211 | grep -i entries
parm:           bss_entries_limit:limit to number of scan BSS entries (per wiphy, default 1000) (int)
options cfg80211 bss_entries_limit=5
:~ $ sudo iwlist wlan0 scan | grep -i cell
          Cell 01 - Address: C0:25:06:##:##:##
          Cell 02 - Address: 88:03:55:3A:31:12
          Cell 03 - Address: E0:28:6D:4E:9F:DF
          Cell 04 - Address: 84:9C:A6:BF:12:04
          Cell 05 - Address: C8:0E:14:C9:A2:6C

und jetzt nur mit 1:

options cfg80211 bss_entries_limit=1
:~ $ sudo iwlist wlan0 scan | grep -i cell
          Cell 01 - Address: C0:25:06:##:##:##

Hinweis: Zum testen, _nicht_ auf einem Gerät benutzen, das man headless und per WLAN betreibt bzw. verwendet.

flaschbier

(Themenstarter)
Avatar von flaschbier

Anmeldungsdatum:
14. August 2013

Beiträge: 20

Danke für die Antworten. Ich sehe, ich muss das nochmal präziser formulieren:

Meine FritzBox ist unten im Erggeschoss und deren WLAN kommt hier unterm Dach nur sehr schwach an. Da ich trotz zweier Stahlbetondecken dazwischen gerne schnelles WLAN und zusätzlich kabelgebundenes Netz hier oben haben möchte, setze ich ein Paar Fritz PowerLine Adapter ein. Der zweite PowerLine Adapter, der auch ein zweites WLAN aussendet, ist hier oben immer das stärkste Netz. Trotzdem findet der wpa_supplicant oft das ganz schwache Netz von unten, wohl weil es das letzte war, an dass er sich connectiert hat, wenn ich unten war. Also möchte ich über das Dropdown rechts oben das Netzwerk wechseln. Dort stehen aber auch die 10 WLANs der Nachbarn. Da diese mit wechselnder Feldstärke reinkommen, hüpfen die Menüeinträge mitunter so, dass ich mein eigenes Netz gar nicht mehr treffe.

Ziel:

  • Optimalerweise sollte sich der Bursche einfach das stärkste Netz schnappen, zu dem er Credentials hinterlegt hat.

  • Wenn das nicht geht, möchte ich, dass in dem Dropdown nur die beiden Netze auftauchen, die ich nutze und eben nicht die 10 anderen (bekannten) Netze der Nachbarn.

Da Die optimale Lösung offenbar nicht geht (weil z.B. mein WLAN unten nicht das stärkste ist, das unten zu empfangen ist), möchte ich einfach die (bekannten) überflüssigen Netze explizit ignorieren.

Frage: Geht das? Wenn ja: Wie?

Die man pages von wpa_supplicant sind da, um es vorsichtig zu sagen, nicht wirklich zielorientiert...

Eckdaten:

  • wpa_cli scan_results listet 12 WLANs auf

  • zu zwei dieser Netze sind credentials hinterlegt

  • /etc/wpa_supplicant: file not found

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Wohnort: NRW

  • gleiche SSID beider Netze im Haus → ergänze das Profil um die BSSID

  • man kann die Priorität der gespeicherten Verbindungen in den Profilen unter /etc/Network-Manager/system-connections einstellen

  • Abschnitt [connection] - Option autoconnect-priority=1 (ganzzahligen Wert eintragen)

Network-Manager ref-settings

  • die Option „automatisch verbinden“ bei beiden Profilen ansonsten entfernen und die Verbindung je nach Standort manuell auswählen und aktivieren

flaschbier

(Themenstarter)
Avatar von flaschbier

Anmeldungsdatum:
14. August 2013

Beiträge: 20

Die nervigen WLANs stehen gar nicht unter /etc/NetworkManager/system-connections/. Da stehen nur die WLANs (auch die außer Reichweite), zu denen ich mich mal connectiert habe.

Wie schon gesagt: Dass das falsche WLAN connectiert wird, ist schade, aber nicht das Problem. Ich möchte die (bekannten) WLANs loswerden (genauer: aus dem Dropdown rechts oben loswerden), für die ich keine Credentials hinterlegt habe.

Gibt es wirklich keine UI-Funktion "Ignore Network"?

(Übrigens: Meine beiden WLANs haben natürlich nicht dieselbe SID.)

lionlizard

Avatar von lionlizard

Anmeldungsdatum:
20. September 2012

Beiträge: 6244

Wohnort: Berlin

Ich habe bei den Netzwerkverbindungen von Freunden den Haken bei "Automatisch mit diesem Netzwerk verbinden, wenn es verfügbar ist" herausgenommen. Automatisch wird also nur bei mir zu Hause verbunden. Sonst muss ich explizit das Netzwerk auswählen und auf verbinden klicken.

flaschbier

(Themenstarter)
Avatar von flaschbier

Anmeldungsdatum:
14. August 2013

Beiträge: 20

Diese Einstellung ist mir bekannt, hilft aber leider nicht beim konkreten Problem: Ich möchte eine Reihe von WLANs, die im Dropdown rechts oben angezeigt werden, aus dieser Anzeige ausschließen, da ich sie niemals connectieren werde.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9741

Wohnort: Münster

flaschbier schrieb:

[…] Ich möchte eine Reihe von WLANs, die im Dropdown rechts oben angezeigt werden, aus dieser Anzeige ausschließen […]

Du möchtest also die beim Scan gefundenen WLANs klassifizieren, insbesondere eine Blacklist anwenden.

Ich bin nach Suche im Internet und Lesen der Dokumentation zu der Überzeugung gekommen, dass NetworkManager und auch wpa_supplicant dafür nicht vorgesehen sind und man sich so etwas selber bauen muss: Z.B. scannen aller WLANs geht als root mit iw dev $IFACE scan, ($IFACE durch den Namen der eigenen Schnittstelle ersetzen). Die reichhaltige Ausgabe filtern mit sed, awk oder grep - leider bin ich noch nicht so weit, eine fertige Lösung bieten zu können und für mich hat das Problem auch niedrige Priorität.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Wohnort: NRW

flaschbier schrieb:

Wie schon gesagt: Dass das falsche WLAN connectiert wird, ist schade, aber nicht das Problem. Ich möchte die (bekannten) WLANs loswerden (genauer: aus dem Dropdown rechts oben loswerden), für die ich keine Credentials hinterlegt habe.

Gibt es wirklich keine UI-Funktion "Ignore Network"?

Nein, momentan nicht. Der NM zeigt immer ungefiltert alle Netzwerke im Empfangsbereich an. Normalerweise möchte man das ja auch.

lionlizard

Avatar von lionlizard

Anmeldungsdatum:
20. September 2012

Beiträge: 6244

Wohnort: Berlin

flaschbier schrieb:

Ich möchte eine Reihe von WLANs, die im Dropdown rechts oben angezeigt werden, aus dieser Anzeige ausschließen, da ich sie niemals connectieren werde.

Dann könnte man darüber nachdenken, den Netzwerkmanager durch eine Alternative zu erstetzen.

Dein Ansinnen ist doch recht speziell. In der Regel wird ein WLan einmal eingerichtet, und der Benutzer ist zufrieden, wenn künftig automatisch verbunden wird, sobald man sich im Funkbereich befindet. Dass man sein Netz so oft manuell auswählt, dass man die unerwünschten Netze ausblenden möchte, kommt so selten vor, das zumindest kein offensichtlicher Schalter dafür vorgesehen ist.

Statt dessen würde es sich anbieten, einfach für die verschiedenen Netzwerke jeweils eigene Konfigurationen zu erstellen und diese dann gezielt manuell zu laden.

[Edit] Okay, ich gebs zu, soo speziell nun auch wieder nicht, wenn sich in so kurzer Zeit 3 Leute melden …

flaschbier

(Themenstarter)
Avatar von flaschbier

Anmeldungsdatum:
14. August 2013

Beiträge: 20

Grins. Danke jedenfalls für Eure Antworten! Ist schon mal ein guter Start für eigene Forschungen.

Noch ne Frage: Wenn ich eine Datei /etc/wpa_supplicant/wpa_supplicant.conf anlege und mir da zwei Einträge reinbastle, dann wird nicht mehr automatisch gesucht? Dann wäre natürlich die Frage, was passsiert, wenn ich mal ganz wo anders bin (Freund, Hotel,...) und mich dort an ein neues WLAN konnectieren will...

lionlizard

Avatar von lionlizard

Anmeldungsdatum:
20. September 2012

Beiträge: 6244

Wohnort: Berlin

flaschbier schrieb:

Noch ne Frage: Wenn ich eine Datei /etc/wpa_supplicant/wpa_supplicant.conf anlege und mir da zwei Einträge reinbastle, dann wird nicht mehr automatisch gesucht?

Da ich mich nicht näher damit beschäftigt habe, kann ich keine fachlich fundierte Aussage dazu treffen

Dann wäre natürlich die Frage, was passsiert, wenn ich mal ganz wo anders bin (Freund, Hotel,...) und mich dort an ein neues WLAN konnectieren will...

Dann muss man natürlich einen entsprechenden weiteren Eintrag fabrizieren und dort reinbasteln, den man am nächsten Tag wieder löscht, auskommentiert oder auch drin lässt. Oder man startet als Fallbacksystem den NetzwerkManager. Da muss man testen, wie einem das am besten gefällt.

Wenn ich ein neues Netzwerk mit dem Netzwerkmanager betrete, erstelle ich in der Regel sowieso einen neuen Eintrag, weil die Eingabe des Passwortes so lange dauert, dass die Verbindung nicht einfach so hergestellt wird. Erst wenn ich das Passwort in der Zwischenablage habe und mit Strg + C einfüge, bin ich schnell genug, dass die Verbindung sofort hergestellt wird. Wenn ich das Passwort eintippe, schlägt die Verbindung regelmäßig fehl.

Antworten |