Jens Puruckherr wrote:
Hi,
Wenn ich mich in den Firmenserver von to hus einwähle(via ippp1), dann setzt mir der Schelm imme eine neue Defaultroute:
Das kenn ich irgendwie. Ist das eine SuSE? Es liegt nicht an der options.ippp1 Ich hab dazu das ip-up-Skript umgestellt. (Siehe Anhang) Ich habe hier eine Providerverbindung (default) und mehrere Routen zu anderen Subnetzen. Damit funzt auch eine Verbindung zwischen zwei Rechnern hinter den Routern.
Das war auf einer SuSE 5.x, also nur die relevanten Zeilen uebernehmen. Das ganze Skript wird unter einer aktuellen Version nicht richtig laufen. Kommentare stehen drin.
Rico
#!/bin/sh
# (c) '97, S.u.S.E. GmbH, Fuerth, Germany # Klaus Franken kfr@suse.de # 25.02.98 # # Remo Behn sray@suse.de # 18.07.98
BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5
# hab ich zusaetzlich eingetragen ROUTETAB="/etc/route.conf"
if [ -z "$REMOTEIP" ]; then echo "Usage: $0 <INTERFACE> <DEVICE> <SPEED> <LOCALIP> <REMOTEIP>" exit 1 fi
case "$INTERFACE" in ippp*)
. /etc/rc.config
# find the device found=0 for I in $NETCONFIG; do eval NETDEV=$NETDEV$I if [ $NETDEV = $INTERFACE ]; then found=1 break; fi done if [ $found -eq 0 ]; then echo "Device '$INTERFACE' not configured in '/etc/rc.config'" exit 1 fi
eval IFCONFIG=$IFCONFIG$I DEST=`grep -v "^#" "$ROUTETAB" | grep "$INTERFACE$" | awk '{ print $1}'` DEFAULT=`grep -v "^#" "$ROUTETAB" | grep default | awk '{ print $2}'`
# ippp* zur defaultroute suchen DEFIFACE=`grep -v "#" "$ROUTETAB" | grep "$DEFAULT" | awk '{ print $4}'`
case "$BASENAME" in ip-up) # ... # nur bei defaultroute - also Providerinterface: if [ $INTERFACE = "$DEFIFACE" ]; then /sbin/route add default gw $REMOTEIP dev $INTERFACE # echo "$DEFIFACE detected - defaultroute modified" >>/var/log/ip-up.log # Zeitsynchronisation /usr/sbin/netdate -v wrzx03.rz.uni-wuerzburg.de /sbin/clock -wu fi
;; ip-down) # restart interface /sbin/ifconfig $INTERFACE down # workaround due to kernel problem with 'kernd': sleep 1 /sbin/ifconfig $INTERFACE $IFCONFIG
# set routes from $ROUTETAB (i.E. /etc/route.conf) test -z "$DEST" || /sbin/route add -host $DEST dev $INTERFACE
# hier dasselbe Spiel beim ruecksetzen, damit nicht die Provider-Route # gekillt wird, wenn eine 2. Verbindung parallel auf/abgebaut wird if [ $INTERFACE = "$DEFIFACE" ]; then # set default route if shuting down default interface test -z "$DEFAULT" || /sbin/route add default gw $DEFAULT # echo "$DEFIFACE detected - defaultroute restored" >>/var/log/ip-up.log else # set net routes from $ROUTETAB for $INTERFACE
# achso, das ist fuer zusaetzlich vorhandene Netzrouten # ich verbinde hier komplette Subnetze
NETROUTES=`grep -v "#" "$ROUTETAB" | grep "$DEST" | awk '{print $1}' | grep -v "$DEST"` for I in $NETROUTES; do /sbin/route add -net $I gw $DEST # echo "Net-Route: $I restored" >>/var/log/ip-up.log done fi ;; *) ;; esac ;;
ppp*) # Analog-PPP, add commands if you need... ;; *) # dont know... ;; esac