diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-01-20 08:33:12 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-01-20 08:33:12 +0100 |
commit | 9fc5ccad7be53903f0ee582c43132e4062bf99ca (patch) | |
tree | 951f4b117422af2a6c550d356f09a3fcaf0e671e /sbin | |
parent | 8058427f19195932c661460434c7fc8a28dfb7b7 (diff) | |
download | itzks-systems-9fc5ccad7be53903f0ee582c43132e4062bf99ca.tar.gz itzks-systems-9fc5ccad7be53903f0ee582c43132e4062bf99ca.tar.bz2 itzks-systems-9fc5ccad7be53903f0ee582c43132e4062bf99ca.zip |
New script (for workstations): itzks-switch-to-systemd-networkd. Migrate ifupdown based systems to systemd-networkd.
Diffstat (limited to 'sbin')
-rwxr-xr-x | sbin/itzks-switch-to-systemd-networkd | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/sbin/itzks-switch-to-systemd-networkd b/sbin/itzks-switch-to-systemd-networkd new file mode 100755 index 0000000..99edc15 --- /dev/null +++ b/sbin/itzks-switch-to-systemd-networkd @@ -0,0 +1,71 @@ +#!/bin/bash + +# Copyright (C) 2015 by Mike Gabriel <mike.gabriel@it-zukunft-schule.de> + +# This script is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This script is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +WIFIDEV=${WIFIDEV:-wlan0} + +export DEBIAN_FRONTEND=noninteractive +apt-get remove -q -y --purge resolvconf + +systemctl disable NetworkManager +systemctl enable systemd-networkd.service +systemctl enable systemd-resolved.service +systemctl start systemd-resolved.service +rm /etc/resolv.conf +ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +cat > /etc/systemd/network/20-dhcp.network << EOF +[Match] +Name=eth* + +[Network] +DHCP=yes +EOF + +cat > /etc/systemd/network/21-dhcp-wireless.network << EOF +[Match] +Name=$WIFIDEV + +[Network] +DHCP=yes +EOF + +cat > /etc/systemd/system/wpa_supplicant@.service << EOF +[Unit] +Description=WPA supplicant daemon (interface-specific version) +Requires=sys-subsystem-net-devices-%i.device +After=sys-subsystem-net-devices-%i.device +Before=network.target +Wants=network.target + +# NetworkManager users will probably want the dbus version instead. + +[Service] +Type=simple +ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I + +[Install] +Alias=multi-user.target.wants/wpa_supplicant@%i.service +EOF + +touch /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf +chmod go-rwx /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf + +systemctl enable wpa_supplicant@$WIFIDEV.service +systemctl disable networking +systemctl disable wpa_supplicant.service |