Inhalt

3. Einrichtung von IP-Masquerading

Wenn Ihr privates Netzwerk vitale Daten enthält, sollten Sie vor der Implementierung von Masquerading in erster Linie an die Sicherheit denken. Normalerweise wird IP-Masq für Sie die Funktion einer Brücke ins Internet spielen, aber es kann genauso Jemandem die Möglichkeit geben, in Ihr internes Netzwerk einzudringen.

Funktioniert Masquerading erst mal, ist es höchst empfehlenswert, einen starken Firewall aufzustellen. Mehr Details hinzu enthalten die erweiterten IPFWADM- bzw. IPCHAINS- Regelsätze.

3.1 Kompilierung des Betriebssystemkerns für die IP-Masquerading Unterstützung

Wenn Ihre Linux-Distribution bereits alle folgende, erforderliche Features in den Kern einkompiliert hat:

und alle Masq-bezogenen Module(die meisten modularen Kerne haben bereits alles nötige), dann brauchen Sie den Kern nicht zu re-kompilieren. Wenn Sie sich nicht sicher sind ob Ihre Linux-Distribution für Masquerading vorbereitet ist, sehen Sie unter Distributionen mit Masq-Unterstützung für mehr Details. Läßt es sich trotzdem nicht herausfinden, ob Ihre Distribution Masquerading per Voreinstellung unterstützt, so nehmen Sie an sie tut es nicht.

Unabhängig der nativen Unterstützung oder nicht, ist es unbedingt empfehlenswert, dieses Kapitel zu lesen, da hier einige wichtige Punkte behandelt werden.

Linux 2.0.x - Betriebssystemkerne

Sollte es das erste Mal sein, daß Sie einen Kern kompilieren, lassen Sie sich nicht abschrecken, denn es ist viel einfacher als es sich anhört.

Als Erstes brauchen Sie den Kern-Quellcode(vorzugsweise die letzte 2.0.36-Version oder höher). Entpacken Sie den Code nach /usr/src/, wobei das »x« in 2.0.x für die Versionsnummer Ihres Kerns steht. Vergewissern Sie sich, daß danach ein Verzeichnis oder symbolische Verknüpfung /usr/src/linux/ existieren:

tar xvzf linux-2.0.x.tar.gz -C /usr/src

Nachfolgend sind nur Komponenten aufgelistet, die unmittelbar für die Masquerading-Funktionalität benötigt werden. Außerdem müssen natürlich noch systemspezifische Optionen eingebunden werden, hierzu bitte die Linux Kernel HOWTO lesen. Nicht alle Optionen werden ohne die zugehörigen Kern-Patche verfügbar sein, das wird dann auch jeweils erwähnt. Achten Sie bitte auch auf die Ja oder Nein Antworten:

[*] In der Entwicklung befindliche und/oder experimentelle Treiber/Code anzeigen

- Ja: Dieses wird Ihnen später die Wahl des IP-Masquerading-Funktionscodes erlauben.

[*] Unterstützung für ladbare Module

- Ja: Erlaubt ladbare IP-Masq - Kernmodule.

[*] Networking support

- Ja: Aktiviert die Netzwerkeinstellungen im Subsystem.

[*] Firewall-Funktionalität

- Ja: Aktiviert das Firewall-Werkzeug IPFWADM.

[*] Unterstützung des TCP/IP-Protokolls

- Ja: Aktiviert das TCP/IP-Protokoll.

[*] IP: forwarding/gatewaying

- Ja: Aktiviert die Paketumleitung und Routing im Linux-Netzwerk.

[*]Schutz vor "SYN flooding"

- Ja: Sehr empfohlen für grundliegende Netzwerksicherheit.

[*] IP: Firewall-Funktionalität

- Ja: Aktviert die Firewall-Funktionalität.

[*] IP: Unterstützung ausführlicher IP-Routing-Anzeigen

- Ja:(optional aber sehr empfohlen): schreibt die Ausgaben der Firewallfunktion in eine Logdatei.

[*] IP: Masquerading

- Ja: Aktiviert IP-Masquerading.

[ ] IP: Unterstützung von ipautofw Masquerading(experimentell)

