Home | Artikel | NiCE Internet Verbindung

Verbindung mit dem Internet via SLIP und EUnet

Haben sie den Artikel "Das Internet - was ist das?" gelesen und gedacht, wie schön es wäre, wenn sie zuhause an ihrem NeXT einen Internet Anschluss hätten? Dieser Artikel beschreibt die Installation und Komfiguration der dazu notwendigen Software.

Achtung

Diese Installationsanleitung geht davon aus, dass kein bestehendes Netz (z.B. Ethernet zu lokalem PC) vorhanden ist. Wer ein solches in Betrieb hat muss selber die Aenderungen im Vorgehen herausfinden. Ich nehme an, das sie hauptsächlich im Bereich von Hostmanager.app sein werden, habe dies aber mangels Möglichkeit nicht geprüft.

Bei EUnet anmelden

Um via SLIP mit dem Internet in Verbindung zu Treten muss man bei EUnet einen SLIP Account bestellen. Dieser muss vor der Installation aktiviert worden sein. Ausserdem braucht man für die Installation Angaben von EUnet (Accountnamen, IP Nummern, Passwörter).

Die benötigte Software

NeXT ist der Meinung, dass jeder, der ans Internet will, mit Ethernet arbeiten wird (dies ist in den von NeXT anvisierten Custom App Umgebungen wohl auch der Fall), daher ist die für SLIP benötigte Software im NeXTstep nicht enthalten. Man muss sie sich, im Gegensatz zu UUCP, wo NeXT alle nötigen Programme mitlieferte, und man selbst nur konfigurieren musste, selber besorgen.
Dies macht man am besten, indem man sie am talk© von der nice herunterlädt oder falls man im Buero Internet hat per FTP von nice.ethz.ch. Es sind dies die Dateien:
~ftp/pub/Unix/communication/SLIP_920904-A.*,
~ftp/pub/Mail/apps/PopOver.* und
~ftp/pub/Mail/apps/popOver.*.

Die SLIP Installation

Im NeXT als root einloggen.
Achtung, von jetzt an vorsichtig sein, da die Sicherungen von NeXTstep gegen das unbeabsichtigte Beschädigung/Löschen von wichtigen Systemdateien nicht mehr aktiv sind.

Dateien auspacken und installieren

Zuerst SLIP.920904-A.N.b.tar.gz auspacken -> SLIP_920904-A.pkg. Installieren -> die Dateien werden abgelegt in ein neues Verzeichnis /usr/dialupip.

Dateien modifizieren

/usr/dialupip/config/diald.conf (nur eine Zeile, mit einem Leerzeichen wo hier das Return ist):

slip0:chsun.eunet.ch:cua#38400:slip-srv.script 012914687:/usr/dialupip/log/trans@0:slipsrv.access

Falls das Modem an Serial B angeschlossen ist oder 38400 Baud nicht verkraftet muss entweder cua mit cub oder 38400 durch die richtige Geschwindigkeit ersetzt werden. Wie man die richtigen Werte ermittelt steht in meinem Mail Verbindungs Artikel in PowerKey 3/93. Wer ein richtiges NeXT Modemkabel hat kann auch cufa oder cufb verwenden, mein Mac Modemkabel versagt dabei aber.

/usr/dialupip/config/slipsrv.access:

inactivity 15
uptimeinterval 15

Die Zeile mit inactivity gibt die Zeit zwischen dem letzten Datentransfer und dem Modem Auflegen an (in Sekunden). Für Mail und News ist 15 ideal (keine Telefonverschwendung), für Telnet und FTP ist dagegen 300 (5 Minuten) ideal, damit während Denkpausen nicht aufgelegt wird. Leider kann man dies nicht selektiv einstellen. Ich lasse normalerweise 15 eingestellt und stelle auf 300 um, wenn ich dies brauche.

/usr/dialupip/config/config.slip:

SLIP0LOCAL=###.###.###.### (### = eigene IP Nummer gemäss EUnet)
SLIP0REMOTE=146.228.10.15
SLIP0NETMASK=255.255.255.0
SLIP0CONFIG=SLIP
SLIP0DEFAULT=YES

/usr/dialupip/config/slip-srv.script.tcl:

log "slip-srv.script.tcl for interface $interface site $site"
log "Now invoking hooks.tcl script."
source "/usr/dialupip/config/hooks.tcl"
log "Now invoking dial-zyxel.tcl script."
source "/usr/dialupip/config/dial-zyxel.tcl"
log "Now invoking login-eunet.tcl script."
source "/usr/dialupip/config/login-eunet.tcl"

Wer kein ZyXEL hat muss sich entweder eins zutun oder in der 5. Zeile zyxel durch modem ersetzen (resultiert in einem etwas langsameren Verbindungsaufbau und keiner optimalen Ausnutzen eines ZyXELs falls man dies mit einem solchen macht).

