IP-Masquerading ist eine Netzwerkfunktion unter Linux, ähnlich der eine-zu-vielen Übersetzungen von Netzwerkadressen, die häufig in kommerziellen Firewalls und Netzwerkroutern anzutreffen sind. Wenn, zum Beispiel, ein Linux-Host mittels PPP, Ethernet, etc. mit dem Internet verbunden ist, erlaubt die Masquerading-Funktion anderen, intern mit dem Linux-Rechner verbundenen, Computern die Nutzung des Internet. Masquerading bietet diese Funktionalität sogar, wenn die internen Maschinen keine offiziell zugeteilten Internet-IP-Adressen haben.
IP-Masq erlaubt einem ganzen Satz von Maschinen unsichtbares betreten des Internet, versteckt hinter einem Gateway-System, welches nach außen hin als ein einzelnes System erscheint. Hinzu kommt, daß Masquerading die Grundlage für eine sehr sichere Netzwerkumgebung bereitstellt. Zusammen mit einem gut aufgebauten Firewall sollte ein Einbruch in das System und interne LAN äußerst schwerfallen.
IP-Masquerading ist schon vor etlichen Jahren erschienen und mit dem Eintritt des Linux-Kerns ins Stadium 2.2.x gründlich ausgereift. Linux-Betriebssystemkerne ab der Version 1.3.x hatten die Unterstützung bereits eingebunden. Heute nutzen es viele Anwender privat und sogar wirtschaftlich mit ausgezeichneten Ergebnissen.
Verbreitete Internetnutzung wie Websurfen, TELNET, PING, TRACEROUTE, etc. laufen einwandfrei, andere Kommunikationsprogramme wie FTP, IRC und Real-Audio funktionieren ebenfalls gut, benötigen aber die Aktivierung jeweiliger IP-Masq-Module. Audio-Netzwerkanwendungen(MP3, True Speech, etc.) arbeiten auch. Einige Benutzer in der Mailingliste hatten sogar schon gute Ergebnisse mit Videokonferenzprogrammen. Vollständigere Angaben bietet die Sektion Unterstützte Client-Software.
Masquerading arbeitet gut als Server mit »Client-Maschinen« zusammen, die auch andere Betriebsysteme und Hardwareplattformen fahren. Es gibt erfolgreiche Fälle mit folgenden maskierten, internen Systemen:
Die Liste geht weiter und weiter, der Punkt ist, wenn Ihr Betriebsystem mittels TCP/IP kommuniziert, sollten Sie auch IP-Masquerading nutzen können!
Ein Beispiel einer einfachen Einrichtung aus der original IP-Masquerading-FAQ von Ken Eves:
SLIP/PPP +------------+ +-------------+
zum IS-Provider | Linux- | SLIP/PPP | Surfer |
<----------Modem1| System |Modem2 --------- Modem3| |
111.222.333.444 | | 192.168.0.100 | |
+------------+ +-------------+
Im oberen Diagramm ist ein Linux-System mit installiertem und
laufendem IP-Masquerading mittels SLIP oder PPP über Modem1 ans Internet
angeschlossen. Es hat die registrierte, öffentliche Adresse 111.222.333.444.
Es ist so eingerichtet, daß Modem2 eine Einwahl der Anrufer erlaubt und
daraufhin automatisch eine SLIP- oder PPP-Verbindung ins Internet startet. Der
Rechner Surfer(er muß nicht unbedingt Linux laufen haben) wählt sich in
das Linux-System ein und startet eine SLIP- oder PPP-Verbindung. Er hat
keine öffentliche, registrierte IP-Adresse, so benutzt er die
private Adresse 192.168.0.100(siehe weiter unten für mehr Informationen über
private Adressbereiche). Mit Masquerading und korrekt konfiguriertem
Routing kann die Maschine Surfer mit dem Internet interagieren, so als wäre
sie direkt mit ihm verbunden.
Das Folgende ist ein Ausschnitt aus einer Nachricht auf
comp.os.linux.networking
, welcher das oben aufgeführte Beispiel
verdeutlichen soll:
Ein anderes Beispiel von IP-Masquerading:
Ein typisches Beispiel zeigt das Diagramm unten:
+----------+
| | Ethernet
| A |::::::
| |.2 : 192.168.0.x
+----------+ :
: +----------+ PPP-
+----------+ : .1 | Linux | Verbindung
| | :::::::| Masq-Gate|:::::::::::::::::::// Internet
| B |:::::: | | 111.222.333.444
| |.3 : +----------+
+----------+ :
:
+----------+ :
| | :
| C |::::::
| |.4
+----------+
| | |
|<- Internes Netzwerk-->| |<- Externes Netzwerk ---->
| | |
Die Abbildung zeigt vier untereinander vernetzte Computer. Außerdem einen
Server bei Ihrem Provider, der die PPP-Verbindung zum Internet bereitstellt,
und dann gibt es noch einen Host irgendwo im Internet mit dem Sie
kommunizieren wollen. Das Linux-System Masq-Gate ist der
Masquerading-Gateway zum Internet für alle internen Netzwerkcomputer
A, B und C. Die internen
Adressen sind gemäß der
RFC-1918 Assigned Private Network Addresses zugeteilt, wobei es in diesem
Fall ein Klasse-C-Netzwerk mit der Netznummer 192.168.0.0 ist. Der
Linux-Gateway hat die TCP/IP-Addresse 192.168.0.1 und die anderen Rechner wie
folgt:
http://www.kernel.org/
. (Die meisten modernen
Linux-Distributionen mit Masq-Unterstützung, wie Redhat 5.2, 6.0,
SuSE 5.3, 6.4 und höher besitzen modulare Kerne mit voreinkompilierten
Masquerading-Optionen. In solchen Fällen ist es nicht nötig, einen neuen Kern
zu erstellen. Wenn Sie jedoch ein Upgrade Ihres Kerns vornehmen, sollten Sie
sicherstellen, daß auch die benötigten Programme auf den entsprechend
aktuellen Stand gebracht werden(dieses wird später noch angesprochen)). Wie
Sie einen neuen Kern konfigurieren, kompilieren und installieren steht in der
Linux Kernel HOWTO
ftp.xos.nl:/pub/linux/ipfwadm/ipfwadm-2.3.tar.gz
(höchstwahrscheinlich werden Sie dieses Programm bereits haben).
IP PortForwarding(IPPORTFW)
finden Sie über den Link.
Fred Viles`s FTP-Server-Patch
(explizite Details zur Anwendung vermittelt die
Portumleiter Sektion
dieser HOWTO).
X-WINDOWS Display-Umleiter
.
Loose UDP-Patch für 2.0.36+.
Genauere Angaben entnehmen Sie
bitte der Sektion
Spiele-Clients. Besuchen Sie Dan Kegels
NAT-Seite
.
http://www.kernel.org/
.
http://www.pi.se/blox/modules/.
Die meisten Distributoren
haben hier schon vorgesorgt.
http://netfilter.filewatcher.org/ipchains/
, höchstwahrscheinlich
werden Sie dieses Programm bereits haben, denn es gehört zum Standartumfang.
IP PortForwarding(IPMASQADM)
(empfohlen).
Die neueren 2.3.x und 2.4.x Linux-Kerne arbeiten mit dem neuartigen Programm NetFilter. Es hat viele grundlegende Änderungen in der Architektur und Bedienung gegeben, mit dem Ziel, das System flexibler, funktionsreicher und handlicher zu machen. Allerdings werden die Einrichtung und Gebrauch in dieser Version des Dokuments nicht berücksichtigt. Es ist noch nicht entschieden, ob wir dieses hier aufnehmen oder ob dafür eine eigene HOWTO geschrieben wird. Folgende Adressen verschaffen bis dato Hilfe:
http://netfilter.filewatcher.org/unreliable-guides/index.html
http://netfilter.filewatcher.org/unreliable-guides/NAT-HOWTO.html