LUG Waldkraiburg

zur Navigation springen


eMail Impressum Datenschutz

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



Seitenanfang