/usr/dialupip/config/dial-zyxel.tcl oder dial-modem.tcl:

Die mitgelieferte Datei benutzen.

/usr/dialupip/config/login-eunet.tcl:

# TCL script for use with tcldiald.
# Used to put unix host chsun.eunet.ch into SLIP mode.
set timeout 20
log "Begin chsun.eunet.ch login"
parity ZERO
sleep 3
expect timeout \{error "waiting for login"\} "*ogin:*"
xmit "###\\r" (### = Login Name gemäss EUnet)
sleep 1
expect timeout \{error "waiting for password"\} "*assword:*"
xmit "###\\r" (### = Login Passwort gemäss EUnet)
sleep 1
expect timeout \{error "waiting for SLIP startup"\} "*starting-slip*"
log "Entering SLIP mode"
return "Connected"

/etc/resolv.conf: (neue Datei erstellen)

nameserver 146.228.10.15
nameserver 192.76.144.66

Achtung Unix Kenner: Ja keine Zeile der Sorte domain nice.ch einsetzen, sonst macht sendmail Mist (versucht Mails an *@nice.ch übers nicht vorhandene Ethernet zu verschicken).

/etc/syslog.conf: (zusätzliche Zeile zum Bestehenden)

local3.debug /usr/dialupip/log/syslog

Netinfo mit Hostmanager erschlagen

Alle NeXTs haben ein zentrales System Utility namens NetInfo um so Sachen wie Usernamen etc zu verwalten. Leider hat NeXT, in der Absicht, benützerfreundlich zu sein, einen grossen Bock geschossen. Auf Systemen ohne Netz verwendet dieses automatisch eine eigene Datenbank für jede Maschine. Bei vernetzten Maschinen (LAN) wird dagegen eine Datenbank für das ganze Netz angenommen und die Maschine automatisch auf den Betrieb ohne eigene Datenbank umgestellt (dies ist bei allen Maschinen ausser einer ja auch der Fall).
Bei einem über SLIP (WAN) angeschlossenen NeXT zuhause braucht jede Maschine eine Datenbank (sie ist quasi ein Einmaschinen-LAN). Man muss daher NetInfo einstellen, dass eine eigene Datenbank verwendet wird, trotz aktivem Netz.
Unglücklicherweise ist die Option hierfür in einem unerwarteten Platz versteckt (im Programm Hostmanager, welches für einen erfahrenen Unix Hacker lediglich aussieht wie ein GUI Editor zu den Dateien /etc/hosts und /etc/hostconfig. Von den 4 Monaten zwischen damals als ich anfing SLIP zu installieren und dem Erfolg gingen alleine 2 auf Kosten regelmässiger Abstürze wegen des falsch arbeitenden NetInfo Systems.
Dazu Hostmanager.app (in /NextAdmin) starten und mit Hosts New eintragen:

1. Eintrag:

Hostname ### (### = eigene Maschine)
Internet ###.###.###.### (### = eigene Adresse von EUnet)
Host Name Alias ###.nice.ch

2. Eintrag:

Hostname chsun
Internet 146.228.10.15
Host Name Alias chsun.eunet.ch
                mail.eunet.ch (2 Zeilen im Kasten unten)

Dann Local... aussfüllen:

Hostname ###
Internet Address ###.###.###.###
Broadcast Address Default
Netmask Default

Dies führt nach mehreren Panels (jeweils OK anclicken) zum Eröffnen einer eigenen NetInfo Datenbank. Am Schluss wird die Maschine neu aufstarten.

Danach die unerwünschten Seiteneffekte der Aenderungen durch Hostmanager in der Datei /etc/hostconfig korrigieren:

HOSTNAME=### (### = eigene Maschine)
INETADDR=-NO-
ROUTER=-NO-
IPNETMASK=-NO-
IPBROADCAST=-NO-
NETMASTER=-NO-
YPDOMAIN=-NO-
TIME=-NO-
(Ueberall -NO- weil wir kein Ethernet (die Annahme von Hostmanager.app benutzen).

Zum Schluss noch in /etc/rc.local nach der bestehenden Zeile:
Run your own commands here
einfügen:
sh /usr/dialupip/config/rc.slip >/dev/console 2>&1

Die Mail Installation senden (SMTP)

Um Mail über SLIP zu machen muss man im Gegensatz zu UUCP 3 Schritte machen. Zuerst die von der Anwendung unabhängige SLIP Verbindung (siehe oben) und dann die eigentliche Konfiguration der beiden Mail Programme (für senden und empfangen).

/etc/sendmail/sendmail.cf: Als Basis wird die Datei sendmail.mailhost.cf genommen. Dazu zuerst bestehende Datei sendmail.cf (eigentlich ein Link) löschen, danach sendmail.mailhost.cf in sendmail.cf kopieren. Die Datei sieht zwar äusserst wüsst aus (vor allem gegen den Schluss), kann aber ohne Probleme geändert werden, so lange man sich genau an die Anleitung hält.
Dann folgende Zeilen ändern:

DMuucp -> DMddn # jetzt sind wir im Internet, kein UUCP
DRmail-relay -> DRmail.eunet.ch # Postamt Maschine bei EUnet
CRmail-relay -> CRmail.eunet.ch
Odbackground -> Odqueue # nicht nach jedem Mail Deliver Telefon

Nach der Zeile S1 einfügen:

# Username umbenennen
R$* $:$>8$1
S8
Rneil ###@dial.eunet.ch (### POP Name gemäss EUnet)
Rroot ###@dial.eunet.ch

Bei der Zeile:

R$*<@$+>$* $:$1<@$[$2$]>$3 find canonical hostname

am Anfang ein # einfügen (um Telefonanrufe zu sparen).

Bei der Zeile:

#R$*<@$*.$+>$* $#$M $@$R $:$1<@$2.$3>$4 user@any.domain

das # entfernen und bei der Zeile:

R$*<@$+.$->$* $#ddn $@ $2.$3 $:$1%lt;@$2.$3>$4 user@any.domain

am Anfang ein # einfügen (um Mails im Zweifelsfall an EUnet zu schicken).

Die Mail Installation empfangen (POP)

Dateien auspacken und installieren

PopOver.*.gz auspacken -> PopOver.pkg. Installieren -> die Dateien werden abgelegt in /LocalApps/PopOver.app. popOver.gz auspacken -> popOver, direkt in /LocalApps ablegen.

Dateien modifizieren

GUI Version PopOver.app starten. Menu Mail Hosts..., dann Add..., dann eintragen:

Mail host: mail.eunet.ch
Username: ### (### = POP Login Name)
Password: ### (### = POP Login Passwort)
Delete Mail aktivieren (sie wollen die Mails ja nur ein mal herunterholen).

Es entsteht nach dem OK im Home Verzeichnis eine Datei .popHosts. Danach wird im Betrieb nur noch die Kommandozeilenversion popOver benützt.

Installation beenden

Danach die Maschine neu starten, damit die geänderten Dateien gelesen werden.

Mail testen

Danach testet man das Ganze, indem man eine Mail an die von EUnet gegebene POP-Mail Adresse schreibt und Deliver drückt. Um sie abzusenden muss die SLIP Verbindung mit /usr/dialupip/bin/slipup gestartet werden und wenn sie steht die Mails mit /usr/lib/sendmail -q gesendet werden.
Um die Mail zu holen (nach einer Wartezeit von ein paar Minuten) wieder mit /usr/dialupip/bin/slipup die Verbindung starten und danach um die wartenden Mails abzuholen /LocalApps/popOver verwenden.

Datentransfer automatisieren

Das obige beim Testen verwendete Prozedere ist mühsam. Daher automatisiert man es am besten. Idealerweise sollten Mails immer dann transferiert werden, wenn die SLIP Leitung ohnehin hoch kommt (z.B. für FTP oder Telnet), da man damit Telefonverbindungen spart und die Lieferhäufigkeit steigert. Dazu modifiziert man die Datei /usr/dialupip/config/hooks.tcl, nach den Zeilen:

proc event_linkup {why} {
  nbsp; global interface site

folgendes einfügen:

  nbsp; exec /usr/lib/sendmail -q &
  nbsp; exec su ### -c /LocalApps/PopOver.app/popOver & (### = Username)

Danach muss ebenfalls die Maschine neu gestartet werden damit die Aenderung wirksam wird.
Will man nur einen Mailtransfer auslösen ohne sonstige Internet Aktivitäten kann man dies einfach mit dem Starten von /usr/dialupip/bin/slipup (ohne weiteren Befehle) explizit machen. Ich habe dazu eine Kopie davon unter dem Namen DoMail.daemon (Name historisch vom UUCP her) in mein Home Verzeichnis gemacht.

NiCEmail anpassen

Wenn man SLIP so eingestellt hat gehen bereits alle Mails über SLIP hinaus. Damit man aber auch über SLIP seine NiCEmail holen kann muss noch auf der nice der NiCEmail Eintrag angepasst werden. Am besten schickt man dazu eine Mail an Mailadmin mit der POP-Mail Adresse von EUnet darin.

Fazit

Nach all dem sollte einem erfolgreichen Einsatz von SLIP nichts im Wege stehen. Ich benütze es so seit Januar für Archie/FTP und seit Mitte Februar als meine einzige Verbindung (kein UUCP mehr).

                                        Neil Franklin, Präsident NiCE


Home | Artikel | NiCE Internet Verbindung

Diese Seite ist von Neil Franklin, letzte Aenderung 2000.12.30