- Nein: IPAUTOFW ist eine Methode der TCP/IP-Portumleitung. Obwohl sie funktioniert, ist IPPORTFW derzeit die bessere Lösung, daher ist IPAUTOFW nicht empfohlen.

[*] IP: Unterstützung von ipportfw Masquerading(experimentell)

- Ja: Diese Einstellung ist optional und für die 2.0.x - Kerne nur mittels Patch verfügbar. Mit dieser Einstellung können externe Computer im Internet direkten Kontakt mit internen, maskierten Maschinen aufnehmen. Diese Funktion wird typischerweise von internen SMTP-, TELNET-, und WWW-Servern genutzt. FTP-Portumleitung erläutert die Portumleiter-Sektion dieser HOWTO.

[*] IP: ICMP Masquerading

- Ja: Aktiviert die Unterstützung für ICMP-Pakete.

[*] IP: Loose UDP Portverwaltung(experimentell)

- Ja: Diese Einstellung ist optional und für die 2.0.x - Kerne nur mittels Patch verfügbar. Mit aktivierter Einstellung können interne, maskierte Computer an NAT-freundlichen Spielen übers Internet teilnehmen.

[*] IP: IP-Pakete immer defragmentieren(für Masquerading erforderlich)

- Ja: Diese Funktion optimiert Masq-Verbindungen - sehr empfohlen.

[*] IP: Optimierung für Router(nicht Host)

- Ja: Dieses optimiert den Kern für das Netzwerksubsystem.

[*] Unterstützung für das /proc-Dateisystem

- Ja: Erforderlich für die Aktivierung des Umleitungssystems im Linux-Netzwerk.

Linux 2.2.x - Betriebssystemkerne

Sollte es das erste Mal sein, daß Sie einen Kern kompilieren, lassen Sie sich nicht abschrecken, denn es ist viel einfacher als es sich anhört.

Als Erstes brauchen Sie den 2.2.x - Kern-Quellcode(vorzugsweise die letzte 2.2.1-Version oder höher). Entpacken Sie den Code nach /usr/src/, wobei das »x« in 2.2.x für die Versionsnummer des Kerns steht. Vergewissern Sie sich, daß danach ein Verzeichnis oder symbolische Verknüpfung /usr/src/linux/ existieren:

tar xvzf linux-2.2.x.tar.gz -C /usr/src

Nachfolgend sind nur Komponenten aufgelistet, die unmittelbar für die Masquerading-Funktionalität benötigt werden. Außerdem müssen natürlich noch systemspezifische Optionen eingebunden werden, hierzu bitte die Linux Kernel HOWTO lesen. Nicht alle Optionen werden ohne die zugehörigen Kern-Patche verfügbar sein, das wird dann auch jeweils erwähnt. Achten Sie bitte auch auf die Ja oder Nein Antworten:

[*] In der Entwicklung befindliche und/oder experimentelle Treiber/Code anzeigen

- Ja: Dieses wird Ihnen später die Wahl des IP-Masquerading-Funktionscodes erlauben.

[*] Unterstützung für ladbare Module

- Ja: Erlaubt ladbare IP-Masq - Kernmodule.

[*] Networking support

- Ja: Aktiviert die Netzwerkeinstellungen im Subsystem.

[*] Packet socket

- Ja: Dieses Feature ist optional, jedoch sehr empfohlen, weil es die Lösung von möglichen Problemen mit IP-Masq erleichtert.

[*] Kernel/User network link driver

- Ja: Diese Einstellung ist optional und erlaubt die Aufzeichnung der Firewallausgaben in eine Logdatei.

[ ] Routing Nachrichten

- Nein: Diese Option hat nichts mit den Ausgaben des Firewalls zu tun.

[*] Firewall-Funktionalität

- Ja: Aktiviert das Firewall-Werkzeug IPCHAINS.

[*] Unterstützung des TCP/IP-Protokolls

- Ja: Aktiviert das TCP/IP-Protokoll.

[ ] Weiterentwickelte Unterstützung für IP-Router

- Nein: Dieses wird nur für erweitertes ipchains/masq-Routing benötigt.

[*] Unterstützung ausführlicher IP-Routing-Anzeigen

