netctl
netctl ist ein Programm zur Konfiguration und Verwaltung von Netzwerkprofilen. Das bisher genutzte netcfg wird durch netctl ersetzt. Alle Installationen, die netcfg verwenden, sollten auf netctl umgestellt werden.
Installation
netctl ist in core
enthalten, und kann von dort mittels Pacman installiert werden. Das Installieren von netctl ersetzt netcfg.
pacman -S netctl
Es liegen Manpages in hoher Qualität vor. Nutzern wird daher vor dem Einsatz von netctl
die Lektüre dieser Manpages
empfohlen.
Konfiguration
Beispielkonfigurationen die den Nutzer bei der Konfiguration der Netzwerkverbindung unterstützen sind in /etc/netctl/examples/
zu finden. Um ein Beispielprofil zu nutzen kopiert man es einfach von /etc/netctl/examples/<profile>
nach /etc/netctl/<profile>
und passt es den eigenen Bedürfnissen an. Für wireless Einstellungen kann man mit wifi-menu -o
ein Profil in /etc/netctl/
erstellen.
Hat man das Profil bearbeitet, prüft man dessen Funktionalität indem man mittels netctl start <profile>
eine Verbindung herstellt.
Schlägt dieses Kommando fehl, nutzt man journalctl -xn
und netctl status <profile>
um eine Beschreibung des Problems zu erhalten. Nach dem Korrigieren der fehlerhaften Konfiguration erfolgt dann ein weiterer Test in beschriebener Art und Weise.
Startet das Profil fehlerfrei, kann man es aktivieren, indem man netctl enable <profile>
verwendet. Hiermit wird der entsprechende Symlink für das Profil erstellt, der dann von netctl-auto@<interface>.service
genutzt wird.
Der Service netctl-auto@<interface>.service
muss aktiviert werden damit automatische WLAN-Verbindungen beim Booten funktionieren. Besteht die Notwendigkeit ein gegenwärtig aktiviertes Profil zu ändern, muss man netctl reenable <profile>
absetzen, um die Änderungen wirksam zu machen.
Migration von netcfg zu netctl
netctl
legt Profile in /etc/netctl
ab, nicht in /etc/network.d
wie netcfg
.
Um von netcfg zu migrieren sind folgende Schritte nötig:
- Verschieben der Profile ins neue Verzeichnis.
- Variablen im Profil gemäss netctl.profile(5) umbenennen.
CONNECTION=
wird zum Beispiel zuConnection=
. - Bei Interface- und anderen Variablen die nicht zwingend Anführungszeichen benötigen, können sie entfernt werden.
netctl enable <profile>
für jedes Profil im alten NETWORKS array ausführen. 'last' funktioniert so nicht, siehe Manpage netctl.special(7).netctl list
/netctl start <profile>
anstelle von netcfg-menu verwenden. Wifi-menu bleibt verfügbar.
Passwort-Verschlüsselung (256-bit PSK)
Nutzer, die ihr Passwort nicht im Klartext speichern wollen, haben die Möglichkeit 256-bit-verschlüsseltes PSK zu generieren. Falls noch nicht geschehen, installiert man wpa_actiond, anschließend erstellt man das 256-bit-verschlüsselte PSK.
$ wpa_passphrase netzwerkname passphrase
network={ ssid="netzwerkname" #psk="passphrase" psk=64cf3ced850ecef391973esd1b301fc39437a6aa6c6a599d05354124578e04a }
In einem zweiten Terminalfenster kopiert man die Beispieldatei wireless-wpa
von /etc/netctl/examples
nach /etc/netctl
. Nun öffnet man mit einem Texteditor /etc/netctl/wireless-wpa
und fügt den Encrypted Pre-shared Key, der zuvor generiert wurde, in die Key
-Variable des Profils ein.
Am Ende sollte das network Profil wireless-wpa
mit dem 256-bit-verschlüsselten PSK wie folgt aussehen:
/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit Encrypted PSK' Interface=wlp2s2 Connection=wireless Security=wpa IP=dhcp ESSID=archlinux Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Sicherstellen, dass man die special non-quoted rules
für Key=
wie am Ende von netctl.profile(5) beschrieben verwendet.