Das 'Schulscript' für IPRoute

Willkommen beim BUNTSPECHT

Das 'Schulscript' für IPRoute

von Arno Pasternak, Hagen


(Stand: 6.4.1998)

IPRoute als Router für ein IP-Netzwerk ist eine sehr guenstige (ca. 100 DM) und ressourcenschonende Lösung (läuft auf jedem 80286-Rechner) für Schulen, die an das Internet angeschlossen werden möchten. Dies kann als Ergänzung zu einem Komunikationsserver wie NOS-BOX geschehen (,der keine sogenannte dynamische Adreßumsetzung versteht), um das Intranet ans Internet anzuschließen oder auch ausschließlich zum Anschluß eines lokalen Netzes an das Internet, wenn die Installation eines Intranetservers aus Organisations-, Administrations oder auch persönlichen Gründen nicht gewünscht wird. Dann ist zumindest mithilfe des Routers das Arbeiten z.B. mit dem WEB möglich. Ein Admininstration und Wartung entfällt praktisch. Für viele Schulen ist das wahrscheinlich die praktikabelste Lösung.

In jeder Schule spielen Kosten eine entscheidende Größe. Daher muß natürlich gesichert werden, daß nicht jedermann zu jeder beliebigen Zeit über den Router das Internet erreicht und damit die Telefonkosten nach oben teibt. Die einfachste Lösung ist, den Rechner mit dem Router von autorisierten Personen in einem abgeschlossenen Raum an- und auszuschalten. Nur im richtigen Moment sind natürlich diese Personen nicht greifbar. Ist allerdings ein Fileserver wie z.B. ein Novell-Server vorhanden, läßt sich dieses Einschalten von der Hardware auf die Software verlagern.

Das unten abgedruckte Sript verhält sich folgendermaßen: Ist der Router mit IPR INTERN1x.IPR gestartet, wartet der Router auf ein ankommendes IP-Paket. Kommt eines, so wird über das Modem die Verbindung aufgebaut. Erst jetzt fallen Telefonkosten an. Wenn im Verlauf der Arbeit 60 Skunden kein IP-Verkehr stattfindet, wird die Verbindung abgebaut und der Router beendet die Arbeit. Kommt allerdings nach dem Start des Routers kein Paket innerhalb von 30 Sekunden an, wird das Programm ebenso beendet und muß neu gestartet werden. Anders ausgedrückt: Der Router beendet sehr oft seine Arbeit und muß neu gestartet werden. Dies scheint unsinnig zu sein, denn keiner will und soll neben dem Router stehen.

Soll auch keiner! Das Ganze macht nur Sinn, wenn der Aufruf des Routers in einer Schleife in einer Batchdatei wie unten angegeben (IPRSTART.BAT) stattfindet. In dieser Batchdatei wird nach der Existenz einer Datei auf dem Fileserver gefragt. Ist diese vorhanden, wird der Router gestartet, sonst nicht. Diese Datei kann von den Berechtigten im Vorfeld der Stunde oder der Unterrichts-Einheit angelegt worden sein, sodaß die Arbeit im Unterricht stattfinden kann. Ebenso könnte ein Script auf dem dem Server oder ein Progamm auf dem Schüler-/Lehrerrechner gestartet werden, daß nach Eingabe eines Paßwortes diese Datei erzeugt bzw. wieder löscht.

Ein mit diesem Script arbeitender Router wird die berechtigten Ängste von Schulleitungen mildern können, mit der Internet-Nutzung ein unkalkulierbares Risiko bezüglich der Telefonkosten einzugehen.

Es versteht sich von selbst, dass der Router nicht von Unbefugten bedient werden darf, da in den Skripten auch der Zugangsaccount und das Passwort beim Provider enthalten sind. Diese gehören nicht in die Hände von Unbefugten!

Und was ist mit ISDN?

Das unten angegebene Script arbeitet nur mit einem Modem zusammen. Dieses wird von IPRoute wie oben beschrieben zeitlich überwacht. Wird IPRoute z.B. mit ISPA an eine ISDN-Karte geknüpft, so 'meint' IPRoute, daß eine weitere 'normale' Netzwerkkarte im System ist, die nicht überwacht werden muß.

Die Möglichkeit, die ISDN-Karte mit CFOS als Ersatzmodem zu betreiben, klappt nicht, da IPRoute CFOS ignoriert (zumindest ist mir noch nicht geglückt, die beiden Programme zusammenarbeiten zu lassen).