- Ja: Dieses ist nützlich wenn Sie den Routing-Code für die Abschreibung unerwünschter IP-Pakete einsetzen(sehr empfohlen) und die Einzelheiten aufzeichnen wollen.

[*] IP: Firewall-Funktionalität

- Ja: Aktviert die Firewall-Funktionalität.

[*] Gerät zur Analyse von Netz-Paketen am Firewall

- Ja: Optional, verbessert aber die Aufzeichnung der Firewall-Ausgaben.

[*] IP: IP-Pakete immer defragmentieren(für Masquerading erforderlich)

- Ja: Dieses Feature wird im Zusammenhang mit der Aktivierung von Transparent-Proxies benötigt. Außerdem optimiert es IP-Masq.

[*] IP: Masquerading

- Ja: Aktiviert IP-Masquerading.

[*] IP: ICMP Masquerading

- Ja: Aktiviert die Maskierung für ICMP-Ping-Pakete. Ping ist ein wichtiges Werkzeug zur Lösung von Verbindungsproblemen.

[*] IP: Unterstützung für spezielle Masquerading-Module

- Ja: Obwohl optional, erlaubt es später die Wahl einer Einstellung, deren Aktivierung externen Computern, von Außen her, eine direkte Verbindung zu internen, maskierten Maschinen ermöglicht.

[ ] IP: Unterstützung von ipautofw Masquerading(experimentell)

- Nein: ipautofw ist eine Methode der TCP/IP-Portumleitung. Obwohl sie funktioniert, ist IPPORTFW derzeit die bessere Lösung, daher ist IPAUTOFW nicht empfohlen.

[*] IP: Unterstützung von ipportfw Masquerading(experimentell)

- Ja: Diese Einstellung ist optional und für die 2.0.x - Kerne nur mittels Patch verfügbar. Mit dieser Einstellung können externe Computer im Internet direkten Kontakt mit internen, maskierten Maschinen aufnehmen. Diese Funktion wird typischerweise von internen SMTP-, TELNET-, und WWW-Servern genutzt. FTP-Portumleitung erläutert die Portumleiter-Sektion dieser HOWTO.

[ ] IP: Unterstützung von ipmarkfw Masquerading(experimentell)

- Nein: Dieses erlaubt die Portumleitung direkt von IPCHAINS. Im Moment ist diese Funktion noch experimentell und die empfohlene Methode ist die Nutzung von IPMASQADM und IPPORTFW.

[*] IP: Optimierung für Router(nicht Host)

- Ja: Dieses optimiert den Kern für das Netzwerk-Subsystem, wenn es auch keinen signifikanten Performance-Unterschied bringt.

[ ] IP: GRE Tunnel über IP

- Nein: Diese optionale Einstellung aktiviert PPTP- und GRE-Tunneling durch IP.

[*] IP: Schutz for "SYN flooding"

- Ja: Sehr empfohlen für grundliegende Netzwerksicherheit.

[*] Unterstützung für Netzwerk-Devices

- Ja: Aktiviert die Linux-Netzwerk-Subschicht.

[*] Unterstützung für das /proc-Dateisystem

- Ja: Erforderlich für die Aktivierung des Umleitungssystems im Linux-Netzwerk.

Linux 2.3.x/ 2.4.x - Betriebssystemkerne

Diese Linux-Versionen werden in diesem Dokument noch nicht berücksichtigt. Sehen Sie bitte die 2.3.x/ 2.4.x - Anforderungen für Adressen und Verweise auf themenbezogene Seiten.

3.2 Zuteilung der privaten Netzwerk-IP-Adressen für das interne LAN

Da alle internen, maskierten Computer keine offiziellen Internet - IP-Adressen zugeteilt bekommen, muß es einen spezifischen und akzeptierten Weg geben, diese Maschinen zu identifizieren, ohne daß ihre Adressen, mit denen der Internet-Benutzer in Konflikt treten.

RFC 1918 ist das offizielle Dokument, das die Verteilung der IP-Adressen in privaten Netzen regelt. Es definiert 3 Nummernbereiche, die speziell für diesen Zweck reserviert wurden(Sektion 3: Private Adreßbereiche):

