wvdial
und dial-on-demand
Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
English
wvdial
und dial-on-demand
SuSE Linux: Version 6.3
Netscape
eine externe URL
angesprochen wird.
Jene sollte dann auch nach einer voreingestellten Zeit,
in der kein Datentransfer stattfindet (Ideletime), wieder abgebaut
werden.
root
ein
/sbin/init.d/wvdial.dod
chmod 744 /sbin/init.d/wvdial.dod
ln -s /sbin/init.d/wvdial.dod /sbin/wvdial.dod
wvdial.dod start [subsection ...]
subsection ist der Name eines Abschnittes für einen speziellen Provider. Diese Angabe ist optional. Es stehen noch weitere Informationen zum Thema mehrere Provider nutzen zur Verfügung.
Der pppd
-Daemon wird installiert, der "bei Bedarf" mit
wvdial
die Verbindung aufbaut und nach einer
festgelegten Zeit, in der keine Aktivitäten über das Internet
stattfinden, wieder abbaut.
Auch wenn das Skript nur als Benutzer root
zu starten
und zu stoppen ist, kann die Internetverbindung von jedem Benutzer
verwendet werden.
wvdial.dod restart
wvdial.dod hangup
root
ausgeführt werden.
wvdial.dod stop
ln -s /sbin/init.d/wvdial.dod /sbin/init.d/rc2.d/S20wvdial.dod
ln -s /sbin/init.d/wvdial.dod /sbin/init.d/rc3.d/S20wvdial.dod
ln -s /sbin/init.d/wvdial.dod /sbin/init.d/rc2.d/K20wvdial.dod
ln -s /sbin/init.d/wvdial.dod /sbin/init.d/rc3.d/K20wvdial.dod
wvdial
finden Sie in der
Datei /var/log/messages
.
Sie können diese z.B. mit dem Befehl
tail -nxx /var/log/messages
ansehen. xx ist dabei die Anzahl von Zeilen, die Sie sehen
möchten.
wvdial
Remote IP=nnn.nnn.nnn.nnn
Local IP=nnn.nnn.nnn.nnn
Idle=n
Defaultroute=yes|no
yes
, fungiert die PPP-Verbindung als
Gateway und alle Anfragen an entfernte Rechner, werden über diese
Verbindung geleitet. Dies ist der voreingestellte Wert.
Wichtig:
In der Datei /etc/wvdail.conf
dürfen bei der Verwendung
von /sbin/init.d/wvdial.dod
keine Kommentare (beginnend
mit ;) enthalten sein.
#! /bin/bash # # Copyright (c) 1999 SuSE GmbH Nuernberg, Germany. All rights reserved. # # # parameters # start section section section # restart section section section # start or restart the daemon with parameters found in /etc/wvdial.conf # section is the name of a section in the /etc/wvdial.conf file # (see man wvdial) # stop # stop the pppd # hangup # hang up the telephone line# additional Parameters in /etc/wvdial.conf could be # Idle: sets the idle-time for waiting before hang up (deafult 180s) # Remote IP: remote IP-address (default 192.168.99.99) # Local IP: local IP-address (default 192.168.99.1) # Defaultroute: no: pppd will not set the default route to the remote ip # (default yes)
function log() { # logs the messages to system log HEAD=$0[$$] echo $MESSAGE logger -t $HEAD "$MESSAGE" }
function setpppdparam() { # time to sleep for pppd to come up WAITFORPPPD=2 CONFFILE="/etc/wvdial.conf" TMPFILE="/tmp/wvdial.dod.tmp" # extract subsection cat /etc/wvdial.conf | sed -n "/Dialer.*$SECTION/{:x;p;n;/Dialer/q;bx}" > $TMPFILE VALUE=`cat $TMPFILE | grep "Modem" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Modem=$VALUE; fi VALUE=`cat $TMPFILE | grep "Baud" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Baud=$VALUE; fi VALUE=`cat $TMPFILE | grep "Username" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Username=$VALUE; fi VALUE=`cat $TMPFILE | grep "Remote IP" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Remote_IP=$VALUE; fi VALUE=`cat $TMPFILE | grep "Local IP" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Local_IP=$VALUE; fi VALUE=`cat $TMPFILE | grep "Idle" | cut -f2 -d"="` if [ ! -z "$VALUE" ]; then Idle=$VALUE; fi VALUE=`cat $TMPFILE | grep "Defaultroute" | cut -f2 -d"="` if [ X$VALUE = XNo -o X$VALUE = XNO -o X$VALUE = Xno ]; \ then DEFAULTROUTE="nodefaultroute"; fi rm -f $TMPFILE }
function killpppd() { if [ -e $PIDFILE ]; then MESSAGE="killing pppd process " PID=`cat $PIDFILE` MESSAGE=$MESSAGE"PID=$PID" log kill -15 $PID 2>/dev/null #kill -9 $PID 2>/dev/null rm $PIDFILE fi }
function startpppd() { # set defaults, no defaults for # Username, Modem, Baud Local_IP="192.168.99.1" Remote_IP="192.168.99.99" Idle=180 DEFAULTROUTE="defaultroute"
# get params from section "Dialer Default" SECTION=Defaults setpppdparam
# parse given section ([Dailer xxx]) parameters while [ ! -z $1 ]; do SECTION=$1 setpppdparam shift done
# start pppd in demand mode PPPPDPARAMS="$Local_IP:$Remote_IP $Modem $Baud modem crtscts $DEFAULTROUTE -detach user $Username ipcp-accept-local ipcp-accept-remote call wvdial demand idle $Idle" MESSAGE="starting pppd $PPPPDPARAMS connect \"/usr/bin/wvdial --chat $WVPARAMS\"... " pppd $PPPPDPARAMS connect "/usr/bin/wvdial --chat $WVPARAMS" &>/dev/null & PPPDPID=$! echo $PPPDPID > $PIDFILE MESSAGE=$MESSAGE"PID=$PPPDPID" log # setting dynamic - parameter for ppp - device
# waiting pppd to come up sleep $WAITFORPPPD ls /var/run/ppp?.pid | while read PIDFILE ; do if [ X$PPPDPID = X`cat $PIDFILE` ]; then DEVICE=`echo $PIDFILE | cut -c 10-13` MESSAGE="setting $DEVICE dynamic " ifconfig $DEVICE dynamic ifconfig $DEVICE | grep "DYNAMIC" -q RES=$? if [ $RES -gt 0 ]; then MESSAGE=$MESSAGE"failed" exit 1 fi MESSAGE=$MESSAGE"done" log fi done exit 0 }
# main LINKNAME=dod PIDFILE=/var/run/pppd.$LINKNAME.pid ACTION=$1 shift WVPARAMS=$@
case "$ACTION" in start) # make sure to start even when uncleanly stopped killpppd netstat --inet -p startpppd $@ netstat --inet -p ;; stop) # handle stop killpppd exit 0 ;; reload|restart) killpppd startpppd $@ ;; hangup) if [ -e $PIDFILE ]; then MESSAGE="hangup pppd connection " PID=`cat $PIDFILE` MESSAGE=$MESSAGE"PID=$PID" log kill -SIGHUP $PID #2>/dev/null exit 0 fi MESSAGE="no pppd connection" log exit 1 ;; # status) # ;; *) echo "Usage: /sbin/init.d/wvdial.dod {start [section [section [..]]]|hangup|stop|restart}" exit 1 ;; esac
Siehe auch:
wvdial
mit mehreren Providern nutzenwvdial
und dial-on-demand
Stichwörter: MODEM, INTERNET, PPPD, WVDIAL, PROVIDER, DIALONDEMAND, DIAL-ON-DEMAND
Kategorien:
Netzwerk
Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
English