#!/bin/bash ################################################################# ### bash <(curl -fsSL https://raw.lhy.life/systemd-networkd.sh) [dhcp] ################################################################# IFACE=$(ip route | awk '/default/ {print $5}') IP_ADDR=$(ip -4 addr show "$IFACE" | awk '/inet / {print $2}') GATEWAY=$(ip route | awk '/default/ {print $3}') MAC_ADDR=$(cat /sys/class/net/"$IFACE"/address) if [ "$#" -gt 0 ] then cat << EOF > /etc/systemd/network/10-nic0.network [Match] MACAddress=$MAC_ADDR Type=ether [Link] RequiredForOnline=yes [Network] DHCP=ipv4 LinkLocalAddressing=no [DHCPv4] UseDNS=false UseRoutes=false UseGateway=true EOF else cat << EOF > /etc/systemd/network/10-nic0.network [Match] MACAddress=$MAC_ADDR Type=ether [Link] RequiredForOnline=yes [Network] Address=$IP_ADDR Gateway=$GATEWAY LinkLocalAddressing=no EOF fi systemctl disable networking.service systemctl enable systemd-networkd.service mv /etc/network/interfaces /etc/network/interfaces1.bak cat /etc/systemd/network/10-nic0.network ## apt purge dhcpcd-base* isc-dhcp* -y ## apt autopurge echo '✅ set dns server:' echo 'echo "nameserver 1.1.1.1" > /etc/resolv.conf' echo '✅ reboot or systemctl restart systemd-networkd'