Zugriff auf verfügbare WLANs steuern
Zugriff auf verfügbare WLANs steuern
Hallo zusammen!
Nachdem ich gestern schon wieder eine Weile daheim war, wollte ich mich mit meinem Notebook verbinden, was nicht ging, weil es sich mit einem offenen „Vodafone Homespot“ verbunden hatte. Normalerweise soll es sich in mein heimisches Fritzbox-WLAN einfügen.
Kann ich die Verbindung so steuern/begrenzen, dass sich mein Notebook nur in bestimmte WLANs einklinkt? Schon wegen der Signalqualität sollte mein heim-WLAN bevorzugt werden. Und wenn ich unterwegs bin, dann halt das verschlüsselte WLAN von Freunden.
TIA!
Gregor
Nachdem ich gestern schon wieder eine Weile daheim war, wollte ich mich mit meinem Notebook verbinden, was nicht ging, weil es sich mit einem offenen „Vodafone Homespot“ verbunden hatte. Normalerweise soll es sich in mein heimisches Fritzbox-WLAN einfügen.
Kann ich die Verbindung so steuern/begrenzen, dass sich mein Notebook nur in bestimmte WLANs einklinkt? Schon wegen der Signalqualität sollte mein heim-WLAN bevorzugt werden. Und wenn ich unterwegs bin, dann halt das verschlüsselte WLAN von Freunden.
TIA!
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Zugriff auf verfügbare WLANs steuern
Ich mache das mit iwd:GregorS hat geschrieben:24.06.2024 01:35:49..., was nicht ging, weil es sich mit einem offenen „Vodafone Homespot“ verbunden hatte. ...
If 'open' mode is disabled, then non-OWE enabled access points will not be connected to.
Quelle: https://avm.de/service/wissensdatenbank ... ncryption/Ohne OWE werden WLAN-Verbindungen zu öffentlichen WLAN-Hotspots unverschlüsselt hergestellt. Dadurch besteht die Gefahr, dass Daten von Unbefugten mitgelesen oder manipuliert werden, sofern die Daten nicht zusätzlich per HTTPS oder VPN verschlüsselt werden.
EDIT:
OWE
Zuletzt geändert von mat6937 am 26.06.2024 09:16:42, insgesamt 1-mal geändert.
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce
Re: Zugriff auf verfügbare WLANs steuern
Vielen Dank für Eure Antworten!
connman sieht vielversprechend aus, zumal es auch ein Paket connman-doc gibt. Da werd' ich mal einen Blick drauf werfen.
iwd scheint sich hingegen auf die Konfiguration meiner Fritzbox zu beziehen. Die ist aber schon so konfiguriert, dass sie eine verschlüsselte Verbindung mit meinem Notebook akzeptieren würde. Nur wechselt mein Notebook anscheinend nicht, wenn es bereits mit einem anderen (offenen) WLAN verbunden ist.
Ich möchte meinem Notebook quasi so etwas vorgeben: Verbinde Dich mit den Netzen „GS“ (das ist mein Heim-WLAN) oder mit „HINZKUNZ“ (das WLAN eines Freundes). sonst mit nichts.
Ich werde mal sehen, ob ich das mit connman hinbekomme.
connman sieht vielversprechend aus, zumal es auch ein Paket connman-doc gibt. Da werd' ich mal einen Blick drauf werfen.
iwd scheint sich hingegen auf die Konfiguration meiner Fritzbox zu beziehen. Die ist aber schon so konfiguriert, dass sie eine verschlüsselte Verbindung mit meinem Notebook akzeptieren würde. Nur wechselt mein Notebook anscheinend nicht, wenn es bereits mit einem anderen (offenen) WLAN verbunden ist.
Ich möchte meinem Notebook quasi so etwas vorgeben: Verbinde Dich mit den Netzen „GS“ (das ist mein Heim-WLAN) oder mit „HINZKUNZ“ (das WLAN eines Freundes). sonst mit nichts.
Ich werde mal sehen, ob ich das mit connman hinbekomme.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Zugriff auf verfügbare WLANs steuern
GregorS hat geschrieben:24.06.2024 10:10:28iwd scheint sich hingegen auf die Konfiguration meiner Fritzbox zu beziehen.


