Internet-Router mit Modem
von Kurt Sommer erstellt ??.????
Viele Heimanwender und Firmen haben ein kleines Netzwerk eingerichtet und da wollen natürlich
alle Rechner möglichst gleichzeitig ins Internet. Eine Möglichkeit, das zu bewerkstelligen,
besteht darin, in jeden Rechner eine Modem- oder ISDN-Karte einzubauen.
Wesentlich komfortabler ist für diesen Zweck der Einsatz eines Internet-Routers.
Dadurch wird nicht nur die Anschaffung weiterer Hardware (Modems, ISDN-Karten), sondern auch
in hohem Maße Telefon- und Grundgebühren eingespart.
Die Zentralisierung hat aber noch weitere Vorteile:
Die Überwachung des gesamten Internetverkehrs wird entscheidend verbessert.
User können problemlos hinzugefügt, gelöscht, oder vorübergehend still gelegt werden.
Ein zentraler Virenscanner erspart, bei großen Netzwerken viel Zeit beim Update.
Durch den Einsatz eines Proxy kann die Installation von Fremdsoftware wirkungsvoll
unterdrückt werden, z.B. verweigert der Eintrag >Mohrhuhn< im Proxy den Zugriff auf
die entsprechenden Seiten.
Als ich mich an die Arbeit machte, meinen Modem-Router zu installieren, mußte ich mich
durch zahlreiche unvollständige Anleitungen kämpfen. Die Beschreibung ist deshalb für den
einen oder anderen etwas zu ausführlich, es soll aber auch diejenigen damit klar kommen,
die sowas noch nie gemacht haben.
Die folgende Anleitung beschreibt die Konfiguration eines Modem-Routers unter
SuSE-Linux 6.3 mit 2.2.13er Kernel und einem zusätzlichen Windows 95-Clienten.
Dieses Schema zeigt die Verkabelung des Netzwerks.
Die Hardware-Anforderungen eines Router
sind minimal, ein 486-DX 2/66 mit einer 500MB Festplatte, 16MB Ram und einer
10Mbit-Netzwerkkarte genügen für den Heimgebrauch vollauf, zumal X nicht benötigt wird.
Bei größeren Netzwerken kann ein mittelschwerer Pentium (z.B. P166) nicht schaden, vor allem,
wenn später noch ein Proxy aufgesetzt werden soll.
Neben der Standard-Installation werden noch die folgenden Pakete benötigt: diald und wvdial
(beides Serie n), die Firewall und Masqerading-Scripte ipchains und firewals
(beides Serie sec), sowie ein Script, daß man vom SuSE-Server herunterladen kann.
Das erspart die komplizierte Konfiguration des diald.
Nachdem die Installation des Systems abgeschlossen ist, gehen wir ins Yast,
Administration des Systems, Netzwerk konfigurieren, PPP-Netzwerk konfigurieren und
stellen dort die Provider- und Modemdaten ein. Für den Call by Call-Provider Arcor
lauten diese beispielsweise:
Benutzername: arcor,
Passwort: internet,
Nameserver: 145.253.2.11, 145.253.2.75,
die Domain des Routers, hier Pentium und schließlich noch arcor.net.
Bei der Installation des zusätzlichen Scriptes geht man nach den Anleitungen von SuSE vor,
es kann dann eigentlich nichts schief gehen.
In der Datei /etc/hosts werden jetzt alle Clienten, die Berechtigung zum Internetverkehr
haben eingetragen, nach dem obigem Schema sieht diese Datei wie folgt aus:
127.0.0.1
192.168.3.1
192.168.3.2
192.168.3.3
192.168.3.4
192.168.3.5
192.168.99.1 localhost
AMD-K6-200.Pentium
Testpc.Pentium
Win95.Pentium
Clubpc.Pentium
Notebook.Pentium
AMD-K6-200.Pentium
AMD-K6-200
Testpc
Win95
Clubpc
Notebook Die IP-Adresse 192.168.99.1 wird dem Modem durch das Script wvdial.dod
verpasst und kann dort ggf. angepasst werden, wenn vom Provider z.B. eine feste IP zugewiesen
wurde (relativ selten und teuer!).
Damit nicht bei jeder IP-Anfrage eine Einwahl erfolgt, muß dem Rechner mitgeteilt werden,
daß er zuerst das lokale Netz zu durchsuchen hat. Dies geschieht durch eine Ergänzung der
Datei /etc/host.conf:
order hosts bind
multi on
Dann geht's um die Einstellung der Routen. Dafür ist die Datei /etc/route.conf
zuständig:
# Generated by Webmin
127.0.0.0
192.168.3.0
192.168.99.0
0.0.0.0
0.0.0.0
0.0.0.0
255.255.255.0
255.255.255.0
255.255.255.255
loop0
eth0
ppp0 Wichtig! Hier darf im Gegensatz zu ISDN keine Default-Route gesetzt sein!
Die Datei /etc/wvdial.conf würde ich auch noch mal überprüfen, hier müssen unter
Default-Dialer die korrekten Provider- und Modemangaben vorhanden sein.
Damit das Routing auch funktioniert, muß noch in der Datei /etc/rc.config der Eintrag
IP_FORWARD=yes eingestellt werden.
Jetzt ist ein Neustart des Rechners erforderlich und wenn alles korrekt gelaufen ist,
müßte u.a. die folg. Meldung erscheinen:
starting pppd 192.168.99.1:192.168.99.99 bla bla, Providerdaten ......
setting ppp0 dynamic done
Starting service at daemon
Mit einem ifconfig kann der Start folgender Devices überprüft werden:
Dummy-Device, eth0, lo, ppp0.
Falls das Modem angeschlossen ist, sollte sich der Rechner bereits jetzt bei der
Eingabe von route einwählen. !!! Achtung Holzdecke, Luftsprung, Hurraaa, Sieg... !!!
Das Einrichten der Clienten ist nur noch ein Kinderspiel, zuerst mal die Einstellungen
für einen Win95-Rechner:
In der Netzwerkumgebung installieren wir, falls noch nicht geschehen, TCP-IP nach.
Unter TCP/IP-Eigenschaften legen wir die IP-Adresse und die Subnetmask
des Rechners fest, diese müssen mit einem Eintrag der /etc/hosts des Routers
identisch sein. Als Gateway wird die Maschine angegeben, der als Router
konfiguriert ist. Im Beispiel: 192.168.3.1.
Als Nameserver werden nochmals die IP-Adressen des Providers angegeben. Windows 95 hat
übrigens die blöde Eigenart, daß es nach jeder Änderung in der Netzwerkumgebung einen
Neustart verlangt. Diese Meldung kann getrost ignoriert werden. Zuerst führen wir alle
erforderlichen Einstellungen durch und fahren zum Schluß das System komplett herunter,
nicht der Neustart-Aufforderung des Systemes folgen! Beim SuSE-Linux-Client gehen wir ins
Yast, Administartion des Systems, Netzwerkkonfigurieren, Netzwerk Grundkonfiguration und
richten dort, falls noch nicht geschehen, dieNetzwerkkarte mit IP-Adresse, sowie den Gateway
ein und aktivieren dann die Karte. Anschließend muß das System neu gestartet werden.
Für den Fall, daß das Routing nicht dauerhaft durchgeführt werden soll, kann der
Gateway-Eintrag weglassen werden und bei Bedarf mit route add default eth0 gesetzt
werden.
Jetzt kommt sicherlich der spannende Augenblick, wo wir unseren Browser auf einem der
Clienten starten, um auf unsere Lieblingsseiten zu gehen. Der Router wählt sich ordungsgemäß
ein und dann... Gähnende Leere!, schließlich eine Fehlermeldung, daß das Netzwerk nicht
erreichbar ist.
Der Teufel liegt mal wieder im Detail, die angeforderten IP-Pakete gelangen zwar zum Router,
werden aber von diesem nicht mehr weitergeleitet. In dieser Hinsicht ein Dank an Stefan Kiendl,
ohne dessen Hilfe ich hier so schnell nicht weiter gekommen wäre.
Wir geben einfach auf einer Konsole des Routers folgende Zeilen ein oder bauen diese in
eines der Startscripte ein:
ipchains -A forward -i ppp0 -j MASQ -s 192.168.3.0/24
modprobe ip_masq_ftp
modprobe ip_masq_irc
Die 1. Zeile schaltet das Masquerading ein, ppp0 ist unser Modemdevice, -s IP-Adresse
legt den Adressbereich des zu routenden Netzwerkes fest.
Die 2. und 3. Zeile sind Zusatz-Bonbons mit denen der Zugriff auf FTP- und IRC-Server
ermöglicht wird.
Um zu verhindern, daß der Router während der Abwesenheit selbstständig Verbindungen
aufbaut, ist aus der Datei /etc/rc.config.d/sendmail.rc.config bei dem Eintrag
SENDMAIL_ARGS="-bd -q30m -om" das -q30m zu entfernen.
Damit ist die Konfiguration abgeschlossen und dem Einsatz steht nun nichts mehr im Weg.
Fehlermeldungen:
Da der Verbindungs-Aufbau mit einem Modem etwas länger dauert, kann bei einem der Clienten
schon mal die Meldung kommen, daß das Netz nicht erreicht werden kann. Keine Panik!
In diesem Fall gibt man die Adresse des Point to Point-Partners einfach nochmal ein.
Ab und zu erhalte ich beim Hochstarten des Routers eine Fehlermeldung wie
sh: pppx.pid, no such file or directory. Offensichtlich ist die Initialisierung hier
etwas zu schnell, der Router funktioniert aber trotzdem. Wen die Fehlermeldung stört,
der kann durch die Eingabe von: "wvdial.dod stop && sleep 2 && wvdial.dod start"
einen Neustart des Scriptes erzwingen, dann dürfte die Fehlermeldung nicht mehr erscheinen.
Schlußwort:
Prinzipiell muß der Router nicht gewartet werden, es empfiehlt sich jedoch die Installation
eines Journaling-File-Systems (z.B. Reiser-FS) falls das System einmal z.B. durch einen
Stromausfall abstürtzt. Ebenfalls wird für das Gerät keine Grafikkarte und Tastatur benötigt
(die Warnmeldungen im BIOS abstellen!). Für Wartungsarbeiten z.B. Anlegen weitere Benutzer
oder Überwachung der Log-Dateien reicht es auch sich per telnet oder besser ssh
in den Router einzuloggen.
Bleibt noch, den Betreibern des Routers viel Erfolg zu wünschen.
Kurt Sommer