Die Internet-Assigned-Numbers-Authority(IANA) hat die folgenden drei IP-Adreßblöcke für private Netzwerke reserviert:

                10.0.0.0        -   10.255.255.255
                172.16.0.0      -   172.31.255.255
                192.168.0.0     -   192.168.255.255
Der Erste Block ist ein Klasse-A-Netzwerk, während der zweite Bereich aus 16 aufeinander folgenden Klasse-B-Netzen besteht. Und der dritte Bereich enthält demnach 255 Klasse-C-Netze.

Für gewöhnlich nutzt man in privaten Netzen den 192.168.0.0 Adreßbereich mit einer 255.255.255.0 Klasse-C-Netzmaske, diese HOWTO bezieht sich ebenfalls darauf. Natürlich dürfen auch die anderen Adreßbereiche verwendet werden, stellen Sie aber dabei auch sicher, daß die korrekte Subnetzmaske eingegeben wird.

Also, wenn Sie ein Klasse-C-Netzwerk verwalten, sollten für die Maschinen mit TCP/IP-Unterstützung die Adressen 192.168.0.1, 192.168.0.2, 192.168.0.3, ..., 192.168.0.x verteilt werden.

Normalerweise ist 192.168.0.1 die Brücke, also der Linux-Masq-Server, der den Zugang zum Internet bereitstellt und demnach auch noch eine offizielle Internet-IP-Adresse besitzt. Bitte beachten Sie, daß 192.168.0.0 und 192.168.0.255 die Netzwerk- bzw. Broadcast-Adressen sind und dementsprechend nicht genutzt werden dürfen. Andernfalls kann Ihr Netzwerk nicht richtig funktionieren.

3.3 Konfiguration der IP-Umleitungsregeln

An diesem Punkt sollten Sie bereits Ihren Kern und andere benötigten Pakete installiert haben. Alle Netzwerk-IP-Adressen, Brücken und DNS-Adressen auf dem Linux-Host sollten ebenfalls konfiguriert sein.

Schreiben Sie folgende Zeilen in die Datei /etc/rc.d/rc.local (bei der SuSE-Distribution ist es /sbin/init.d/boot.lokal), damit das Masquerading-Script automatisch ausgeführt wird, und IP-Masq daraufhin bei jedem System-Ladeprozeß startet:

.
.       
#rc.firewall-Script - startet IP-Masq und den Firewall  
/etc/rc.d/rc.firewall
.
.       
Was noch zu tun bleibt, ist die Konfiguration der Firewalling-Regeln für die Maskierung und Umleitung der dafür vorgesehenen Pakete an die bestimmten Rechner. Dieses kann nach vielen verschiedenen, individuellen Mustern erfolgen. Die hier gebrachten Vorschläge und Beispiele funktionieren in meinem Netzwerk, allerdings dürfen Sie auch eigene Anforderungen und Ideen berücksichtigen.

An dieser Stelle wird nur das nötige Minimum an Firewall-Regeln für Masquerading behandelt. Nachdem IP-Masq erst einmal läuft und erfolgreich getestet wurde(wie es später in dieser HOWTO beschrieben wird), dann wechseln Sie bitte, für sichereren Firewall-Schutz, umgehend zu erweiterten IPFWADM- bzw. IPCHAINS -Regelsätzen.

Linux 2.0.x-Kerne

Erzeugen Sie die Datei /etc/rc.d/rc.firewall mit dem folgenden einfachen Regelsatz:

# rc.firewall - Einfaches Masquerading-Setup fuer
# 2.0.x-Kerne mittels IPFWADM
#
# Laden von erforderlichen IP-Masq Modulen
#   Hinweis:  Laden Sie nur Module, die Sie auch nutzen wollen.
#             Alle derzeit verfuegbaren Masq-Module sind unten
#             aufgefuehrt und vom Laden auskommentiert.
#
# Benoetigt fuer die Initialisierung der, zu ladender, Module
#
/sbin/depmod -a

# Unterstuetzt optimierte FTP-Dateiuebertragung mittels der
# Port-Methode
#
/sbin/modprobe ip_masq_ftp


# Unterstuetzt die Maskierung von Real Audio ueber das UDP-Protokoll. 
#      Real audio funktioniert auch ohne dieses Moduls, dann aber im 
#      TCP-Modus und das kann fuer Einbusen in der Soundqualitaet 
#      sorgen 
#
#/sbin/modprobe ip_masq_raudio

