An unsere PPP-Konfiguration stellen wir eine spezielle Anforderung: Beim Wechsel vom Offline- in den Online-Betrieb muß die Konfiguration des httpd angepaßt werden. Dies geschieht, indem wir ein Skript namens ip-up schreiben, das vom pppd automatisch bei Zustandekommen der IP-Verbindung aufgerufen wird. Das Gegenstück dazu, ip-down, wird bei Abbruch der IP-Verbindung ausgeführt und stellt die Offline-Konfiguration wieder her.
Zuerst /etc/ppp/ip-up:
#!/bin/sh
#
# /etc/ppp/ip-up
#
#echo PPP established!
#echo Interfacename: $1
#echo Device: $2
#echo Speed: $3
#echo local IP-Adress: $4
#echo remote IP-Adress: $5Diese Parameter erhält das Skript.
/sbin/route add default gw $5
In Netzwerken ist die default-Route meist schon besetzt und der pppd ändert sie dann nicht - Folge: Kein Zugriff auf Rechner außerhalb des lokalen Netzes, trotz bestehender PPP-Verbindung.
kill `cat /var/run/httpd.pid`
Wir killen zuerst den aktuell laufenden httpd...
/usr/lib/httpd/httpd_3.0 -r /etc/httpd-online.conf
..und starten ihn mit der Online-Konfiguration neu.
/usr/sbin/named
Jetzt brauchen wir noch einen named für die DNS-Lookups...
cp /dev/null /etc/ppp/ppp.active
Das ist nur eine kleine Semaphore für meine angepassten uucpbatch-Skripte.
# jetzt werden alle uucp-batches weggeschickt...
/usr/etc/uucpbatch.pppIch benutze die aktive Verbindung gleich, um meine UUCP-Sachen loszuwerden. Aber Vorsicht: Dazu muß eine taylor-config für TCP gebastelt werden und einige Skripte müssen umgeschrieben werden! Außerdem sind sie sehr systemspezifisch. (/etc/ppp/uucpbatch.ppp ist das Erste und /etc/ppp/uucpbatch.new das Zweite.)
Jetzt noch /etc/ppp/ip-down:
#!/bin/sh
#
# /etc/ppp/ip-down
/sbin/route del default gw $5So, jetzt diese Default-Route zum PPP wieder weg. (Bei unserer Installation kann es mehrere Default-Routes geben, evtl. muß bei anderen Systemen die Default-Route hier wiederhergestellt werden)
kill `cat /var/run/httpd.pid`
Jetzt wird der httpd schon wieder gekillt...
/usr/lib/httpd/httpd_3.0 -r /etc/httpd-offline.conf
... um sogleich mit der Offline-Konfiguration wieder gestartet zu werden.
kill `cat /var/run/named.pid`
Den named brauchen wir nicht mehr.
rm /etc/ppp/ppp.active
Die Semaphore muß wieder weg!
if [ -f /etc/ppp/ppp.active.uucp ] ; then rm /etc/ppp/ppp.active.uucp ; fi
Und noch eine Semaphore ist im Weg. Sie zeigt an, daß wir eine aktive PPP-Verbindung haben, über die UUCP-Transfers gewünscht sind. In der crontab steht dann ein Eintrag, daß alle 10 Minuten ein Transfer durchgeführt wird, falls diese Semaphore existiert.
Das war's zu den Konfigs.
Die Skripte /etc/ppp/ppp-up und /etc/ppp/ppp-down ergänzen das Ganze und dienen zum Auf- und Abbau der Internet-Verbindung.