Minihowto: networkmgr - ein Verbindungstool für Ethernet und Wifi

H

holgerw

Guest
Vom GhostBSD-Projekt stammt ein Werkzeug namens networkmgr, was auch im offiziellen Repo von FreeBSD zur Verfügung steht. Es erlaubt unter X - unabhängig vom Desktopenvironement - ein bequemes Selektieren verfügbarer Netzquellen, die dann per Mausklick ausgewählt werden können und nach Eingabe der entsprechenden Paßphrase eine Verbindung zum Internet herstellen, ähnlich wie wicd unter GNU/Linux, und das als User.

Der Nutzer muss in der Gruppe wheel sein.

Zunächst installieren wir das Paket networkmgr aus dem FreeBSD-Repo.

Dann legen wir eine /usr/local/etc/doas.conf mit folgendem Inhalt an:
Code:
permit nopass keepenv :wheel cmd netcardmgr
    permit nopass keepenv :wheel cmd detect-nics
    permit nopass keepenv :wheel cmd detect-wifi
    permit nopass keepenv :wheel cmd ifconfig
    permit nopass keepenv :wheel cmd service
    permit nopass keepenv :wheel cmd wpa_supplicant

Dann leeren wir eventuelle Einträge der /etc/wpa_supplicant.conf

Nach einem Reboot und Start des Desktops liegt (z.B. unter KDE) ein kleines Symbol aus zwei Pfeilen in der Taskleiste.

Ein Linksklick bietet auszuwählende Netzwerkquellen.

Ein Linksklick auf eine Quelle fragt ggf. nach einer Paßphrase. Dann wird die Verbindung hergestellt.

Nach einem Reboot versucht das Tool zunächst, die letzte Verbindung wieder herzustellen, wie ich erfolgreich überprüfen konnte.
 
Das File /usr/local/etc/doas.conf nützt unter FreeBSD nicht viel. Dieses Kommando ist nicht im Basissystem enthalten. Das ist doch von OpenBSD der sudo Ersatz oder? Die Anleitung bezieht sich doch auf FreeBSD richtig?
 
Doas als dependency klingt für mich etwas unnötig, vorallem könnte man so wheel durch eine andere eigene gruppe ersetzen?
 
Hallo,

nun ja, networkmgr hat Abhängigkeiten, doas ist eine davon.

Ob das ungünstig ist, kann ich schwer beurteilen, das zu kritisieren, dafür ist wohl eher der Maintainer Ansprechpartner.

Ich finde es klasse, was da von Entwicklern bei GhostBSD gemacht worden ist, und werde mir mal genauer anschauen, ob es da noch weitere Tools gibt, die auch unter FreeBSD als Desktopsystem hilfreich sein können.
 
Habe networkmgr am Thinkpad ein bisschen getestet. Ich werde es wohl erst mal wieder deinstallieren.
Bei mir läuft es relativ instabil. Vor allem habe ich das Gefühl, dass es mit meiner DualStack-Umgebung nicht so gut klar kommt.
Manchmal friert es einfach ein, oder crashed komplett.
 
Habe networkmgr am Thinkpad ein bisschen getestet. Ich werde es wohl erst mal wieder deinstallieren.
Bei mir läuft es relativ instabil. Vor allem habe ich das Gefühl, dass es mit meiner DualStack-Umgebung nicht so gut klar kommt.
Manchmal friert es einfach ein, oder crashed komplett.

Okay, solche Beiträge finde ich ebenso wichtig.

Vorhin habe ich eine ähnliche Erfahrung gemacht. Beim Klick auf meine Hotspot-Quelle öffnete sich kein Dialog für die Paßwortabfrage, eine Verbindung war nicht möglich. Ich habe dann gesehen, dass von dem Tool wohl etwas in die wpa_supplicant.conf gepinselt worden war. Nach Löschen des Inhaltes und Reboot klappte es dann wieder mit meiner Hotspot-Verbindung über networkmgr.

Aber vielleicht kann man:
- versuchen, heraus zu finden, warum so etwas passiert
- versuchen, Workarrounds zu finden
- Unzulänglichkeiten an die Entwickler melden