# Erlaubt maskierte IRC DCC-Dateiuebertragung
#
#/sbin/modprobe ip_masq_irc

# Die Maskierung von Quake und Quake World wird per Voreinstellung
#   unterstuetzt. Diese Module werden nur bei mehreren Spielern 
#   gleichzeitig hinter dem Masq-Server gebraucht. Wenn Sie QuakeI, II
#   oder III ueber andere Serverports spielen wollen,
#   dann ist das zweite Beispiel das Richtige
#
# Quake I / QuakeWorld(Ports 26000 and 27000)
#/sbin/modprobe ip_masq_quake
#
# Quake I, II und III / QuakeWorld(Ports 26000, 27000, 27910)
#/sbin/modprobe ports=ip_masq_quake 26000,27000,27910

# Unterstuetzt die Maskierung von 
#   CuSeeme(Can you See me)-Videokonferenz-Software
#
#/sbin/modprobe ip_masq_cuseeme

# Unterstuetzt die Maskierung von VDO-live Videokonferenz-Software
#
#/sbin/modprobe ip_masq_vdolive


# Kritisch:  Aktiviert die IP-Umleitung(IP-forwarding), da
#            sie per Voreinstellung deaktiviert ist.
#
echo "1" > /proc/sys/net/ipv4/ip_forward

# Dynamische IP-Adressen:
#
# Wenn Ihnen die IP-Adresse dynamisch zugeteilt wird, ist die
#       folgende Option von Vorteil, da sie das Arbeiten mit Diald 
#       und aehnlichen Programmen erheblich erleichtert.
#       
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr


# Masq-Auszeiten(timeouts)
#
#   2 Std. Auszeit fuer TCP-Sitzungen
#  10 Sek. Verkehrsauszeit nach dem Empfang des letzten TCP/IP-Paketes
#  60 Sek. Auszeit fuer UDP-Verkehr(maskierte ICQ-Benutzer muessen 
#          30 Sek. Firewall-Auszeit im ICQ-Programm selbst einstellen)
#
/sbin/ipfwadm -M -s 7200 10 60



# Aktivierung von IP-Umleitung und Masquerading
#
#  Hinweis:  Das folgende Beispiel steht fuer ein internes
#            LAN mit 192.168.0.x als Netzadresse und 255.255.255.0
#            oder 24-Bit als Subnetzmaske. Bitte aendern Sie die
#            Netzadresse und Subnetzmaske in die Ihres internen LAN
#
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0


# DHCP:  Leute, die ihre externe IP-Adresse von entweder DHCP oder
#        BOOTP empfangen wie ADSL- oder Kabelmodem-Benutzer muessen 
#        dieses noch vor dem deny-Befehl einbinden. Der Ausdruck 
#        »bootp_client_net_if_name« steht fuer den Namen der
#        Schnittstelle, der der DHCP/BOOTP-Server eine IP-Adresse 
#        zuordnet. Das kann etwa wie eth0, eth1, etc. aussehen
#
#        Das Beispiel ist per Voreinstellung deaktiviert. 
#
#        
#ipfwadm -I -a accept -S 0/0 68 -D 0/0 67 -W bootp_clients_net_if_name -P udp
Nach der Erstellung der Datei /etc/rc.d/rc.firewall muß diese mit dem chmod-Befehl ausführbar gemacht werden:
chmod 700 /etc/rc.d/rc.firewall

Es ist möglich, Masquerading sowohl für ganze Netzwerke, wie in der obigen Methode, als auch nur für ausgewählte Rechner einzusetzen. Sagen wir zum Beispiel, ich will, daß nur die Hosts 192.168.0.2 und 192.168.0.8 Zugang zum Internet bekommen, und keine der anderen internen Maschinen. In diesem Fall sind nur Änderungen in der obigen Beispieldatei /etc/rc.d/rc.firewall notwendig.

