Isso é o que eu encontrei em nmcli
man-pages. Eu não sei quais distribuições isso se aplica, mas estou usando Ubuntu 12.04 LTS
Isso marcará o dispositivo para desconectar o estado de modo que fique fora do controle do gerenciador de rede
nmcli dev disconnect iface eth0
Tudo bem, desde que eu não desconecte o cabo.
Você pode verificar o status do dispositivo com:
nmcli dev status
E as conexões atualmente ativas com:
nmcli con status
Eu criei este script de ajuda nm-manual-interface
#!/bin/bash
DEV=${1:-help}
shift
OPER=${1:-manual}
shift
if [ "$DEV" == "help" ]; then
echo -n "$0 "
cat <<'EOH';
<DEV> [manual|auto]
Change <DEV> to disconnected state for nm.
In short take manual control of <DEV>.
All changes are temporary.
Usage:
Change to manual:
EOH
echo $0 eth0 manual
echo
echo Change back to nm control:
echo $0 eth0 auto
echo
exit 1
fi
# store last uuid of device here
LASTUUIDFILE="/tmp/.nm-last-uuid-${DEV}"
if [ "$OPER" == "manual" ]; then
if [ -n "$DEV" ] ; then
UUIDNET=$(nmcli con status |grep "$DEV" | perl -anle 'print @F[1]')
if [ -n "$UUIDNET" ]; then
echo "$UUIDNET" > $LASTUUIDFILE
nmcli dev disconnect iface "$DEV"
fi
fi
fi
if [ "$OPER" == "auto" ]; then
if [ -f "$LASTUUIDFILE" ]; then
nmcli con up uuid $(cat "$LASTUUIDFILE") --nowait
rm "$LASTUUIDFILE"
else
echo No last-state uuid file for iface "$DEV"
fi
fi