mirror of
https://abf.rosa.ru/djam/dhcp.git
synced 2025-02-23 13:32:48 +00:00
33 lines
1.3 KiB
Bash
33 lines
1.3 KiB
Bash
#!/bin/bash
|
|
#
|
|
# This script contains hooks that will be executed when
|
|
# dhclient exits.
|
|
#
|
|
|
|
# process static route requests
|
|
if [ x"$new_rfc3442_classless_static_routes" != x"" ]; then
|
|
if [ x"$reason" == x"BOUND" -o x"$reason" == x"REBOOT" ]; then
|
|
rfc_routes=($new_rfc3442_classless_static_routes)
|
|
for(( i=0; i < ${#rfc_routes[@]}; )); do
|
|
net_length=${rfc_routes[$i]}
|
|
((i++))
|
|
net_address=(0 0 0 0)
|
|
for(( j=0; j < $[$net_length / 8 + \
|
|
($net_length % 8 ? 1 : 0)]; j++, i++)); do
|
|
net_address[$j]=${rfc_routes[$i]}
|
|
done
|
|
gateway=(0 0 0 0)
|
|
for (( j=0; j < 4; j++, i++ )); do
|
|
gateway[$j]=${rfc_routes[$i]}
|
|
done
|
|
old_IFS="$IFS"
|
|
IFS='.'
|
|
if [ x"$net_length" == x"32" ]; then
|
|
/sbin/route add -host "${net_address[*]}" gw "${gateway[*]}"
|
|
else
|
|
/sbin/route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}"
|
|
fi
|
|
IFS="$old_IFS"
|
|
done
|
|
fi
|
|
fi
|