HomeMain NavigationTux is watching you %)
Übersicht Suche History Versionen Kategorien E-Mail schreiben Hauptindex
Stichwortsuche in der SDB
Haben Sie z.B. ein Problem mit Ihrem Modem? Dann geben Sie bitte als Stichwort "Modem" ein.

* Support-Angebot
* Installationssupport
* Supportdatenbank (SDB)
* Hardwaredatenbank (CDB)
* Registrierung Ihres SuSE Linux
* Download
* Version zum Drucken

Powered by SuSE Linux
Linux is a registered
trademark of Linus Torvalds.
  

wvdial und dial-on-demand

o English

E-Mail Adresse:
Supportdatenbank (hoe_wv_dod_start)
Bezieht sich auf

SuSE Linux: Version 6.3

Anliegen:

Die Verbindung ins Internet soll automatisch aufgebaut werden, wenn z.B. mit Netscape eine externe URL angesprochen wird. Jene sollte dann auch nach einer voreingestellten Zeit, in der kein Datentransfer stattfindet (Ideletime), wieder abgebaut werden.

Vorgehen:

Ein Skript zur Steuerung

  • Loggen Sie sich als Benutzer root ein

  • Speichern Sie das unten stehende Skript in die Datei
    /sbin/init.d/wvdial.dod

  • Ändern Sie die Zugriffsrechte der Datei, um sie ausführbar zu machen:
    chmod 744 /sbin/init.d/wvdial.dod

  • Legen Sie noch folgenden Link an, um das Skript besser zu erreichen
    ln -s /sbin/init.d/wvdial.dod /sbin/wvdial.dod

  • Das Skript kann mit folgender Syntax aufgerufen werden:

    • 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
      Stoppt den bisherigen Daemon und startet einen neuen

    • wvdial.dod hangup
      Bricht die Verbindung manuell ab.
      Kann nur als Benutzer root ausgeführt werden.

    • wvdial.dod stop
      Stoppt den Daemon

  • Soll das Skript automatisch beim Booten gestartet werden legen Sie die entsprechenden Links an:
    • 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
Die Meldugen des Skripts und von 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.

Erweiterungen in der Konfigurationsdatei von wvdial

/etc/wvdail.conf kann um die folgenden Variablen erweitert werden:
  • Remote IP=nnn.nnn.nnn.nnn
    Legt die IP-Adresse des Server Ihres Providers fest. In den meisten Fällen (dynamische IP-Adressenvergabe) handelt es sich um eine Pseudo-Adresse, die beim eigentlichen Verbindungsaufbau automatisch ersetzt wird. Der voreingestellte Wert ist 192.168.99.99 und braucht in den meisten Fällen nicht überschrieben zu werden

  • Local IP=nnn.nnn.nnn.nnn
    Legt die IP-Adresse Ihres Rechners fest, die für die Internetverbindung per Modem benötigt wird.
    In den meisten Fällen (dynamische IP-Adressenvergabe) handelt es sich um eine Pseudo-Adresse, die beim eigentlichen Verbindungsaufbau automatisch ersetzt wird. Der voreingestellte Wert ist 192.168.99.1 und braucht in den meisten Fällen nicht überschrieben zu werden

  • Idle=n
    n Sekunden wird gewartet bis die Verbindung getrennt wird, wenn kein Datentransfer stattfindet. Voreingestellt sind 180 Sekunden

  • Defaultroute=yes|no
    Ist der Wert 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:
Stichwörter: MODEM, INTERNET, PPPD, WVDIAL, PROVIDER, DIALONDEMAND, DIAL-ON-DEMAND

Kategorien: Netzwerk

SDB-hoe_wv_dod_start, Copyright SuSE GmbH, Nürnberg, Germany - Version: 27. Oct 1999
SuSE GmbH - Zuletzt generiert: 06. Apr 2000 von shoelcker (sdb_gen 1.20.0)
suse_page_top
Page created by webmaster@suse.de