Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Verbindungssteuerung

Analog-Modem ] ISDN ] DSL ] [ Verbindungssteuerung ]


Diese Seite ist als Ergänzung zu den vorangegangenen Seiten dieses Kapitels zu sehen, es werden hier vor allem Dinge bezüglich der Verbindungssteuerung der zuvor drei vorgestellten Internet-Zugangsmöglichkeiten gegeben.

Verbindungssteuerung als Benutzer

Um anderen Benutzern außer 'root' die Verbindungssteuerung zu gestatten, müssen diese Benutzer in die Gruppen 'dip' und 'dialout' aufgenommen werden. Das Aufnehmen in den Gruppen kann z.B. wie folgt geschehen:

adduser dip <username>
adduser dialout <username>

Danach kann der Benutzer die für die Verbindungssteuerung nötigen Tools wie: 'pon' 'poff' oder 'isdnctrl' benutzen.

'Dial-on-Demand'

'Dial-on-Demand' bedeutet, dass eine Verbindung automatisch aufgebaut wird, sobald eine Anfrage in das Internet geht. Nach einer voreingestellten Zeit, in der die Verbindung nicht genutzt wird (Idle-Time), wird die Verbindung wieder getrennt. Da bei ISDN- und DSL-Verbindungen der Verbindungsaufbau sehr schnell abläuft, entsteht der Eindruck einer Standleitung. Gerade bei Zugängen, die nach Zeit abgerechnet werden, ist das eine sinnvolle Maßnahme.

'Dial-on-Demand' mit Modem

Am bequemsten lässt sich 'Dial-on-Demand' mittels des schon vorgestellten Konfigurationsprogramm 'pppconfig' einstellen. Dazu ist das Programm zu starten, mit 'Change Eine Verbindung ändern' ist zunächst die zu ändernde Verbindung auszuwählen. Im Punkt 'Advanced Erweiterte Optionen' können dann die Änderungen vorgenommen werden, dazu ist die Einstellung 'Demand' auf 'enabled' zu setzen. Weiterhin ist im Punkt 'Idle-timeout' ein Wert in Sekunden anzugeben, nachdem die Verbindung bei Nichtbenutzung ausgelöst werden soll.
Alternativ können die Änderungen für 'Dial-on-Demand' auch direkt in der Konfigurationsdatei für den Provider, die unter '/etc/ppp/peers' stehen sollte, eingebracht werden:

/etc/ppp/peers/arcor

hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/arcor"
debug
/dev/ttyS1
115200
defaultroute
noipdefault
user "arcor"
remotename arcor
ipparam arcor
usepeerdns
demand
idle 300

Nach der Konfiguration kann mittels 'pon <provider>' die Änderungen aktiviert werden, bei einem Zugriff auf eine Internet-Adresse sollte nun die Verbindung aufgebaut werden, und nach Nichtbenutzung des Zugangs und einer idle-Zeit (in diesem Bsp. 5 Minuten) wieder abgebaut werden.

'Dial-on-Demand' mit ISDN

Bei einen ISDN-Zugang reicht es aus, mittels des Kontrollkommandos 'isdnctrl' das Feature 'Dial-on-Demand' zu aktivieren:

isdnctrl dialmode ippp0 auto

Soll das Feature dauerhaft aktiviert sein, so ist dieses in der Konfigurationsdatei z.B. '/etc/isdn/device.ippp0' zu berücksichtigen. Dazu ist der Parameter 'DIALMODE' auf 'auto' zu setzen (vgl. Kapitel: ISDN). Die idle-Zeit ist in der Datei: '/etc/isdn/ipppd.ippp0' festzulegen (z.B. 'idle 120' für zwei Minuten).

'Dial-on-Demand' mit DSL

Bei einem DSL-Zugang sind die Einstellungen in der Datei '/etc/ppp/peers/dsl-provider' zu erledigen. Dazu ist genau wie beim Modem-Zugang die Parameter 'demand' und 'idle' zu setzen:

Auszug aus: /etc/ppp/peers/dsl-provider (ca. Zeile: 51)

...

##
# Section 2
#
# Uncomment if your DSL provider charges by minute connected
# and you want to use demand-dialing.
#
# Disconnect after 300 seconds (5 minutes) of idle time.

