¿Cómo desactivar todos los dispositivos de Internet excepto el especificado?

¿Cómo desactivar todos los dispositivos de Internet excepto el especificado?

Estoy buscando una manera de desactivar todos los demás dispositivos excepto el indicado.

Creo que sería similar a buscar la salida de ifconfig para luego extraer todos los nombres de los dispositivos excepto el especificado y luego usar esos nombres como entrada para un ifconfig $DEV downcomando.

Respuesta1

Está ifconfigen desuso, utilícelo ipen su lugar.

Puede utilizar este sencillo script:

#!/bin/bash

if [ -z "$1" ]
then
        echo "Device parameter missing!"
        exit 1
fi

devices=`ip a | grep UP | cut -d " " -f2 | tr -d ":" | grep -v "lo" | grep -v "$1"`

for dev in $devices
do      
        ifdown $dev
done

Se llama como:

./script.sh <device>

Por ejemplo con eth0:

./script.sh eth0

Si se llama sin parámetro, informa Device parameter missing!.

información relacionada