Ich werde mal interessehalber ein GhostBSD auf dem Notebook installieren, und schauen, ob networkmgr beim Mutterprojekt ebenfalls herum zickt.

Solche Tools finde ich einfach zu wichtig, gerade auf einem Notebook finde ich ein ständiges Herumeditieren an der wpa_supplicant.conf lästig. Neue Wifi-Quellen sollten meines Erachtens flexibel per Mausklick auswählbar und aktivierbar sein, und das reibungslos. Ich hoffe, hier haben noch mehr Leute Interesse, und bleiben "mit am Ball", da "Einzelkämpfer" zu sein, macht mir keinen großen Spaß.
 
Ich hatte damals mit FreeBSD auch Probleme mit networkmgr, aber ein derartiges Tool kann die BSD-Gemeinde gut vertragen für die Zukunft.
 
Als ich noch KDE-3 nutzte und dies auf meinem kleinen Asus einsetzte, da hatte ich mir diese Tools auch angesehen und ein paar aus dem Angebot genutzt. Etwa die Akku-Anzeige.
Der networkmgr hatte damals unter einem normalen User fast gar nicht funktioniert.
Ich erinnere das nicht mehr korrekt, aber ich glaube, es wurde jeweils das root-passwd in einem kleinen Fenster wie einem pinentry oder so was in der Art abgefragt.
Heute wird das dann offenbar über doas gemacht.
Mir persönlich würde es viel besser gefallen, wenn ein normaler Nutzer die Einstellungen eines Netzwerkes bestimmen und es auch neu starten oder überhaupt erst starten könnte. Ich stolperte ja bei Ubuntu darüber, dass dort das Netzwerk erst nach Einloggen des Users gestartet wird und hielt das damals für verrückt. Inzwischen sehe ich das anders bei mobilen Desktop-Geräten.
Ob so etwas durch ein kleines Programm überhaupt entsprechend gehandhabt werden kann, weiß ich natürlich nicht.
 
ich halte von solchen Tools gar nichts!

In dem einen Netz brauch ich ne feste IP, im nächsten Netz hol ich mir die Daten vom DHCP, muss aber nen Proxy eintragen, im nächsten Netz will ich nen anderen DNS nutzen, als den der via DHCP eingetragen wird usw usw

Außerdem hab ich meine resolv.conf schreibgeschützt, damit da nicht permanent irgendwelche wirren DNS Server Adressen eingetragen werden - das wäre wahrscheinlich schon der erste Punkt, der solch ein Tool zum stolpern bringt.

Außerdem frage ich mich, weshalb man erstmal X starten sollte, nur um ein LAN auszuwählen? Wo ist denn da der Nöhrwert?

Gruesse walter
 
Außerdem frage ich mich, weshalb man erstmal X starten sollte, nur um ein LAN auszuwählen? Wo ist denn da der Nöhrwert?

Moin Walter,

wer mit seinem Notebook unterwegs ist und mit verschiedenen Wifi-Quellen zu tun hat, möchte vielleicht nicht immer per Editor in irgendwelchen Configs herum pinseln, sondern bequem per Mausklick die Quelle auswählen, die Paßphrase eingeben und dann Internetverbindung haben.

Wer das nicht möchte, editiert in den Configs herum, und das ist doch in Ordnung.

Ich habe nun mal auf einer freien Platte neben FreeBSD GhostBSD installiert, und schaue mir networkmgr mal direkt unter dem Mutterprojekt an.

OffTopic: Wenn Antergos ein Easy-to-Install Arch ist, dann ist GhostBSD ein Easy-to-Install FreeBSD. Ich finde es schon beeindruckend, wie einfach ein Nutzer GhostBSD installieren kann. Das System löst - ohne Wirbel drum zu machen - das ein, was TrueOS eigentlich für sich mit viel Werbetamtam beansprucht.

Viele Grüße
Holger
 
ich halte von solchen Tools gar nichts!

In dem einen Netz brauch ich ne feste IP, im nächsten Netz hol ich mir die Daten vom DHCP, muss aber nen Proxy eintragen, im nächsten Netz will ich nen anderen DNS nutzen, als den der via DHCP eingetragen wird usw usw