Siehe auch hier: https://wiki.gentoo.org/wiki/Iwd
Re: Zugriff auf verfügbare WLANs steuern
Nein. iwd macht genau das was Du dort konfigurierst. Z. B.:GregorS hat geschrieben:24.06.2024 10:10:28iwd scheint sich hingegen auf die Konfiguration meiner Fritzbox zu beziehen.
Code: Alles auswählen
:~# ls -la /var/lib/iwd
insgesamt 24
drwx------ 3 root root 4096 24. Jun 15:35 .
drwxr-xr-x 53 root root 4096 16. Mai 21:02 ..
-rw------- 1 root root 804 24. Jun 15:35 <SSID>.psk
-rw------- 1 root root 85 24. Jun 15:35 .known_network.freq
Code: Alles auswählen
:~# cat /var/lib/iwd/<SSID>.psk
[Settings]
AutoConnect=true
Hidden=false
TransitionDisable=true
DisabledTransitionModes='open'
UseDefaultEccGroup=true
[Network]
MulticastDNS=false
[Security]
PreSharedKey=<geheim>
Passphrase=<geheim>
SAE-PT-Group19=<geheim>
SAE-PT-Group20=<geheim>
Code: Alles auswählen
:~# cat /var/lib/iwd/.known_network.freq
[f88117f4-####-####-####-472859334438]
name=/var/lib/iwd//<SSID>.psk
list= 2472
Code: Alles auswählen
:~# ls -la /etc/iwd/main.conf
-rw------- 1 root root 451 25. Mai 09:10 /etc/iwd/main.conf
Code: Alles auswählen
iwd 621 root 16u IPv4 19723 0t0 UDP 192.168.178.53:68
connman (mit wpa_supplicant) ist auch gut bzw. habe ich in der Vergangenheit auch benutzt.
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce
Re: Zugriff auf verfügbare WLANs steuern
https://wiki.gentoo.org/wiki/Iwd
iwd (iNet Wireless Daemon) is an up-and-coming wireless daemon for Linux.
Auf deutsch:
iwd isr der zukünftige WLAN daemon for Linux.
Re: Zugriff auf verfügbare WLANs steuern
iwd ist gut, aber ob iwd "der zukünftige" werden wird, wird sich zeigen. Das Gentoo-Wiki ist für mich nicht maßgebend. In OpenBSD gibt es auch eine gute Alternative zum wpa_supplicant, was den wpa_supplicant dort aber richtigerweise, auch nicht zu 100% ersetzt/verdrängt hat.MSfree hat geschrieben:24.06.2024 16:09:47Auf deutsch:
iwd isr der zukünftige WLAN daemon for Linux.
EDIT:
https://iwd.wiki.kernel.org/_detail/wik ... ecture.png
Zuletzt geändert von mat6937 am 29.06.2024 07:56:11, insgesamt 1-mal geändert.
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce
Re: Zugriff auf verfügbare WLANs steuern
Am Ende wirst du irgend ein (pseudo) intelligentes tool am laufen haben, dass da irgend was automatisiert. Wenn du ein "einfaches" wpa_supplicant+systemd-networkd setup hast, dann kannst du in der wpa_supplicant.conf eintragen welche Netzwerke genutzt werden und welche Priorität die bekommen. Wenn du ein übliches grafisches setup hast hast du da üblicherweise einen Netzwerkmanager drüber hängen der nochmal ein grafisches tool drüber hat. Musst du a) wissen welche das sind und b) wird es zunehmend schwieriger das verhalten der verschiedenen untereinander zu determinieren.
Das wird vor allem auch auf den Bereich an kommen. Für android dürfte es schon alleine wegen der LGPL flach fallen. Die dbus Abhängigkeit macht es für embedded Systeme zu einem nogo. – Da es auf Linux abgestimmt ist, wird es unter BSD keinen Fuß fassen. Klassischen UNIX-Leuten wird nicht gefallen, dass das ein Tool ist, dass explizit unter dem not invented here Syndrom leidet. – Die Scheiben explizit alles neu selbst. – Das wird IMHO nie die Stabilität von einer überall benutzten lib wie GnuTLS (wie sie der wpa_supplicant nutzt) erreichen. Und gleichzeitig noch alles mögliche machen will– nicht nur wifi macht sondern auch noch dhcp, routing, mac-Adressen ändern.... Alles dafür, dass es eventuell ein paar CPU-zyklen spart, weil es mehr an die Hardware auslagert. Am Ende drückt es das IMHO in die Mini-Nische von standard Linux-Desktop User.mat6937 hat geschrieben:24.06.2024 16:20:24iwd ist gut, aber ob iwd "der zukünftige" werden wird, wird sich zeigen.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Zugriff auf verfügbare WLANs steuern
Am Ende ist das eine Firma die damit Geld verdient wifi-crypto zu verkaufen. Du wirst wunderbar auch unabhängige Quellen finden, die das von da abgeschrieben haben. Aber am Ende ist das IMHO extrem irreführend. Um die Wifi-Verbindung abzuhören musst du quasi in der Wohnung oder direkt davor stehen. Dahinter hast du kilometer lange Kabel, an denen jeder beliebig mit hören kann. – Und das ganz emit viel höherem ertrag, weil darüber hunderte Verbindungen laufen. – Um die Abstrahlung von Kabeln auszulesen ist etwas teurere Hardware notwendig. Aber das bewegt sich zumindest abseits von Glasfaser auch in nem Bereich, wo man sich das selbst zum Spaß kaufen kann. Wir sehen zumindest bei den Geheimdiensten, dass die ganz massiv da und nie am wifi abhören. Ich wette Kriminelle werden das Preis/Leistungsverhältnis genauso schätzen. Daneben lassen die Internetanbieter vom billigsten Transportieren. Rein theoretisch kannst du der Telekom auch schlicht billigeren Transport anbieten. Wir haben das zu genüge gesehen, dass das Kriminelle für SMS/Telefonate machen. – Für Internet noch selten. – Vermutlich schlicht, weil wie gesagt mittlerweile jeder sichere Protokolle nutzt. Am ende ist Wifi-Crypto ähnlich sinnvoll wie ne Tabakdose als Kugelschutz im Krieg. – Ja funktioniert, wenn genau da drauf geschossen wird. – Real willst du entweder ne Kugelsichere Weste, die (wie ssh/WhatsApp...) alles schützt. Oder du brauchst den Schutz nicht.mat6937 hat geschrieben:24.06.2024 08:38:54Quelle: https://avm.de/service/wissensdatenbank ... ncryption/
Deswegen ist eben schon lange alles https/ssh/axolotl... das auch ohne extra wifi-Verschlüsslung nicht abgehört werden kann. Kein mensch nutzt noch telnet/ICQ oder ähnliche unverschlüsselte Kuriositäten.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Zugriff auf verfügbare WLANs steuern
Primär geht's mir gar nicht um die Verschlüsselung. Ich möchte nur, dass sich mein Notebook nur in bestimmte WLANs einloggt.
EDIT:
Wo kann ich das konfigurieren und wie sieht so ein Eintrag beispielsweise aus? Ach ja: Mein Notebook läuft mit Devuan Daedalus, ich nehme aber an, dass das keine Rolle spielt. Hier mal ein Auszug aus xterm:
EDIT:
Wo kann ich das konfigurieren und wie sieht so ein Eintrag beispielsweise aus? Ach ja: Mein Notebook läuft mit Devuan Daedalus, ich nehme aber an, dass das keine Rolle spielt. Hier mal ein Auszug aus xterm:
Code: Alles auswählen
root@tablet:/etc# find . -name "*wpa_*"
./dbus-1/system.d/wpa_supplicant.conf
./systemd/system/dbus-fi.w1.wpa_supplicant1.service
./systemd/system/multi-user.target.wants/wpa_supplicant.service
./wpa_supplicant
root@tablet:/etc# ls -l wpa_supplicant/
insgesamt 40
-rwxr-xr-x 1 root root 937 24. Feb 2023 action_wpa.sh
-rw-r--r-- 1 root root 25569 24. Feb 2023 functions.sh
-rwxr-xr-x 1 root root 4696 24. Feb 2023 ifupdown.sh
root@tablet:/etc#
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Zugriff auf verfügbare WLANs steuern
Iwd braucht keinen wpa_supplicant. Für dieses Tool gibt es auch eine grafische Oberfläche, die muß man aber selbst kompilieren. Mit checkinstall aber sehr einfach.
Das hatte ich vor einiger Zeit mal beschrieben.
Für den Gnome-Networkmanager braucht es wieder wpa_supplicant, ebenso für systemd-network. Bei Devuan fällt das aber aus...
https://github.com/J-Lentz/iwgtk
Das hatte ich vor einiger Zeit mal beschrieben.
Für den Gnome-Networkmanager braucht es wieder wpa_supplicant, ebenso für systemd-network. Bei Devuan fällt das aber aus...
https://github.com/J-Lentz/iwgtk
Re: Zugriff auf verfügbare WLANs steuern
In der wpa_supplicant.conf kannst Du das konfigurieren. Z. B.:GregorS hat geschrieben:24.06.2024 19:13:55Wo kann ich das konfigurieren und wie sieht so ein Eintrag beispielsweise aus?
Code: Alles auswählen
# Example configuration limiting AP selection to a specific set of APs;
# any other AP not matching the masked address will be ignored.
network={
ssid="example"
psk="very secret passphrase"
bssid_accept=02:55:ae:bc:00:00/ff:ff:ff:ff:00:00 00:00:77:66:55:44/00:00:ff:ff:ff:ff
}
Hatte ich im Einsatz auf debian, ohne NM bzw. ohne connman, aber mit systemd-networkd und eine wpa_supplcant.service-unit ohne dbus-Abhängigkeit.
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce
Re: Zugriff auf verfügbare WLANs steuern
Danke für den Link! Der Inhalt meiner wpa_supplicant.conf ist deutlich weniger „Gesprächig“:mat6937 hat geschrieben:24.06.2024 20:46:12...GregorS hat geschrieben:24.06.2024 19:13:55Wo kann ich das konfigurieren und wie sieht so ein Eintrag beispielsweise aus?
Quelle: https://w1.fi/cgit/hostap/plain/wpa_sup ... icant.conf
Hatte ich im Einsatz auf debian, ohne NM bzw. ohne connman, aber mit systemd-networkd und eine wpa_supplcant.service-unit ohne dbus-Abhängigkeit.
Code: Alles auswählen
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="fi.w1.wpa_supplicant1"/>
<allow send_destination="fi.w1.wpa_supplicant1"/>
<allow send_interface="fi.w1.wpa_supplicant1"/>
<allow receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/>
</policy>
<policy group="netdev">
<allow send_destination="fi.w1.wpa_supplicant1"/>
<allow send_interface="fi.w1.wpa_supplicant1"/>
<allow receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/>
</policy>
<policy context="default">
<deny own="fi.w1.wpa_supplicant1"/>
<deny send_destination="fi.w1.wpa_supplicant1"/>
<deny receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/>
</policy>
</busconfig>
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Zugriff auf verfügbare WLANs steuern
Ja, weil das ist die dbus-abhängige config, mit der der wpa_supplicant als backend für den NM oder für connman, fungiert.GregorS hat geschrieben:24.06.2024 21:00:28Der Inhalt meiner wpa_supplicant.conf ist deutlich weniger „Gesprächig“:
Ob und wie Du hier "bssid_accept= ..." (als whitelist) benutzen bzw. unterbringen kannst, weiß ich nicht, denn ich habe das ohne NM/connman/dbus gemacht (siehe oben).
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce
Re: Zugriff auf verfügbare WLANs steuern
Uh, ja, das habe ich überlesen.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi und sog. Maker)
Re: Zugriff auf verfügbare WLANs steuern
Ich empfehle einen Nano-Router am besten TL-WR802N. Ist aber mehr was für unterwegs. Aber wenn's zuhause=stationär schon nicht hinhaut, wäre das vielleicht doch eine Alternative.
Re: Zugriff auf verfügbare WLANs steuern
Wenn Du connman porbierst, dann Versuch mal auch mit:
Code: Alles auswählen
BackgroundScanning = false
D. h. m. E., dass sich connman dann nur für die bereits bekannten/konfigurierten BSSIDs "interessieren" sollte. Das offene Wlan (in deiner Umgebung) hast Du ja nicht (absichtlich) konfiguriert/eingetragen und wird evtl. (nur) via BackgroundScanning gefunden und benutzt.When BackgroundScanning is false, ConnMan will not perform any scan regardless of wifi is connected or not, unless it is requested by the user through a D-Bus call.
EDIT:
Was Du noch (evtl. nur temporär) machen/testen kannst, ist das blocken der BSSID (mac-adresse) des offenen Wlans, mit iptables (d. h. für Datenpakete ab Schicht 2 inkl.) :
Code: Alles auswählen
iptables -I INPUT 1 -i <wlan-Interface> -m mac --mac-source <unerwünschte-BSSID> -j DROP
EDIT 2:
Ich habe nachgeschaut und dhcp ist Ebene 7, d. h. IP-Adresse kann _nicht_ zugewiesen werden.
EDIT 3:
wpa_supplicant kompiliert ohne dbus-Abhängigkeit (... und an der FB7590):
Code: Alles auswählen
:~# ldd /usr/local/bin/wpa_supplicantx | grep -i dbus
# keine Ausgabe!
Code: Alles auswählen
:~# systemctl cat wpa_supplicantx
# /lib/systemd/system/wpa_supplicantx.service
[Unit]
Description=WPA supplicant daemon (interface- and nl80211 driver-specific version)
Before=network.target
Wants=network.target
ConditionPathIsSymbolicLink=/sys/class/net/wlan0
ConditionPathExists=/etc/wpa_supplicant/wpa_supplicantx.conf
IgnoreOnIsolate=true
[Service]
Type=simple
ExecStart=/usr/local/bin/wpa_supplicantx -B -c/etc/wpa_supplicant/wpa_supplicantx.conf -Dnl80211 -iwlan0 -qq
ExecReload=/bin/kill -HUP $MAINPID
RemainAfterExit=yes
Restart=on-failure
RestartSec=5
TimeoutStartSec=35
StandardOutput=null
[Install]
WantedBy=multi-user.target
Code: Alles auswählen
:~# systemctl status wpa_supplicant
● wpa_supplicant.service
Loaded: masked (Reason: Unit wpa_supplicant.service is masked.)
Active: inactive (dead)
Code: Alles auswählen
:~# cat /etc/wpa_supplicant/wpa_supplicantx.conf
# erstellt am 24.05.2023
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
#
eapol_version=2
filter_ssids=1
ap_scan=1
bss_max_count=10
bss_expiration_age=45
ignore_old_scan_res=1
freq_list=2472
scan_cur_freq=1
interworking=1
auto_interworking=1
bgscan=""
pmf=1
#
network={
disabled=0
scan_ssid=0
bssid_accept=<BSSID>
mode=0
priority=3
scan_freq=2472
freq_list=2472
proto=RSN
auth_alg=OPEN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
ssid="<SSID>"
psk=geheim
id_str="####"
ieee80211w=1
ocv=1
}
Debian 12.10 mit LXDE, OpenBSD 7.7 mit i3wm, FreeBSD 14.2 mit Xfce