Weil immer wieder Fragen zu diesem Thema auftauchen, macht es Sinn, dieses Thema mal in einer FAQ zu behandeln.Die Problematik ist die folgende: verbindet man sich mit einem consumer-provider, egal ob dies jetzt über Kabeltv, DSL oder Dial-In passiert, sorgt dieser im Regelfall nur für das Routing einer einzelnen öffentlichen IP-Adresse an das eigene Endgerät.
D.h. es kann nur ein Rechner ans Netz angeschlossen werden, wenn auch ein datenaustausch mitdemselben geplant ist. Außer es wird spezielle Hard- und Software verwendet!
Die Hardwareseite schaut immer gleich aus:
Internet ------- Modem bzw. Router ------- Rechner1 ------ hub/switch ---- Rechner2-x
die Rechner2-x nutzen also Rechner1 um Daten mit dem Internet auszutauschen. Damit dies funktioniert, obwohl die Rechner keine öffentliche IP zugewiesen haben, gibt es diverse Möglichkeiten:
ProxiesHier läuft auf Rechner1 ein Programm, welches Verbindungen vom Netzwerk entgegennimmt, Anfragen an das Netz stellt und die Antworten zurückschickt. Allerdings geschieht dies auf Anwendungsebene, d.h. die Internetanwendung (z.B. browser) muss die Verwendung eines Proxies unterstützen. Vor allem bei Spielen ist das nicht selbstverständlich.
ICS nur über Proxies abzuwickeln ist für den Enthusiasten der viele Protokolle verwendet nicht gerade angenehm, drum werde ich auch nicht näher darauf eingehen.
Network Adress Translation (NAT, IP-Masquerading)Mittels NAT werden die Nachteile des Proxies eliminiert, indem das weiterleiten ins internet auf netzwerkebene passiert, d.h. transparent für die Internetanwendungen sind. Hier empfängt Rechner1 netzwerkpakete, erkennt dass diese fürs internet bestimmt sind, merkt sich die Verbindungsdaten um nachher die Antwort wieder richtig zuzuordnen, Ändert die Absenderadresse auf sich selbst und Schickt das Paket weiter.
Zum Verständnis hilft vielleicht der China-Taiwan-Konflikt: Über Produkte, die made in Taiwan sind, klebt der chinesische Zoll gerne "Made in China" Pickerln -- die Herkunft ist für den Empfänger "maskiert" worden.
Problematisch wird die Sache, wenn die Verbindung vom Internet ausgeht - dann weiß Rechner1 nicht, welchem LAN-Rechner diese zuzuordnen ist. (z.B. wenn man (Game-)Server oder Filesharing-Dienste betreiben will). Hier helfen manuell eingerichtete Port-Forwardings, die eindeutig festlegen, wo bestimmte Verbindungen hinzulenken sind.
KonfigurationDie Linux- und Windows-Welt bringen mit iptables bzw. ICS bereits alles mit, was für IP-Masquerading benötigt wird! Die Dokumentation des Betriebssystems hilft hier am besten.
http://www.microsoft.com/windowsxp/...working/ics.asphttp://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/Rechtliche AspekteWeit verbreitet ist das Gerücht, dass Provider es verbieten, den Internetzugang durch mehrere Rechner zu nutzen. Jedoch wird vergessen, dass ja von den im Lan hängenden Rechnern nicht die Dienstleistung genutzt wird, diese wird vom Rechner verwendet, auf den die öffentliche IP geroutet wird (das Routing der ip IST die Dienstleistung), welcher vom Lan mittels TCP/IP dazu veranlasst wird, Daten mit dem Internet auszutauschen.
Durch diese ungenaue Formulierungen in den AGB's befinden wir uns in einer Grauzone.
Nicht erlaubt ist es, mehrere Rechner direkt über einen Hub oder Switch an Modem/Router des Providers anzuschließen. (ausser bei Produkten wie Chello+, wo dieses Feature auch entsprechend kostet)
Es ist mir auch kein Fall bekannt, bei dem ein NAT-Setup den Provider gestört hat - anders verhält es sich beim Serverbetrieb, wo vor allem Chello sehr strikt vorgeht.
ErkennungBei Überwachung des Datenverkehrs kann bei unvorsichtiger Konfiguration sehr wohl erkannt werden, dass hier ein Masquerading-Setup aktiv ist.
Beispiele:
- Passive FTP schickt die source-ip auf Anwendungsebene mittels des Port-Kommandos. Es bedarf eines speziellen Filters am NAT-Gateway, damit passive ftp funktioniert und unentdeckt bleibt.
- Mailserver auf Rechner1: trägt in der Standardkonfiguartion die interne IP in den Mailheader ein
- Filesharing-Programme
- Spiele
Grundsätzlich nutzen diese Hinweise aber mehr einem Cracker, der es auf Sicherheitslücken im NAT-System abgesehen hat. Denn die Nutzung von NAT setzt nicht mehrere Rechner voraus, auch eine Nutzung auf einem Rechner (ein Beispiel wäre vmware) ist möglich.