# Aktivierung von IP-Umleitung und Masquerading
#
#  Hinweis:  Diese Konfiguration erlaubt Masquerading nur fuer die
#            Hosts 192.168.0.2 und 192.168.0.8 mit 255.255.255.0
#            oder 24-Bit als Subnetzmaske
#
#            Bitte benutzen Sie das Folgende zusammen mit dem
#            oben besprochenen Regelsatz
#
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.0.2/32 -D 0.0.0.0/0
ipfwadm -F -a m -S 192.168.0.8/32 -D 0.0.0.0/0

Viele neue Masq-Benutzer neigen dazu, die Einstellungen auf Kosten der Sicherheit zu vereinfachen, wie z. B. durch die Umstellung des ersten Befehls:

ipfwadm -F -p masquerade
Die Aktivierung von Masquerading von vorne herein und in alle Richtungen ist aber grundsätzlich nicht empfohlen, weil sie für Jemanden, der die Routing-Tabellen manipulieren kann, eine Möglichkeit, seine eigenen Verbindungen durch Ihr Gateway zu maskieren, bietet!

Sie können diese Regeln in /etc/rc.d/rc.firewall oder in eine andere rc-Datei Ihrer Wahl schreiben. Hauptsache sie wird ausgelesen und aktiviert. Es bietet sich natürlich auch die Möglichkeit, die Befehle bei jedem Gebrauch von Masquerading von Hand einzugeben.

Linux 2.2.x-Kerne

Bitte beachten Sie, daß IPFWADM bei neueren 2.1.x- und 2.2.x-Betriebssystemkernen nicht mehr das Firewall-Werkzeug für die Manipulation von Masquerading-Regeln ist. Stattdessen verwenden Sie IPCHAINS. Eine detaillierte Begründung für diese Änderung enthält die FAQ.

Erzeugen Sie die Datei /etc/rc.d/rc.firewall mit dem folgenden einfachen Regelsatz:

# rc.firewall - einfaches Masquerading-Setup fuer 2.1.x- und
# 2.2.x-Kerne mittels IPCHAINS
#

# Laden von erforderlichen IP-Masq Modulen
# 
# Hinweis: Laden Sie nur Module, die Sie auch nutzen wollen. Alle
#          derzeit verfuegbaren Masq-Module sind unten aufgefuehrt und vom
#          Laden auskommentiert.
# 
/sbin/depmod -a

# Unterstuetzt optimierte FTP-Dateiuebertragung mittels der 
# Port-Methode
# 
# /sbin/modprobe ip_masq_ftp 
      
# Unterstuetzt die Maskierung von Real Audio ueber das UDP-Protokoll. 
# Real audio funktioniert auch ohne dieses Moduls, dann aber
# im TCP-Modus und das kann fuer Einbusen in der
# Soundqualitaet sorgen
# 
#/sbin/modprobe ip_masq_raudio 

# Erlaubt maskierte IRC DCC-Dateiuebertragung 
# 
#/sbin/modprobe ip_masq_irc 

# Die Maskierung von Quake und Quake World wird per Voreinstellung 
# unterstuetzt. Diese Module werden nur bei mehreren Spielern 
# gleichzeitig hinter dem Masq-Server gebraucht. Wenn Sie QuakeI, II
# oder III ueber andere Serverports spielen wollen,
# dann ist das zweite Beispiel das Richtige 
# 
# Quake I / QuakeWorld(Ports 26000 and 27000) 
#/sbin/modprobe ip_masq_quake 
# 
# Quake I, II und III / QuakeWorld(Ports 26000, 27000, 27910)
#/sbin/modprobe ports=ip_masq_quake 26000,27000,27910 

# Unterstuetzt die Maskierung von 
# CuSeeme(Can you See me)-Videokonferenz-Software 
# 
#/sbin/modprobe ip_masq_cuseeme 

# Unterstuetzt die Maskierung von VDO-live Videokonferenz-Software 
# 
#/sbin/modprobe ip_masq_vdolive 

# Kritisch: Aktiviert die IP-Umleitung(IP-forwarding), da sie
#           per Voreinstellung deaktiviert ist.
# 
echo "1" > /proc/sys/net/ipv4/ip_forward

# Dynamische IP-Adressen: 
# 
# Wenn Ihnen die IP-Adresse dynamisch zugeteilt wird, ist die
# folgende Option von Vorteil, da sie das Arbeiten mit Diald 
# und aehnlichen Programmen erheblich erleichtert. 
# 
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr 