Außerdem hab ich meine resolv.conf schreibgeschützt, damit da nicht permanent irgendwelche wirren DNS Server Adressen eingetragen werden - das wäre wahrscheinlich schon der erste Punkt, der solch ein Tool zum stolpern bringt.

Außerdem frage ich mich, weshalb man erstmal X starten sollte, nur um ein LAN auszuwählen? Wo ist denn da der Nöhrwert?

Gruesse walter

Ich will das hier auch nicht weiter diskutieren. Dazu sollten wir dann einen neuen Thread öffnen.
Tatsache ist, dass ich jetzt gar keine Wahl habe und das Netzwerk nur nach alter Väter Sitte eher umständlich konfigurieren kann.
Ich habe es eine kurze Zeit ohne X versucht und gestehe, dass ich wohl eher ein Hand- und Augen-Typ bin und weniger ein Kopf-Typ. Ich möchte X und Maus und Tastatur auf meinem PC und das gilt sicher für die meisten Nutzer von Desktop-Pc's.
So merkwürdig mich das Konzept vorkam, als ich bei Ubuntu damit konfrontiert wurde, so gut verstehe ich inzwischen, dass die absolute Mehrzahl aller Nutzer ihr mobiles Gerät immer nur als einziger Nutzer und mit gestartetem Desktop betreiben und oft nicht mal abschalten, sondern nur "den Deckel zuklappen" und irgendeinen Schlafmodus aktivieren. Beim nächsten Aufwachen ist der PC dann in einem vollkommen unterschiedlichen Netz und niemand will nun noch erst anfangen, die Dokumentation zu lesen um sein Netzwerk konfigurieren zu können. Man will nun schnell mal etwas nachsehen und Arbeiten, der PC soll mir dienen und nicht ich das Betriebssystem befriedigen.
Ich verstehe sehr gut, dass man anderer Ansicht sein kann und gerade FreeBSD auch andere Wege verfolgt.
Man sollte sich aber den Gedanken nicht vollkommen verschließen, die etwa die Ubuntu-Entwickler zu ihrem Konstrukt bewogen haben. Es gibt da wirklich gute Gründe und ich gestehe gerne, dass mir die einfache Handhabung bei der Wahl und Umwahl der Netzwerke dort sehr gut gefallen hat. Für mich deckte das mehr ab, als ich brauchte, einschließlich einfacher Möglichkeit für VPN und Auswahl zwischen Wlan, LAN und eingebauter UMTS-Karte.

Ich sage es mal noch anders.
Ein normaler Nutzer mit seinem mobilen Gerät hat einfach nicht immer seinen Sysadmin dabei, um ihm das Netzwerk einzurichten.
 
Moin, ich nutze seit längerem immer wifimgr, das läuft sehr gut ohne irgendwelche editierarbeiten. Ich kann als "stuff" das root-kennwort eingeben, muss beim erstbenutzen einmal manuell meine SSID eigeben danach zeigt mir das Tool immer die verfügbaren Netzwerke an. Läuft super. Ist networkmgr jetzt dasselbe nur mit zusätzlichem LAN-An/aus-Knipser?

LG Lance
 
wer mit seinem Notebook unterwegs ist und mit verschiedenen Wifi-Quellen zu tun hat, möchte vielleicht nicht immer per Editor in irgendwelchen Configs herum pinseln, sondern bequem per Mausklick die Quelle auswählen, die Paßphrase eingeben und dann Internetverbindung haben.
....

Die /etc/wpa_supplicant.conf muss ja nun nicht bei jedem Wechsel des WLANs editiert werden,
sondern nur einmalig bei der Anmeldung in ein neues und bisher unbekanntes WLAN.

D.h. ich tippe in ner Konsole:
- vim /etc/w (und druecke) <TAB>
- bin dann im Befehlsmodus des vi und gebe ein: 4yy
- dann korrigiere ich in den kopierten Zeilen die SSID und psk
- druecke einmal ESC und dann: :wq
und sage dann in der Konsole: service netif restart

