ip link show
, zeigt standardmäßig alle Schnittstellen an, verwenden Sie ip link show up
um nur die laufenden Schnittstellen anzuzeigen. Sie könnten Filter verwenden, um den Unterschied zu ermitteln.
Hier ist mein Skript zum Aktualisieren von Standardrouten basierend auf dem Status der Verbindung in Echtzeit . (läuft im Hintergrund) funktioniert mit mehreren Schnittstellen, Prioritäten definiere ich im /tmp/${iface}.metric
-Dateien, wird die „am besten“ verbundene Schnittstelle verwendet, um den Standarddatenverkehr weiterzuleiten.
#!/bin/sh
/sbin/ip monitor link | while read -r line
do
iface=$(echo $line | sed -ne 's/[^ ]* \([^ ]*\): .* state \([^ ]*\).*/\1/p')
state=$(echo $line | sed -ne 's/[^ ]* \([^ ]*\): .* state \([^ ]*\).*/\2/p')
if [ "$iface" != "" ] ; then
echo "$iface is $state"
if [ -f /tmp/${iface}.metric ] ; then
echo "updating default route for ${iface}"
if [ "$state" = "DOWN" ] ; then
ip route del default dev "${iface}"
else
ip route add default dev "${iface}" metric `cat /tmp/${iface}.metric`
fi
fi
fi
done