Einer für alle
Natürlich sollen auch sie ans Internet - die Zweit- und Drittrechner im lokalen Netz. Ein Internet-Zugang an einem der Rechner oder einem dedizierten Router genügt, um auch Familienmitglieder, WG-Mitbewohner oder Arbeitskollegen am Netz der Netze teilhaben zu lassen.
Egal, ob man noch ein Analog-Modem benutzt, über ISDN surft oder schon zu den Glücklichen gehört, die einen DSL-Zugang ergattert haben - ein einziger Zugang genügt eigentlich, um das ganze Heimnetz mit Internet zu versorgen. Manche Provider sehen dieses Internet-Sharing zwar nicht gern: AOL verbietet es explizit, T-Online spricht davon, dass nur der Vertragspartner surfen darf [1]. Aber dagegen unternehmen können sie eigentlich nichts.
Denn von außen ist immer nur ein Gerät sichtbar, das als Vermittler zwischen Heimnetz und Internet agiert. Das kann ein normaler (Arbeitsplatz-)PC übernehmen, ein speziell für diese Aufgabe abgestellter Computer oder ein expliziter Hardware-Router. Die Rechner im Heimnetzwerk müssen sich zwar die Bandbreite teilen, aber für Surfen und E-Mail reicht es allemal.
Quasi nebenbei erhöht ein indirekter Zugang auch die Sicherheit der anderen PCs: Ohne direkten, eigenen Internet-Zugang entfallen für sie eine ganze Reihe von Risiken, denen ein normaler Internet-PC ausgesetzt ist. Und wenn der Vermittler nicht einfach alles durchleitet, sondern den Verkehr auch noch ‘intelligent’ filtert, lässt sich diese Schutzfunktion noch weiter ausbauen.
Grundsätzlich gibt es zwei verschiedene Techniken, um den anderen Rechnern im Heimnetz den gemeinsamen Zugang zur Online-Welt zu ermöglichen: über einen Proxy oder über einen Router. Ein Proxy ist normalerweise ein Computer mit Internet-Zugang, der als Stellvertreter für die anderen arbeitet. Alle Clients im Netz richten dazu ihre Anfragen an diesen Rechner. Spezielle Proxy-Programme nehmen die Anfragen entgegen und werten sie aus. Dann holen sie die dazu benötigten Daten aus dem Internet und liefern sie an den ursprünglichen Absender zurück.
Abgeschottet
Dies bietet für die Systeme hinter dem Proxy mehr Schutz, da sie nie direkt mit dem Internet kommunizieren. Auch die von externen Rechnern verschickten Antwortpakete gelangen überhaupt nicht ins lokale Netz. Nur die Nutzdaten, also beispielsweise Webseiten oder E-Mails, reicht der Proxy weiter. Zuvor kann er sie auf gefährliche Inhalte wie Viren filtern.
Der Haken dabei ist, dass man für jede Internet-Anwendung ein Proxy-Programm auf dem Internet-Rechner betreiben muss. Und in der Regel müssen die Programme auf den Clients den Betrieb über einen Proxy explizit unterstützen. Einfache Dienste wie der Web-Zugang, E-Mail und so weiter lassen sich noch recht leicht einrichten, aber spätestens bei Online-Spielen und Peer-to-Peer-Tauschbörsen artet das zur bösen Frickelei aus - in vielen Fällen geht es überhaupt nicht.
Trotzdem ist ein Proxy für diejenigen, die im Zweifelsfall auch mal auf einen Dienst verzichten können, eine gute Wahl. Der kostenlose Proxy Jana (siehe Soft-Link) glänzt durch eine gute, deutschsprachige Dokumentation, bietet alle wichtigen Funktionen und lässt sich einfach installieren [2].
Vermittler
Deutlich flexibler sind Router. Sie werden mit zwei Netzen - in diesem Fall dem Heimnetz und dem Internet - verbunden und leiten zwischen diesen Pakete weiter. Speziell für diese Aufgabe gebaute Geräte, so genannte Hardware-Router, bilden das Rückgrat des Internet. Fürs Heimnetz gibt es sie in kleiner Ausführung als ISDN- oder DSL-Router.
Diese Aufgabe kann jedoch auch ein normaler PC übernehmen. Betriebssysteme wie Linux, die mit dem Internet groß geworden sind, bieten selbst erweiterte Router-Funktionen wie Traffic Shaper, mit denen man einzelne Dienste oder Rechner auf eine bestimmte Bandbreite begrenzen kann. Doch auch Windows ab 98SE stellt die für einen Router notwendigen Grundfunktionen unter der Bezeichnung Internetverbindungsfreigabe (Internet Connection Sharing, ICS) bereit. Hinter diesem etwas irreführenden Begriff verbirgt sich nichts anderes als ein Software-Router mit NAT-Funktion (siehe Kasten ‘Maskerade’). Der Artikel auf Seite 100 erklärt im Detail, wie Sie mit ICS - und ein paar nützlichen Zusatzprogrammen - Ihren Windows-PC zum Router aufrüsten.
Unter Mac OS 9 gehört zur Airport-Software unter dem Namen ‘Airport Software Base Station’ eine abgespeckte Version des kommerziellen Software-Routers IPNetRouter von Sustainable Softworks. Im Internet kursieren zwar Anleitungen, wie man diese so aufbohrt, dass sie auch zwischen einem drahtgebundenen Netz und dem Internet vermittelt, doch verletzt dies die Lizenzbedingungen, wenn man keine Lizenz des IPNetRouters hat.
Mac OS X ist als vollwertiges BSD-Unix von Haus aus in der Lage, als NAT-Router zu arbeiten, allerding hilft Apple bei dessen Konfiguration wenig. Ein früherer c't-Artikel beschreibt jedoch die Vorgehensweise für ein Funknetz, die sich ziemlich direkt auf die Internet-Anbindung übertragen lässt [3].
Prinzipiell kann auch ein Arbeitsplatzrechner ‘nebenher’ als Router arbeiten. Dazu muss er allerdings immer eingeschaltet sein - oder extra gestartet werden, wenn ein anderer Rechner seine Routing-Dienste benötigt. In vielen Fällen bietet es sich jedoch an, einen separaten Rechner als Router einzurichten. Das kann durchaus ein ausrangierter PC sein. Für die ab Seite 110 vorgestellte Linux-Distribution fli4l genügt ein 486er mit 16 MByte RAM, der so zu neuen Ehren kommt.
Das wichtigste Argument für einen dedizierten Router ist die erhöhte Sicherheit. Windows-Rechner sind im Alltagsbetrieb allerlei Gefahren ausgesetzt. Einmal ein falsches Programm auf dem PC gestartet, und schon läuft unter Umständen auf dem ICS-Host ein Hintertürprogramm, das unkontrollierten Zugang von außen ermöglicht - und damit natürlich auch die anderen Rechner im LAN gefährdet.
Für Aufsehen haben die in letzter Zeit in Mode gekommenen 0190-Dialer gesorgt. Sie verbiegen den Internet-Zugang so, dass der Rechner eine teure 0190-Rufnummer anwählt. Wer nicht aufpasst und aus Versehen nach einem Download voreilig auf ‘Öffnen’ klickt, findet dann schnell mal vierstellige Beträge auf seiner Telefonrechnung.
Mit einem dedizierten Router können solche ‘Unfälle’ nicht passieren. Denn dieser steht als klassische Firewall zwischen dem eigenen Netz und dem Internet und schützt die heimischen PCs vor diesen Gefahren. Die Heimrechner sind von außen erst gar nicht zu erreichen (sofern man nicht für Spiele oder Ähnliches gezielt Löcher in die Firewall bohrt, siehe Seite 112). Und da auf der Firewall selbst keine unnötigen Programme oder Dienste laufen, ist hier für Hacker auch nichts zu holen.
Alles, was die Firewall an Internetverkehr weiterleitet, muss zunächst einen so genannten Paketfilter passieren. Dieser entscheidet anhand vorher festgelegter Regeln für jedes einzelne Paket, ob es ins Netz hinein oder aus diesem hinaus darf. Die Regeln beziehen sich dabei auf die Absender- und Zieladresse des Pakets und den Dienst, zu dem es gehört. Eine gut konfigurierte Firewall wird beispielsweise keine Pakete weiterleiten, die zu Microsofts Datei- und Druckfreigaben gehören (Port 137 bis 139). So kann man auf den Rechnern im LAN getrost Verzeichnisse für andere Rechner freigeben - unter Umständen auch ohne Passwort. Spätestens die Firewall verhindert, dass jemand von außen damit Unfug anstellt.
Hardware-Router
Ein PC nimmt jedoch Platz weg, produziert Lärm und frisst einiges an Strom. Und obwohl gerade Systeme wie fli4l deutliche Fortschritte bezüglich Installation und Bedienbarkeit gemacht haben, erfordern sie immer noch etwas Bastelei. Wer es kompakt, leise und einfach mag, ist deshalb unter Umständen mit einem Hardware-Router besser bedient. Die kleinen Geschwister der Internet-Router sind mittlerweile ab 150 Euro zu haben. Sie sind in der Regel über ein Web-Frontend einfach einzurichten und bieten mit ihren Paketfiltern auch Firewall-Funktionen. Der Artikel auf Seite 104 gibt Hilfestellung bei der Konfiguration.
Der Router der Wahl
Ob man sich für Windows-ICS, den selbst gebauten Linux- oder einen fertigen Hardware-Router entscheidet, hängt vom Geldbeutel und den persönlichen Vorlieben ab. Die reine Windows-Lösung erfordert keine zusätzliche Hard- oder Software und bietet sich dann an, wenn ein Rechner in Doppelfunktion als Arbeitsplatz und Internet-Gateway dienen soll.
Der Komfort dieser Lösung lässt jedoch zu wünschen übrig. Will man auch vom Zweitrechner regelmäßig ins Internet, nervt es ziemlich bald, jedesmal erst den ICS-Host zu booten. Wer Wert auf Sicherheit legt, sollte ebenfalls Abstand von ICS nehmen, denn der ICS-Host ist direkt mit dem Internet verbunden und damit auch direkt angreifbar. Und ein 0190-Dialer auf diesem Rechner kann schnell richtig teuer zu stehen kommen.
Sowohl um Komfort als auch um die Sicherheit ist es bei einem ständig laufenden Linux- oder Hardware-Router deutlich besser bestellt: Die Internet-Verbindung ist für alle Rechner quasi jederzeit verfügbar, Dialer oder Trojanische Pferde können den Spezialisten nichts anhaben und alle Arbeitsrechner liegen im gesicherten Bereich hinter der Firewall.
Hat man einen Rechner übrig, ist die Linux-Variante günstiger und außerdem lässt sie sich flexibel erweitern. Der Platz für einen Hardware-Router findet sich dagegen auch im kleinsten Haushalt, und über die grafische Oberflächen können auch Laien ein solches Gerät einrichten. Dafür muss man vor allem bei günstigen Modellen oft Abstriche bei der Flexibilität und den Konfigurationsmöglichkeiten machen. (ju)
Literatur
[1] Stefan Jaeger, Nebenwirkungen der DSL-Flatrate, Rechtliche Nutzungsgrenzen bei Routern, c't 24/00, S. 246
[2] Lars Bremer, Internet für die ganze Familie, Gemeinsamer Online-Zugang mit dem Proxy-Server Jana, c't 19/01, S. 246
[3] Johannes Endres, Apfel-Funk Apple-Hardware vermittelt zwischen Funk-LAN und DSL, c't 16/01, S. 190
Maskerade
Im Internet reisen die Daten in Paketen, die zur Adressierung die IP-Adresse des absendenden Rechners und die des Zielrechners enthalten. Außerdem tragen sie je eine Nummer für den Port auf dem Ziel- und dem Quell-Rechner. Wenn ein direkt ans Netz angeschlossener Rechner eine Webseite anfordert, schickt er ein Paket mit seiner Absenderadresse, einem vom Betriebssystem ausgewählten Quell-Port (z. B. 10 000), der Ziel-Adresse des Web-Servers und in der Regel dem Ziel-Port 80. Die Antwort des Servers steckt in Paketen, in denen Ziel- und Quellangaben vertauscht sind, also von der Server-Adresse und dem Quell-Port 80 an die Adresse des PC mit dem Ziel-Port 10 000.
Vom Provider erhält der Router nur eine Internet-Adresse, er muss jedoch den Datenverkehr für mehrere Clients abwickeln. Dazu dient die ‘Network Address Translation’ (NAT) in der Spielart ‘Network Address Port Translation’ (NAPT). Wenn ein Client (z. B. 192.168.0.2) Daten von einem Web-Server (z. B. 193.99.144.71) haben möchte, schickt er Datenpakete an diesen Server mit dem für das Web üblichen Ziel-Port 80 und einem beliebigen Quell-Port (z. B. 10 000). Der Router leitet diese Pakete weiter, ersetzt jedoch die Absender-Adresse durch seine eigene und ändert den Quell-Port (beispielsweise auf 20 000). Diese neue Port-Nummer trägt er zusammen mit der ursprünglichen Absenderadresse und dem ursprünglichen Quell-Port in seine NAT-Tabelle ein. Der Server antwortet an die Adresse des Routers und den geänderten Port. Nun sieht der Router anhand der Portnummer in seiner Tabelle nach, für welchen Client mit welcher Port-Nummer er das Paket verschickt hat. Diese Daten setzt er in das ankommende Paket ein und leitet es an den Client weiter.
Sofern nicht zusätzliche Paketfilterregeln dies unterbinden, können die Rechner im LAN über diesen Mechanismus beliebige Verbindungen von innen nach außen aufbauen. Probleme bereiten allerdings Verbindungen, die von außen nach innen gerichtet sind. Diese landen auf dem Router, der dazu jedoch keine passenden Eintrag in seiner Tabelle findet und die Pakete verwirft. Über die so genannte Port Redirection oder das Port Forwarding kann man trotzdem auf Rechnern im LAN Server betreiben. Dazu leitet der Router alle Pakete an einen bestimmten Port (z. B. 80) an einen festgelegten Rechner im LAN weiter (siehe auch Seite 112).
Glossar
In eine ‘entmilitarisierten Zone’ (Demilitarized Zone, DMZ) stellen Firmen ihre Server, die von außen erreichbar sein müssen. Diese DMZ ist vom LAN getrennt. Manche Router-Hersteller bezeichnen die Option, lokale Rechner transparent von außen erreichbar zu machen, fälschlicherweise als DMZ. Besser ist hierfür der Begriff Exposed Host.
Eine Firewall ist ein speziell gesichertes System, das die einzige Verbindung zum Internet absichert. Typischerweise läuft auf einer Firewall ein Paketfilter, der entscheidet, welche Pakete die Firewall hinein und heraus lässt.
Über das Dynamic Host Configuration Protocol (DHCP) können Rechner in einem Netz automatisch eine Adresse beziehen. Außerdem versorgt sie der DHCP-Server mit den Adressen des Default-Gateways, über den der Rechner aus dem Netz herauskommt und des Domain Name Servers (DNS), der Namen der Rechner in IP-Adressen auflösen kann.
Über die Internetverbindungsfreigabe (Internet Connection Sharing, ICS) können Windows-Rechner seit 98SE anderen Rechnern den eigenen Internet-Zugang zur Verfügung stellen. Dahinter verbirgt sich ein Software-Router mit NAT.
Als Local Area Network (LAN) bezeichnet man lokale Netze, die eine logische Einheit bilden. Das kann entweder ein Firmennetz oder das Netzwerk zu Hause sein.
Via Network Address Translation (NAT) setzt ein Router die lokalen Adressen der Rechner im LAN auf die eigene, externe IP-Adresse um, die ihm der Provider zugewiesen hat.
Im Internet werden alle Daten in so genannte Pakete verpackt. Diese enthalten neben den eigentlichen Nutzdaten auch diverse Verwaltungsinformationen wie Absender- und Zieladressen beziehungsweise -Port.
Viele Router können via Port-Redirection/Forwarding Verbindungsanfragen an Rechner im LAN weiterleiten. Dies nutzt man häufig, um auf einem internen Rechner einen Web-Server zu betreiben, der von außen zu erreichen sein soll.
Ein Port ist ein Teil der Information, die notwendig ist, um ein bestimmtes Programm auf einem Rechner anzusprechen. Die IP-Adresse definiert sozusagen die ‘Anschrift’ des Rechners im Internet, den Port kann man sich hingegen als das Stockwerk vorstellen, in dem das gewünschte Programm zu finden ist. Viele Dienste laufen auf festgelegten Ports, Web-Server beispielsweise meist auf Port 80.
Ein Proxy arbeitet als Stellvertreter für ein Programm im lokalen Netz. Er holt die angeforderten Daten aus dem Internet und liefert sie an das Programm im LAN zurück. Ein Router hingegen leitet direkt Pakete zwischen separaten Netzen weiter. (ju)