ICS mit NetworkManager
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Dieser Artikel beschreibt Einrichtung einer Internetverbindungsfreigabe nach der Router-Methode mit Hilfe des NetworkManagers.
In diesem Artikel wird vorausgesetzt, dass der Rechner bereits über eine funktionierende Internetverbindung (uplink) verfügt. Die Art dieses Internetzugangs ist beliebig.
Ein Ubuntu-Desktop-System bringt bereits alle erforderlichen Programme mit, um eine Verbindung herzustellen und die Internetverbindung zu teilen.
Freigabe via Wifi/WLAN¶
Die Aufgabe läuft technisch hinaus auf die Erstellung eine WLAN-Zugangspunktes (Access Point) und eines Routers mit den Zusatzfunktionen DHCP-Server, DNS-Cache und NAT. Der Benutzer muss sich aber nicht um die technischen Details kümmern, NetworkManager erledigt das alles selber. Es ist im Grunde nur ein Verbindungsprofil für den downlink zu erstellen.
Hardware prüfen¶
Zuvor muss aber geprüft werden, ob die Wifi/WLAN-Hardware des Rechner überhaupt als Access Point arbeiten kann, da dies nicht von jeder Hardware unterstützt wird. Dazu öffnet man ein Terminal [2] und startet diesen Befehl [3]:
iw phy | sed -n '/modes:/,/:/ p'
Die angezeigte Liste der unterstützen Betriebsarten (Supported interface modes) muss "AP"
enthalten, im anderen Fall ist mit dieser Hardware mit den in diesem Artikel beschriebenen Methoden keine Weiterleitung der Internetverbindung per WLAN möglich, man kann aber versuchen, einen einzelnen Rechner im ad-hoc-Modus per WLAN anzubinden. Siehe: PC-Direktverbindung per WLAN
Verschlüsselung¶
Bei der Auswahl der richtigen Verschlüsselungstechnik sollte man diese Hinweise beachten:
Man sollte auf keinen Fall ein unverschlüsseltes und damit gegen Missbrauch völlig ungeschütztes Funknetz betreiben, da man sonst für die missbräuchliche Verwendung des Internetzugangs durch Fremde möglicherweise mit haftet.
Die Verwendung aller Versionen von WEP (Wired Equivalent Privacy) ist unsicher, diese Verschlüsselungsmethode ist in wenigen Minuten zu brechen.
LEAP ist das älteste und ursprünglich ein proprietäres Protokoll von Cisco aus der Familie der EAP (Extensible Authentication Protocol) bzw. IEEE802.1X, welches inzwischen auch von anderen Herstellern unterstützt wird. Es spricht nichts gegen die Verwendung dieser Methode, sofern sie für alle beteiligten Teilnehmer verfügbar ist.
Auch das Protokoll WPA (Wi-Fi Protected Access) in der ersten Version (manchmal auch WPA1 genannt) gilt bereits als veraltet und man sollte es vermeiden. Die Varianten WPA2 und WPA3 sind nach dem Stand 2021 zu empfehlen. Allerdings funktioniert dies nicht unbedingt mit jeder WLAN-Hardware. Ebenso kann es sein, dass Clients wie andere Rechner, Tablets oder Smartphones die Verbindung nicht herstellen können, obwohl das so erzeugte Funknetzwerk angezeigt wird, der eingegebene Zugangsschlüssel korrekt ist und andere Geräte problemlos funktionieren.
Man sollte nicht parallel WPA1 und WPA2 anbieten, sondern sich auf eines von beiden beschränken. Sonst kann es in ungünstigen Situation zu Störungen bei der Anmeldung kommen.
Man sollte bei WPA (alle Varianten) ausschließlich CCMP verwenden und TKIP nicht anbieten. Alle Versionen von WPA müssen TKIP implementieren, CCMP ist bei WPA1 herstellerspezifischer Zusatz und bei WPA2/3 verpflichtend lt. Standard. Bei WPA1-CCMP muss man daher bei Verwendung von Hardware unterschiedlicher Hersteller mit Inkompatibilitäten rechnen. Seit Januar 2009 gilt TKIP als nicht mehr ausreichend sicher und das IEEE rät von seiner Verwendung ab.
Das Passwort darf bei WPA (alle Varianten) zwischen 8 und 63 Zeichen umfassen. Bei der Auswahl beachte man die Hinweise in den Verweisen unter Zusatzinformationen.
Manche Android-Smartphones akzeptieren nur Passworte mit bestimmten Längen, z.B. 5, 8, 10, 13 …
Wenn man Wert auf die Kompatibilität zwischen verschiedenen Betriebssystemen legt, die Umlaute und andere Sonderzeichen unterschiedlich kodieren, dann beschränke man sich bei der Auswahl des Passwortes auf die 7-Bit-ASCII-Zeichen.
Einrichtung per nm-applet¶
Über einen Linksklick öffnet man das Systemmenü im Panel oben rechts und wählt Einstellungen oder bei früheren Versionen klickt man auf die Schaltfläche mit dem Werkzeug. Im sich dann öffnenden Fenster klickt man auf WLAN. Alternativ kann man auch im Systemmenü das Untermenü für WLAN öffnen und den Menüpunkt Drahtlosnetzwerk-Einstellungen wählen.
Man muss nun bei eingeschaltetem WLAN den Hotspot einschalten; die Bedienelemente dazu sind versteckt hinter der Menüschaltfläche mit den drei übereinander liegenden Punkten (oder bei früheren Versionen drei Strichen) oben rechts.
Manchmal ist die Option „WLAN-Hotspot einschalten ...“ deaktiviert, grau dargestellt und man erhält den Hinweis „Die Systemeinstellungen verbieten die Nutzung als Hotspot“ beim Zeigen auf die Option. Dann hilft oft, im Menü auf der linken Fensterseite erst Netzwerk und dann wieder WLAN auszuwählen.
Es wird ein Dialog angezeigt, in dem als Funkname (SSID) der Hostname des Rechner vorgeschlagen wird. Man kann diesen wie hier in der Anleitung beispielsweise auf UU ändern und auch ein Passwort vergeben oder vom System eines würfeln lassen. Die Verschlüsselungsmethode wird immer automatisch bestimmt; dabei steht WPA für die ganze Familie WPA1/2/3. Nach einem Klick auf Einschalten wird ein neues Verbindungsprofil in der Datei /etc/NetworkManager/system-connections/Hotspot abgelegt, diese kann man später wie jedes Verbindungsprofil des NetworkManagers bearbeiten [4][5].
Auf den Clients verbindet man sich ganz normal zum Funknetz mit der angezeigten SSID und wählt als Konfigurationsmethode für das Netzwerk DHCP aus.
Einrichtung via nm-connection-editor¶
Das GUI-Programm nm-connection-editor bietet mehr Möglichkeiten und Optionen. Zum Anlegen eines Verbindungsprofils für die Internetfreigabe startet man es als normaler Benutzer aus einem Terminal durch Eingabe seines Programmnamens [2][3]. Es öffnet sich ein Fenster mit dem Titel Netzwerkverbindungen.
Zur Erstellung einer neuen Verbindung klickt man in der Fußleiste des Fensters auf das Plus-Zeichen und wählt in dem sich öffnenden Dialog als Verbindungstyp Funknetzwerk
aus und betätigt die Schaltfläche „Erstellen ...“.
Im nächsten Fenster benennt man das Verbindungsprofil mit einem sprechenden Namen; diese Anleitung verwendet ICS-downlink-WLAN
. Außerdem sind noch diese Einstellungen erforderlich:
Register Funknetzwerk:
SSID (in dieser Anleitung UU)
Modus =
Hotspot
Register „Sicherheit des Funknetzwerks“:
Sicherheit: Man sollte auf keinen Fall die Voreinstellung
Keine
beibehalten, sondern beispielsweise „WPA & WPA2“ auswählen. Je nach Auswahl der Methode werden noch weitere Daten abgefragt, man muss mindestens ein Passwort definieren.
Register IPv4-Einstellungen:
Methode = „Gemeinsam mit anderen Rechnern“
Das Feld „Adresse (optional)“ kann man leer lassen, dann wird das Netzwerk
10.42.0.0/24
verwendet und an die sich anmeldenden Clients per DHCP IP-Adressen aus diesem Bereich vergeben; man kann aber hier auch selber Adressbereiche definieren.
Register IPv6-Einstellungen:
Methode = „Gemeinsam mit anderen Rechnern“
Wenn man IPv6 verwenden will, muss man ggf. bei Ubuntu 20.04 mit installiertem Paket network-manager in der Version 1.22.10-1ubuntu2.1 (ggf. auch anderen Versionen) noch nachbessern:
Entweder: Im Feld „Adresse“ manuell ein Netzwerk definieren, weil NetworkManager für IPv6 keine Vorgabe kennt. Dessen Präfix wird dann den Clients mitgeteilt und diese können sich per SLAAC selbst konfigurieren. Man kann einen Präfix aus dem ULA-Bereich
fd00::/8
(Unique Local Addresses) wählen oder einen Teilbereich aus dem von eigenen Internet-Provider zugewiesenen Kontingent. Mit ULA-Adressen kommt man aber nicht ins Internet. Als Netzmaske verwende man64
.Oder: Man ertüchtigt seine Router und den NetworkManager wie im Artikel Präfix-Delegation beschrieben.
Oder: Man aktualisiert das Paket auf die Version 1.22.10-1ubuntu2.2, welches bei Ubuntu ab 20.04.3 ausgeliefert wird.
Hinweis:
Unter Funknetzwerk kann man statt der Vorgabewerte für Band und Kanal auch selbst einen Kanal fest einstellen. Dies ist manchmal sogar erforderlich, weil die automatische Wahl bei überfülltem Funkbereich nicht immer funktioniert. Bei mancher Hardware scheint auch die Betriebsart AP nur im 2,4 GHz Band zu funktionieren, obwohl die Hardware in der Betriebsart Station auch im 5 GHz Band arbeitet. Informationen über die zulässigen Frequenzen findet man im Abschnitt Zusatzinformationen.
Wenn man selber die IP-Adressen für den downlink vergeben möchte, sollte man Adressen aus den privaten Bereichen verwenden, siehe z.B. Zusatzinformationen.
Je nach verwendeter Hardware für Hotspot und Gegenstelle funktionieren nicht alle Verschlüsselungsmethoden, in solchen Fällen muss man experimentieren.
Für IPv6 muss zusätzlich das Routing eingerichtet werden: Hierzu muss der Adressbereich für die Clients auf dem vorgeschalteten Router als Route mit dem freigebenden Rechner als Ziel definiert werden. Dies ist ggf. auf weiteren Routern zu wiederholen, bis zum und inkl. des eigenen Routers an der Grenze zum ISP.
Man beendet die Bearbeitung mit der Schaltfläche Speichern und schließt das Fenster mit dem Titel Netzwerkverbindungen.
Die neue Verbindung wird in der Regel vom NetworkManager sofort aktiviert. Wenn dies nicht erfolgt, kann man diesen Befehl verwenden:
nmcli connection up ICS-downlink-WLAN
Auf den Clients verbindet man sich ganz normal zum Funknetz UU und wählt als Konfigurationsmethode für das Netzwerk DHCP aus.
Freigabe via Ethernet¶
Man verwendet nm-connection-editor und arbeitet im Grunde genau wie für den Fall WiFi/WLAN bereits beschrieben, wählt aber als Verbindungstyp Ethernet aus und kümmert sich nicht um Funk und Sicherheit. Als Name für die Verbindung kann man z.B. ICS-downlink-Ethernet
verwenden.
Wenn man mehrere physische Ethernet-Schnittstellen als downlinks verwenden möchte, fasst man diese in einer Netzwerkbrücke zusammen und verwendet den Schnittstellennamen dieser Brücke.
Verbindungsprofil nach bearbeiten¶
Das mit den GUI-Werkzeugen erstellte Verbindungsprofil kann man natürlich als root
mit den im Artikel NetworkManager ohne GUI beschriebenen Methoden nachträglich bearbeiten. Die ist manchmal insbesondere zu Optimierung der Verschlüsselung sinnvoll. Ein nach diesem Artikel erstelltes Verbindungsprofil sieht z.B. so aus:
[connection] id=Hotspot uuid=6c02cd2c-1c17-4846-b55c-1cc87a160e23 type=wifi autoconnect=false interface-name=wlo1 permissions= timestamp=1626417137 [wifi] mac-address-blacklist= mode=ap seen-bssids=4A:55:B9:45:67:B9; ssid=UU [wifi-security] group=ccmp; key-mgmt=wpa-psk pairwise=ccmp; proto=rsn; psk=3334445556667 [ipv4] dns-search= method=shared [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto [proxy]
In dieser Datei sorgen die Einstellungen group=ccmp;
, pairwise=ccmp;
und proto=rsn;
für die empfehlenswerte Deaktivierung von TKIP und WPA in der Version 1.
Es funktioniert nicht!¶
Leider ist das manchmal so, obwohl man alles nach dieser Anleitung richtig gemacht hat. Bestimmte Geräte und Rechner können sich nicht mit dem WLAN-Hotspot verbinden, obwohl andere problemlos arbeiten. Diese Effekte sind abhängig von der Hardware und ggf. sogar von der Ubuntu-Version, wobei hier neuer nicht immer besser bedeutet. Beispielsweise konnte sich ein HP-Laptop mit WLAN-Hardware von Broadcom (BCM43228, 14e4:4359) zwar unter Ubuntu 18.04 problemlos zu einem von einem anderen HP-Laptop mit der WLAN-Hardware „Intel Corporation Wireless 7260 [8086:08b1]“ aufgespannten WLAN verbinden, jedoch nicht unter Ubuntu 20.04!
Zusatzinformationen¶
IP-Adressen in lokalen Netzwerken
Passwort und Empfehlungen für die Wahl eines sicheren Passwortes 🇩🇪
Links¶
Internetzugang, Internet und Netzwerk und Netzwerk – Übersichten zu verschiedenen Netzwerkthemen
WLAN – alles rund um Wireless LAN
Heimnetzwerk – Daten in einem LAN austauschen