demand
idle 300

...

In der von 'pppoeconf' angelegten Datei '/etc/ppp/peers/dsl-provider', sind die entsprechenden Parameter in der 'Section 2' zu finden.

Ausführen von Skripten beim Auf-/Abbau der Verbindung

Manchmal ist es notwendig oder wünschenswert beim Auf-/Abbau der Verbindung eigene Skripte ausführen zu lassen, z.B. um bestimmte Informationen in eine log-Datei einfließen zu lassen oder um einen einfachen Pieps-Ton ausgeben zu lassen. Unter Debian können solche Skripte in den Verzeichnissen '/etc/ppp/ip-up.d' und '/etc/ppp/ip-down.d' abgelegt werden. Dabei werden die Skripte unter '/etc/ppp/ip-up.d' beim Verbindungsaufbau und die Skripte unter '/etc/ppp/ip-up.d' beim Abbau ausgeführt. Hier ein Beispiel-Skript welches bei Verbindungsaufbau einen simplen Pieps-Ton erzeugt:

/etc/ppp/ip-up.d/beep

#!/bin/sh

echo -e "\007" 1>/dev/tty10 2>/dev/tty10

Nach dem Erstellen des Skriptes ist diese mit ausführbaren Rechten ('chmod 755 /etc/ppp/ip-up.d/beep') zu versehen.

Anmerkungen

Eine Alternative der Verbindungssteuerung als Benutzer, wie oben beschrieben, kann mit dem 'sudo'-Kommando erzielt werden. Dazu ist zunächst das Programm 'sudo' mit 'apt-get install sudo' zu installieren. 'sudo' ist ein Programm, das es normalen Benutzern erlaubt, einige Kommandos als 'root' auszuführen. Damit nun Shell-Scripte mit root-Rechten abgearbeitet werden, muss folgender Block am Anfang des jeweiligen Skriptes eingefügt werden:

Auszug aus: /sbin/any_shell_script.sh

...

# if sudo avaible and UID not equal zero then exec the script with sudo
if test -x /usr/bin/sudo; then
        if test $UID -ne 0 then
                /usr/bin/sudo $0 $*
        fi
fi


...

Der Block prüft zunächst ob 'sudo' installiert ist und ob des von einen nicht-root-Benutzer aufgerufen wird. Anschließend wird 'sudo' versuchen das Skript als 'root' auszuführen.
Des weiteren ist die Konfigurationsdatei für '/etc/sudoers' zu bearbeiten. Die Konfigurationsdatei bestimmt, welche Benutzer Zugriff auf 'sudo' haben und welche Kommandos sie ausführen dürfen. Zum Bearbeiten der Konfigurationsdatei sollte nur der vi-ähnliche Editor 'visudo' verwendet werden.
Das folgende Listing zeigt eine Erweiterung der sudo-Konfigurationsdatei:

/etc/sudoers

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
norbert ALL=NOPASSWD:/sbin/any_shell_script
linux   ALL=NOPASSWD:
/sbin/any_shell_script

Die beiden markierten Zeilen erlauben den Benutzern 'norbert' und 'linux' das Skript '/sbin/any_shell_script' als Benutzer 'root' ohne Passwort auszuführen.

Weitere Infos

Modem-HOWTO http://www.tldp.org/HOWTO/Modem-HOWTO.html
Homepage: ISDN4Linux http://www.isdn4linux.de/
DSL HOWTO for Linux http://www.tldp.org/HOWTO/DSL-HOWTO/
Manualseiten zu: pppd; pppconfig man pppd; man pppconfig
Manualseiten zu: wvdial; wvdial.conf man wvdial; man wvdial.conf
Manualseiten zu: isdnctrl man isdnctrl
Manualseiten zu: pppoe; pppd man pppoe; man pppd
Manualseiten zu: sudo; visudo man sudo; man visudo
System-Dokumentation: sudo /usr/share/doc/sudo

Home ] Nach oben ] Analog-Modem ] ISDN ] DSL ] [ Verbindungssteuerung ]

letzte Änderung: 02. Oktober 2006

 

Copyright © 2004 Norbert Eusterholz