# Masq-Auszeiten(timeouts) 
# 
#     2 Std.  Auszeit fuer TCP-Sitzungen
#     10 Sek. Verkehrsauszeit nach dem Empfang des letzten TCP/IP-Paketes 
#     60 Sek. Auszeit fuer UDP-Verkehr(maskierte ICQ-Benutzer 
#             muessen 30 Sek. Firewall-Auszeit im ICQ-Programm 
#             selbst einstellen)
# 
ipchains -M -S 7200 10 60
      
# Aktivierung von IP-Umleitung und Masquerading 
# 
# Hinweis:      Das folgende Beispiel steht fuer ein internes LAN
#               mit 192.168.0.x als Netzadresse und 255.255.255.0 
#               oder 24-Bit als Subnetzmaske. Bitte aendern Sie die
#               Netzadresse und Subnetzmaske in die Ihres internen LAN
# 
ipchains -P forward DENY
ipchains -A forward -s 192.168.0.0/24 -j MASQ

# DHCP:         Leute, die ihre externe IP-Adresse von entweder DHCP 
#               oder BOOTP empfangen wie ADSL-Benutzer muessen dieses noch vor
#               dem deny-Befehl einbinden. Der Ausdruck
#               »bootp_client_net_if_name« steht fuer den Namen der
#               Schnittstelle, der der DHCP/BOOTP-Server eine 
#               IP-Adresse zuordnet. Das kann etwa 
#               wie eth0, eth1, etc. aussehen 
# 
#               Das Beispiel ist per Voreinstellung deaktiviert. 
# 
#ipchains -A input -j ACCEPT -w bootp_clients_net_if_name -s 0/0 68 -d 0/0 67 -p udp
Nach der Erstellung der Datei /etc/rc.d/rc.firewall muß diese mit dem chmod-Befehl ausführbar gemacht werden:
chmod 700 /etc/rc.d/rc.firewall
Es ist möglich, Masquerading sowohl für ganze Netzwerke, wie in der obigen Methode, als auch nur für ausgewählte Rechner einzusetzen. Sagen wir zum Beispiel, ich will, daß nur die Hosts 192.168.0.2 und 192.168.0.8 Zugang zum Internet bekommen, und keine der anderen internen Maschinen. In diesem Fall sind nur Änderungen in der obigen Beispieldatei /etc/rc.d/rc.firewall notwendig.
# Aktivierung von IP-Umleitung und Masquerading
#
#  Hinweis:  Diese Konfiguration erlaubt Masquerading nur fuer die
#            Hosts 192.168.0.2 und 192.168.0.8 mit 255.255.255.0
#            oder 24-Bit als Subnetzmaske
#
#            Bitte benutzen Sie das Folgende zusammen mit dem
#            oben besprochenen Regelsatz
# 
ipchains -P forward deny 
ipchains -A forward -s 192.168.0.2/32 -j MASQ 
ipchains -A forward -s 192.168.0.8/32 -j MASQ 
Viele neue Masq-Benutzer neigen dazu, die Einstellungen auf Kosten der Sicherheit zu vereinfachen, wie z. B. durch die Umstellung des ersten Befehls:
/sbin/ipchains -P forward masquerade
Die Aktivierung von Masquerading von vorne herein und in alle Richtungen ist aber grundsätzlich nicht empfohlen, weil sie für Jemanden, der die Routing-Tabellen manipulieren kann, eine Möglichkeit, seine eigenen Verbindungen durch Ihr Gateway zu maskieren, bietet!

Sie können diese Regeln in /etc/rc.d/rc.firewall oder in eine andere rc-Datei Ihrer Wahl schreiben. Hauptsache sie wird ausgelesen und aktiviert. Es bietet sich natürlich auch die Möglichkeit, die Befehle bei jedem Gebrauch von Masquerading von Hand einzugeben.

Eine detailliertere Führung in IPCHAINS und strengere Regeln enthält der erweiterte IPCHAINS-Regelsatz. Für weitere Einzelheiten wenden Sie sich bitte an die Linux IP CHAINS HOWTO


Inhalt