34 lines
870 B
Bash
Executable File
34 lines
870 B
Bash
Executable File
#! /bin/bash
|
|
#
|
|
# Drops static routes which go through device $1
|
|
|
|
if [ -z "$1" ]; then
|
|
echo $"usage: ifdown-routes <net-device> [<nickname>]"
|
|
exit 1
|
|
fi
|
|
|
|
# The routes are actually dropped just by setting the link down, so nothing
|
|
# needs to be done
|
|
|
|
MATCH='^[[:space:]]*(\#.*)?$'
|
|
|
|
# Routing rules
|
|
FILES="/etc/sysconfig/network-scripts/rule-$1 /etc/sysconfig/network-scripts/rule6-$1"
|
|
if [ -n "$2" -a "$2" != "$1" ]; then
|
|
FILES="$FILES /etc/sysconfig/network-scripts/rule-$2 /etc/sysconfig/network-scripts/rule6-$2"
|
|
fi
|
|
|
|
for file in $FILES; do
|
|
if [ -f "$file" ]; then
|
|
proto=
|
|
if [ "$file" != "${file##*/rule6-}" ]; then
|
|
proto="-6"
|
|
fi
|
|
{ cat "$file" ; echo ; } | while read line; do
|
|
if [[ ! "$line" =~ $MATCH ]]; then
|
|
/sbin/ip $proto rule del $line
|
|
fi
|
|
done
|
|
fi
|
|
done
|