|
Willkommen, geschätzter Leser,
Du bist dabei, in die faszinierende (und manchmal schreckliche) Welt
der NAT einzutauchen: Network Address Translation, und dieses HOWTO
wird etwas wie Dein Führer zum 2.4er Kernel und weiter sein.
Mit Linux 2.4 wurde eine Infrastruktur für das Untersuchen von
Paketen, genannt netfilter, eingeführt. Eine darauf aufbauende
Schicht bietet NAT, komplett von den vorangegangenen Kerneln neu
implementiert.
|
Es gibt drei offizielle Seiten:
Für die offizielle Netfilter-Mailingliste siehe Sambas Listserver
Netfilter List
http://www.netfilter.org/contact.html#list.
Gewöhnlich reisen Pakete in einem Netzwerk von ihrer Quelle (z.B.
Dein Computer) zu ihrem Ziel (z.B. http://www.gnumonks.org) durch viele
verschiedene Links: ungefähr 19 von da, wo ich in Australien bin.
Keiner dieser Links verändert das Paket wirklich, sie schicken es
einfach weiter.
Wenn einer dieser Links NAT machen würde, dann würde er die Quelle
oder das Ziel des Paket verändern, wenn es eintrifft. Wie Du Dir
vorstellen kannst, wurde das System nicht entworfen, so zu arbeiten,
also ist NAT immer etwas, was man mit Vorsicht behandeln sollte.
Gewöhnlich wird sich der Link, der NAT macht, daran erinnern, wie er
das Paket verändert hat, und wenn ein Antwortpaket aus der anderen
Richtung kommt, wird er genau das Umgekehrte darauf anwenden, und so
funktioniert es.
|
In einer perfekten Welt würdest Du das gar nicht. In der Zwischenzeit
sind hier die Gründe:
-
Modemverbindungen zum Internet
Die meisten Internetanbieter geben Dir eine einzelne Adresse,
wenn Du Dich bei ihnen einwählst. Du kannst Pakete mit welcher
Quelladresse auch immer verschicken, aber nur Pakete mit dieser
Antwortadresse werden zu Dir zurückkommen. Wenn Du mehrere
verschiedene Maschinen (so wie ein Heim-Netzwerk) benutzen
willst, um Dich durch diesen Link mit dem Internet zu verbinden,
wirst Du NAT brauchen.
Dies ist die heute am meisten verbreitete Art von NAT,
gewöhnlich in der Linuxwelt als Masquerading bekannt. Ich
nenne dies SNAT, weil die Quell- (Source) Adresse des ersten
Pakets verändert wird.
-
Mehrere Server
Manchmal möchtest Du ändern, wohin einkommende Pakete in
Deinem Netzwerk gehen sollen. Oft ist das so, weil Du (wie oben
erwähnt) nur eine IP-Adresse hast, Du möchtest den Leuten aber
die Möglichkeit geben, auch die Rechner hinter dem einen mit
der echten IP-Adresse zu erreichen. Du kannst das schaffen,
wenn Du das Ziel von einkommenden Paketen ändern kannst.
Eine bekannte Variation dessen nennt sich load-sharing: Eine
große Anzahl von Paketen wird über eine Reihe von Maschinen
verändert, indem die Pakete aufgefächert werden. Diese
Version von NAT wurde unter früheren Linuxversionen
Port-Forwarding genannt.
-
Transparente Proxies
Manchmal möchtest Du so tun, also ob jedes Paket, das durch
Deinen Linuxrechner geht, für ein Programm auf dem Linuxrechner
selbst bestimmt ist. Dies wird für transparente Proxies
verwendet: ein Proxy ist ein Programm, das zwischen Deinem
Netzwerk und der Außenwelt steht und die Kommunikation
dazwischen regelt. Der transparente Teil kommt daher, weil Dein
Netzwerk nicht einmal weiß, dass es mit mit einem Proxy redet,
es sei denn natürlich, der Proxy funktioniert nicht.
Squid kann auf diese Art konfiguriert werden, unter früheren
Linuxversionen hieß das Umleiten (Redirection) oder auch
transparentes Proxying.
|
|
|