Obwohl ich sehr viel unterwegs bin, kommt das bei mir vielleicht einmal in 14 Tagen vor - wenn ueberhaupt.

Da man ja auch in wifi-managern oder in dem Fall hier im networkmgr die SSID auswaehlen oder eingeben muss
( z.B. wenn sie nicht sichtbar ist ) und das Passwort eintippen muss - ist fuer mich der hier gefeierte Komfortgewinn
duch den networkmgr nicht so wichtig.


Gruesse
 
Hallo Walter

Die /etc/wpa_supplicant.conf muss ja nun nicht bei jedem Wechsel des WLANs editiert werden,
sondern nur einmalig bei der Anmeldung in ein neues und bisher unbekanntes WLAN.

Heute Wlan zu Hause, morgen Hotspot meines Smartphones, übermorgen Gast-Waln in einem Café .... oder Wlan beim Besuch eines Freundes u.s.f.
D.h. ich tippe in ner Konsole:
- vim /etc/w (und druecke) <TAB>
- bin dann im Befehlsmodus des vi und gebe ein: 4yy
- dann korrigiere ich in den kopierten Zeilen die SSID und psk
- druecke einmal ESC und dann: :wq
und sage dann in der Konsole: service netif restart
Das Prozedere kenne ich auch aber bei einem ordentlich funktionierenden Wifi-Manager ist es ein Mausklick, und ich sehe alle gescannten mir zur Verfügung stehenden Wlan-Quellen (das manuelle Abscannen per Konsole der zur verfügung stehenden Wlan-Quellen hast Du in Deiner Aufreihung vergessen), ein Klick und Passworteingabe und die Verbindung steht.

Es sind zwei verschiedene Wege, die zum Ziel führen, und wer was möchte, kann ja jeder selbst entscheiden.
 
Moin, ich nutze seit längerem immer wifimgr, das läuft sehr gut ohne irgendwelche editierarbeiten. Ich kann als "stuff" das root-kennwort eingeben, muss beim erstbenutzen einmal manuell meine SSID eigeben danach zeigt mir das Tool immer die verfügbaren Netzwerke an. Läuft super. Ist networkmgr jetzt dasselbe nur mit zusätzlichem LAN-An/aus-Knipser?

LG Lance

Hi,

danke, das werde ich mir zum Vergleich auch mal anschauen.

Viele Grüße
Holger
 
Vom GhostBSD-Projekt stammt ein Werkzeug namens networkmgr, was auch im offiziellen Repo von FreeBSD zur Verfügung steht. Es erlaubt unter X - unabhängig vom Desktopenvironement - ein bequemes Selektieren verfügbarer Netzquellen, die dann per Mausklick ausgewählt werden können und nach Eingabe der entsprechenden Paßphrase eine Verbindung zum Internet herstellen, ähnlich wie wicd unter GNU/Linux, und das als User.

Der Nutzer muss in der Gruppe wheel sein.

Zunächst installieren wir das Paket networkmgr aus dem FreeBSD-Repo.

Dann legen wir eine /usr/local/etc/doas.conf mit folgendem Inhalt an:
Code:
permit nopass keepenv :wheel cmd netcardmgr
    permit nopass keepenv :wheel cmd detect-nics
    permit nopass keepenv :wheel cmd detect-wifi
    permit nopass keepenv :wheel cmd ifconfig
    permit nopass keepenv :wheel cmd service
    permit nopass keepenv :wheel cmd wpa_supplicant

Dann leeren wir eventuelle Einträge der /etc/wpa_supplicant.conf

Nach einem Reboot und Start des Desktops liegt (z.B. unter KDE) ein kleines Symbol aus zwei Pfeilen in der Taskleiste.

Ein Linksklick bietet auszuwählende Netzwerkquellen.

Ein Linksklick auf eine Quelle fragt ggf. nach einer Paßphrase. Dann wird die Verbindung hergestellt.

