Moin,
da bluelupo angefangen hat hier seine Netzwerk Umstellung auf systemd-networkd zu erklären, habe ich mich dazu auch entschlossen.
EDIT: dies ist eher für die, die:
1. keine Gui nutzen wollen
2. Neugierig sind
3. oder so wie ich, etwas spinnert sind
Für alle anderen:
4. Nutzt lieber nm oder conman
6. Ich habe Euch gewarnt
Als erstes möchte ich anfügen, dass alles was ich hier schreibe geklaut ist und zwar von folgenden Quellen:
https://www.joachim-breitner.de/blog/664-Switching_to_systemd-networkdhttp://beaveris.me/systemd-networkd-with-roaming/https://www.debinux.de/2014/12/debian-basics-mit-systemd/https://wiki.archlinux.org/index.php/Wireless_network_configuration#Part_II:_Wireless_managementhttps://blog.volcanis.me/2014/06/01/systemd-networkd/Ich gehe hier nur auf die wichtigsten Schritte ein funktionierendes wlan einzurichten ein, alles weitere ist in bluelupos Beitrag zu finden:
http://forum.siduction.org/index.php?topic=5570.0Alle Vorarbeiten wie das stoppen vom networking.service umbenennen der /e/n/i findet Ihr in jenem Beitrag,
auch das starten von networkd ist dort beschrieben.
Auch gehe ich davon aus, dass wpa_supplicant eingerichtet ist und funktioniert!
Auch nehme ich an, dass die Bezeichnung des wlan-interfaces wlan0 lautet, es kann aber auch jeden anderen Namen haben.
Ich werde dies mit <INTERFACE> bezeichnen wo es nötig ist.
Und ab geht es.
Altes entsorgen:
# systemctl stop networking.service
# mv /etc/network/interfaces /etc/network/interfaces.ORIG
# systemctl disable networking.service
Neues anlegen:
Im Verzeichnis /etc/systemd/system wird eine Datei namens network-wireless@.service erstellt.
# cat /etc/systemd/system/network-wireless@.service
[Unit]
Description=Wireless network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev %i up
ExecStart=/sbin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/wpa_supplicant-%i.conf
ExecStart=/sbin/dhclient %i
ExecStop=/sbin/ip link set dev %i down
[Install]
WantedBy=multi-user.target
Nun wird noch eine einfache config Datei in
/etc/systemd/network angelegt und zwar:
wlan.network, ich habe noch die Priorität gesetzt mit 10-wlan.network und 20-eth.network.
Also wir legen eine wlan.network mit folgendem Inhalt an. für statische ip-.adressen, schaut kurz in die howto's
[Match]
# Name=<INTERFACE>
Name=wlan0
[Network]
DHCP=yes
Hier einige Alternativen für die Section [Network]
## für DHCP
DHCP=ipv4
DHCP=ipv6
DHCP=both
## für statisches ein Beispiel
DNS=192.168.1.254
Address=192.168.1.87/24
Gateway=192.168.1.254
So nun bennen wir noch die /etc/wpa_wpa_supplicant/wpa_supplicant.conf um
# mv wpa_supplicant.conf wpa_supplicant-<INTERFACE>.conf
wobei bei mir <INTERFACE>==wlan0 ist.
Nun noch abschließend:
# rm /etc/resolv.conf
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
## wpa_suplicant.service wird in diesem Falle nicht gebraucht,
## da wpa_supplicant durch
## network-wireless@<INTERFACE>.service gestartet wird
# systemctl mask wpa_supplicant.service
# systemctl enable systemd-resolved
# systemctl enable systemd-networkd
# systemctl enable network-wireless@<INTERFACE>.service
# systemctl start systemd-networkd
# systemctl start systemd-resolved
# systemctl start network-wireless@<INTERFACE>.service
Sollte wieder erwarten das wlan mal nicht laufen so könnte ein
systemctl start network-wireless@<INTERFACE>.service
helfen.
So nun sollte alles laufen, vielleicht ist ein Neustart (systemctl reboot) nötig.
Gruß hendrikL
Ps:: Ach ja, der Nachteil, also wie soll ich es sagen, es gibt keine GUI dafür, jetzt ist es raus, puh
Neue Addressen müssen manuell eingetragen werden.
Oder auf jenem Wege:
wpa_passphrase <ESSID> <passphrase> >> wpa_supplicant-<INTERFACE>.conf
EDIT: stimmt hatte wpa_gui ganz vergessen, thx reinob
PPs.: Wenn dieser und bluelupos Betrag ins Englische von Jemanden der dieser Sprache gut mächtig ist Übersetzt würde, wäre ich und viele Andere sehr dankbar dafür, Danke!