SelfLinux Linux im Netzwerk Network Address Translation Abschnitt 1 | SelfLinux-0.13.0

| Network Address Translation | Autor Formatierung GPL

#### 1 Einleitung

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.

#### 2 Wo ist die offizielle Website und Mailingliste?

Es gibt drei offizielle Seiten:

- Dank an Penguin Computing http://netfilter.filewatcher.org.
- Dank an The Samba Team and SGI http://netfilter.samba.org.
- Dank an Harald Welte http://netfilter.gnumonks.org.

Für die offizielle Netfilter-Mailingliste siehe Sambas Listserver Netfilter List http://www.netfilter.org/contact.html#list.

#### 2.1 Was ist Network Address Translation?

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.

#### 2.2 Warum sollte ich NAT wollen?

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.