Nach einem Reboot versucht das Tool zunächst, die letzte Verbindung wieder herzustellen, wie ich erfolgreich überprüfen konnte.
Nachdem ich hier festgestellt habe, dass doas als Paket verfügbar ist hab ich mir das nun auch mal angesehen. sudo konnte ich nie leiden und hab es daher immer gemieden.
Ich wollte nur darauf hinweisen, dass die doas.conf wie angegeben einem lokalen Angreifer Tür und Tor öffnen. Da die ausführbaren Dateien ohne absoluten Pfad angegeben wurden kann jeder lokale Nutzer eine gleichnamige ausführbare Datei (Script) erzeugen, seine $PATH anpassen und hat volle root-Rechte. Ergo: doas.conf immer mit sollen Pfadangaben, sonst kann man es sich auch sparen.
 
Nachdem ich hier festgestellt habe, dass doas als Paket verfügbar ist hab ich mir das nun auch mal angesehen. sudo konnte ich nie leiden und hab es daher immer gemieden.
Ich wollte nur darauf hinweisen, dass die doas.conf wie angegeben einem lokalen Angreifer Tür und Tor öffnen. Da die ausführbaren Dateien ohne absoluten Pfad angegeben wurden kann jeder lokale Nutzer eine gleichnamige ausführbare Datei (Script) erzeugen, seine $PATH anpassen und hat volle root-Rechte. Ergo: doas.conf immer mit sollen Pfadangaben, sonst kann man es sich auch sparen.
Gut, dann ist aber auch hier der Adressat Deiner Kritik der Maintainer dieses Paketes. Denn ein pkg info -D networkmgr liefert:
Code:
networkmgr-2.2:
Always:
======================================================================

Any bug reports or request of new feature should be addressed at:
    https://github.com/GhostBSD/networkmgr/issues

Make sure that the /usr/local/etc/networkmgr/doas.conf have someting simular like this:

    permit nopass keepenv :wheel cmd netcardmgr
    permit nopass keepenv :wheel cmd detect-nics
    permit nopass keepenv :wheel cmd detect-wifi
    permit nopass keepenv :wheel cmd ifconfig
    permit nopass keepenv :wheel cmd service
    permit nopass keepenv :wheel cmd wpa_supplicant

When rebooting it should automaticaly start is the desktop support xdg and make
sure that the user using NetworkMgr is in the wheel group.

Als Anwender vertraue ich solchen Sachen, da für Sicherheit zu sorgen, ist Aufgabe der Leute, die diese Sachen für FreeBSD im Repo zur Verfügung stellen.

Viele Grüße
Holger
 
Ich wollte nur darauf hinweisen, dass die doas.conf wie angegeben einem lokalen Angreifer Tür und Tor öffnen. Da die ausführbaren Dateien ohne absoluten Pfad angegeben wurden kann jeder lokale Nutzer eine gleichnamige ausführbare Datei (Script) erzeugen, seine $PATH anpassen und hat volle root-Rechte. Ergo: doas.conf immer mit sollen Pfadangaben, sonst kann man es sich auch sparen.
oder:
Code:
permit setenv { PATH=... ENV=/root/.kshrc PS1=$DOAS_PS1 } user
# user könnte man auch durch die Gruppe ersetzen
( abgeschrieben von https://www.tedunangst.com/flak/post/doas-mastery )

Ist generell denke ich die beste Lösung, da man so auch andere kleine Angriffsquellen verhindert.

EDIT: siehe nächster Kommentar
 
Zuletzt bearbeitet:
Ich wollte nur darauf hinweisen, dass die doas.conf wie angegeben einem lokalen Angreifer Tür und Tor öffnen. Da die ausführbaren Dateien ohne absoluten Pfad angegeben wurden kann jeder lokale Nutzer eine gleichnamige ausführbare Datei (Script) erzeugen, seine $PATH anpassen und hat volle root-Rechte. Ergo: doas.conf immer mit sollen Pfadangaben, sonst kann man es sich auch sparen.
doas will restrict itself to only executing commands in the system PATH (/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin).
Quelle: https://www.tedunangst.com/flak/post/doas-mastery
 
Ja das hab ich auch gerade gelesen. Jedoch hatte ich es gesternbgetestet und Fakt ist, dass es die $PATH des Users nimmt. Ich konnte ein beliebiges script als root ausführen. Ist der Port evtl. fehlerhaft?
 
Zurück
Oben