ISDN-PPP starten/stoppen
Das folgende Script habe ich im Einsatz. Es kann in ein beliebiges
Verzeichnis abgelegt werden und sollte nur noch "executable" gesetzt werden.
Es kann dann durch isdnppp start die ISDN Verbidungen
freigeben, bzw. mit isdnppp stop diese wieder unterbinden. Ach
ja: Nur der Superuser, also "root", kann dieses Script sinnvoll ausfuehren!
#!/bin/bash
if [ "$1" = start ] ; then
if [ -f /var/lock/isdnppp_users ]; then
expr `cat /var/lock/isdnppp_users || echo "0"` + 1 > /var/lock/isdnppp_users;
else
echo "1" > /var/lock/isdnppp_users;
fi;
if [ -f /var/lock/isdnppp ] ; then
echo "already started at `cat /var/lock/isdnppp`"
echo -n "You are user #"
cat /var/lock/isdnppp_users
else
echo "Starting ISDN-PPP,"
echo -n "you are user #"
cat /var/lock/isdnppp_users
date > /var/lock/isdnppp
/sbin/route del default
/sbin/ipppd
/sbin/ifconfig ippp0 up
/sbin/route add default ippp0
/sbin/ipfwadm -F -p deny
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
fi
elif [ "$1" = stop ] ; then
expr `cat /var/lock/isdnppp_users || echo "1"` - 1 > /var/lock/isdnppp_users;
if [ `cat /var/lock/isdnppp_users || echo "0"` -le "0" ]; then
echo -n "No ISDN users left, "
echo "hanging up... "
/sbin/isdnctrl hangup ippp0
echo "OK"
echo -n "Bringing ippp0 down... "
/sbin/ifconfig ippp0 down
echo "OK"
/usr/bin/killall -KILL ipppd
/sbin/ipfwadm -F -p deny
/sbin/route add -net default gw 192.168.1.254
rm /var/lock/isdnppp
rm /var/lock/isdnppp_users
else
echo -n "Left ISDN connections: "
cat /var/lock/isdnppp_users;
fi
elif [ "$1" = "status" ] ; then
echo "There are currently" `cat /var/lock/isdnppp_users || echo "0"` "connections."
else
echo "usage: $0 {start|stop}"
fi
zurück