ip link show
、デフォルトですべてのインターフェースを表示します。 ip link show up
を使用します 実行中のインターフェイスのみを表示します。フィルターを使用して違いを取得できます。
リアルタイムで接続の状態に基づいてデフォルト ルートを更新するスクリプトを次に示します。 . (バックグラウンドで実行)複数のインターフェイスで動作します。優先度を /tmp/${iface}.metric
で定義します ファイルの場合、「最適な」接続されたインターフェイスがデフォルト トラフィックのルーティングに使用されます。
#!/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