In einer aktuellen Zeitschriftenveröffentlichung (PC-Online 4/98) wird angedeutet, dass die AVM-Fritz-ISDN-Karte (zumindest in der PCI-Version)nicht mir CFOS zusammenarbeitet. Mit einer Fritz-Karte (allerdings ISA-Version) habe ich meine Experimente durchgeführt. Es kann also durchaus sein, dass IPRoute mit CFOS bei anderen ISDN-Karten zusammenarbeiten kann. Zu berüksichtigen ist aber, dass dann eine Reihe von Programmen zusammenarbeiten muss (IPRoute, CFOS, CAPI). Dies fuehrt natüerlich zu einer höheren Belastung des Routers und führt zumindest bei einem älteren Computer mit 640 KB zumindest zu Speicherplatzproblemen, wenn noch zusätzlich die Einbindung in ein Novell-Netz wie hier dargestellt, durchgeführt werden soll.

Es bleibt daher 'nur' die Möglichkeit, einen externen ISDN-Adapter zu verwenden, der als eigenständiges Hardwareteil wie ein Modem vom Computer angesehen wird.
Dieses habe ich inzwischen getestet und diese Variante funktioniert problemlos. Bei dem Anschluss eines solchen Adapters ist zu beachten, dass im Skript das ISDN-Protokoll angegeben werden muss. Leider ist das ISDN-System nicht so einfach strukturiert wie die Arbeit mit einem Modem. Es gibt eine Unzahl von unterschiedlichen Protokollen, deren Sinn aus meiner Sicht sehr zweifelhaft sind. Ebenso sollte dem Router im Skript mitgeteilt werden, welche Telefonnummer der drei oder mehr möglichen Telefonnummern des ISDN-Anschlusses dem TA zugeordnet ist. Ansonsten versucht der ISDN-Adapter auf alle einkommenden Anrufe zu reagieren, was er ja i.a. garnicht soll.

