From da903712955fb0d2a5e6b64a704910cd9fafb777 Mon Sep 17 00:00:00 2001 From: Laurent Ghigonis Date: Thu, 20 Jun 2013 18:15:43 +0200 Subject: tools: add nmcli-manage.sh - Set an interface as managed / unmanaged by Network Manager --- tools/nmcli-manage.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 tools/nmcli-manage.sh diff --git a/tools/nmcli-manage.sh b/tools/nmcli-manage.sh new file mode 100755 index 0000000..3d94e6e --- /dev/null +++ b/tools/nmcli-manage.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +# Set an interface as managed / unmanaged by Network Manager +# 2013 Laurent Ghigonis + +# /etc/NetworkManager/NetworkManager.conf +# [keyfile] +# unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4 + +NMCONF=/etc/NetworkManager/NetworkManager.conf +progname=`basename $0` + +usage() { + echo "usage: $progname set|unset|restart " + exit 1 +} + +if [ $# -eq 2 ]; then + action=$1 + iface=$2 + mac=`ifconfig -a |grep -A5 $iface |grep ether |head -n1 |awk '{print $2}'` + echo "Corresponding MAC : $mac" + [[ $mac = "" ]] && echo "empty MAC !" && exit 1 + grep "mac:$mac" $NMCONF >/dev/null + unmanaged=$? +fi + +case $action in +s|m|manage|set) + [[ $unmanaged -ne 0 ]] && echo "Already managed" && exit 1 + sudo sed -i s/"mac:fe:ff:ff:ff:ff:ff"// $NMCONF + ;; +u|unmanage|unset) + [[ $unmanaged -eq 0 ]] && echo "Already unmanaged" && exit 1 + sudo sed -i s/"\(unmanaged-devices=\)"/"\1mac:$mac;"/ $NMCONF + ;; +r|restart) + # done below + ;; +*) + echo $NMCONF + cat $NMCONF + exit 1 +esac + +sudo systemctl restart NetworkManager.service -- cgit v1.2.3-59-g8ed1b