Da diese Angaben für den ISDN-Adapter in einem erweiterten AT-Befehlssatz mitgeteilt werden, ist die Konfiguration bei Kenntnis der spezifischen Befehle relativ einfach. Leider sind diese zusätzlichen AT-Befehle nicht genormt, sodass praktisch jeder Terminaladapter ein anderes Skript benötigt.
Leider gibt es bisher keine Einsteckkarte mit diesen Eigenschaften. Diese wäre sicher noch einige Mark billiger als ein externes Gerät, da zumindest Gehäuse und Netzteil nicht mehr nötig wären. Ebenso entfällt dann die (wahrscheinlich) notwendige Anschaffung einer schnellen seriellen Karte, da gerade die älteren Computer, die wir hier ja für diese Zwecke verwenden wollen, meistens über eine zu langsame serielle Schnittstelle verfügen. (Eine solche schnelle serielle Karte kostet ca. 60,-- DM.

Ansonsten ist mit wenigen Handgriffen und wenigen Softwareänderungen dieser Router f&uer ISDN und analoge Anschlüsse zu verwenden.

.

Ich habe diese Lösung mit den ISDN-Terminaladaptern der Firma EEH Datalink aus Radevormwald und der Firma 3Com-US-Robotics getestet. (Den beiden Firmen sage ich ein Herzliches Dankeschön für das zeitweilige Überlassen der entsprechenden Terminal-Adapter.) Dabei zeigte sich, dass sowohl der externe TA von US-Robotics als auch der externe TA ELINK 310 von EEH Datalink mit dem V120-Protokoll (wird u.a. von WinShuttle verwendet) als auch mit dem HDLC-Protokoll (das u.a. vom Internett-Verein Hagen verwendet wird) problemlos mit dem entsprechenden Provider zusammenarbeitet.
Das preiswerte Einsteigerprodukt von EEH Datalink ELINK V64 arbeitet problemlos mit dem V120-Protokoll, liess sich aber mit dem HDLC-Protokoll nicht mit dem Internett-Verein Hagen verbinden. Hier ist wohl noch eine 'Nachbesserung' der Software notwendig.

Auf meiner IPRoute-Seite sind die verschiedenen Skripte für die verschiedenen Anschlussgeräte zu erhalten, die hoffentlich nach nur geringfügiger Anpassung problemlos arbeiten müssten.

.

Neben dem IPR-Script, dem Batchprogramm IPRSTART muß noch der Computer mithilfe der Netzwerktreiber ans Netz eingebunden werden. Dies kann z.B. in der AUTOEXEC.BAT erfolgen oder der Aufruf der Netzwerktreiber erfolgt am Beginn von IPRSTART wie im untenstehenden Beispiel. Als letzte Aktion in Autoexec.bat steht dann der Aufruf von IPRSTART. Damit steht der Arbeit mit IPRoute mit dem Schulscript nichts mehr im Wege. Viel Erfolg und Spaß! (Da in diesem Beispielskripten ein Fileserver (z.B. Novell) zur Fern- steuerung verwendet wird, gehe ich hier von einer Anbindung des Routers mithilfe der ODI-Treiber von Novell aus. Der Router lässt sich natülich auch mit anderen Netztreiber-Modellen aus verwenden. Diese sind teilweise in den Original-Read-Me-Dateien von Dave Mischler beschrieben.)

.

Es folgen nun die Skript-, Batch- und Konfigurationsdateien

INTERN1x.IPR

;Intern1x.ipr
;
;IPR-Script zur Anbindung  des  LAN  an  einen Provider
;(dynamische IP-Adresse Über PPP und Modem)
;Anruf des Servers erst, wenn ein Paket den Router erreicht.
;Sollte nach 30 Sekunden kein Aufruf erfolgen, beendet das Programm wie
;nach einem Logout aus dem Postnetz.
;
;Logout-Zeit aus dem Postnetz: 1 Minute
;Nach dem Logout endet das Programm und muss erneut z.b. von einer Batch-
;routine aufgerufen werden.
;
;Internes Modem mit 33600 bps an COM-Port2 mit Interrupt 5
;27.6.1997  (verallgemeinert  9.11.97)
;
;
   set log file CON
   log "Moin, moin"
;
;
;Einrichtung der Ethernet-Karte  im IP-Netz 192.168.1.0
;Das Ethernet-Teilnetz ist                  192.168.1.0
;Der Ethernet-Fileserver hat dementsprechend die Adresse    192.168.1.1
;
   packet ethernet_netz  0x60 192.168.1.253/24
;Der Router hat also die Intranet-Adresse  192.168.1.253
;
;
   log "Einrichtung des Modem-Ports und Zuweisung der Default-Route"
   log " "
   log " "
   async modem 0x2f8 5 115200 do_modem     --> hier Modem-Daten evtl. aendern
   log "Das Modem ist am Laufen"
   log " "
;Hiermit wird alles ins Modem geroutet
   route * modem perm
;
;Broadcast der RIP-Route ans Ethernet
   rip ethernet_netz
;
;
;Ein Command-Interpreter wird auf der Console gestartet
   command
   exit
;
;Unterbereich der Konfiguration mit Modemeinstellungen etc.
;
do_modem:
   set trace off
   nat * * 196.57.246.241    --> hier DNS-Adresse des Providers
;                                (hier fiktiv)
;Modem-Kontroll-Einstellungen
;
   log "Das Modem wird jetzt in Gang gesetzt"
   set interface rts flow
hangup:
   set interface dtr off
   delay .5
   set interface dtr on
   on packet dialout
   on timeout ende            --> diese Zeilen bewirken das Beenden
   wait 30                        nach 30 Sekunden
;
dialout:
   send "atz\r"
   wait 5 "OK\r"
   log "Das Modem ist OK"
   send "atdt999999\r"   -->  statt  999999  richtige  Tel.-Nr  eintragen
   wait 60 "CONNECT"
   on cd lineup
   read 15 "\r" speed
lineup:
   on cdloss hangup
   on timeout hangup
   log " "
   log "Anschluss mit $speed"
   log " "
   set ppp login ACCOUNT PASSWORT     --> hier unbedingt anpassen
   on timeout ende
   ppp 60 * dynamic-nat
ende:
   shutdown

.

und die dazugehörige Batchdatei

IPRSTART.BAT

c:
cd \netz
lsl
NE2000     -->   hier eventuell anpassen
ipxodi
netx
f:
login ACCOUNT   -->  Account fuer den Router beim Novell-Fileserver
c:                       
odipkt 1 96
cd \iproute


@echo off


:dauer
if exist f:... goto routeran   --> ... ist die ´Steuerungdatei´
cls
@echo Der Router ist derzeit nicht freigegeben!
goto dauer

:routeran
ipr286 intern1x.ipr
goto dauer

Das TCP/IP-Protokoll wird IPRoute mit dem Pakettreiber-´Ersatz´ ODIPKT ermöglicht. ODIPKT.COM ist hier in meinem Download-Verzeichnis zu erhalten.
IPRoute arbeitet nicht mit dem TCP/IP-Stack von Novell zusammen. Ebenso arbeitet der Router auch nur in einer Ethernet-Umgebung. Soll IPRoute auch in ein Token-Ring-Netz hineinrouten, müssen diese beiden Teilnetze zum Beispiel über einen Novell-Fileserver verbunden sein. (Der Novell-File-Server hat dann zwei Netzwerkkarten und routet dann zwischen diesen beiden Teilnetzen.)

.

Es fehlt nur noch die zugehörige Novell-Konfigurationsdatei

NET.CFG:

ECHO ist ausgeschaltet (off)
Link Support
        Buffers   8  4202
        MemPool      8192
        Max Boards   4
        Max Stacks   4
ECHO ist ausgeschaltet (off)


Link driver NE2000                    -->   evtl. anpassen
        envelope type ETHERNET_802.3  -->   fuer das IPX-Paket
        envelope type ETHERNET_II     -->   fuer das IP-Paket



Für weitere Fragen stehe ich gerne zur Verfügung:

Arno Pasternak

Zurück zur Seite: Informationen über IPRoute