Weiter Zurück Inhalt

6. Sonstiges zu Masquerading und Software Unterstützung

6.1 Probleme mit Masquerading

TCP/IP-Protokolle mancher Anwendungen werden nicht ohne weiteres mit Linix-Masquerading arbeiten, weil sie entweder mehr Informationen zu Portnummern voraussetzen oder die IP-Adressen und/oder Portnummern in ihrem Datenstrom verschlüsseln. Diese Protokolle benötigen spezifische Proxies oder in den Masquerading-Code eingebaute Module.

6.2 Einkommende Dienste

Einkommende Dienste werden von Masquerading per Voreinstellung nicht angenohmen, aber es gibt einige Möglichkeiten diese zu erlauben.

Wenn Sie nicht unbedingt Ansprüche auf höchste Sicherheit erheben, wäre einfache Portumleitung der geeignete Weg. Das meistgenutzte Werkzeug dieser Art ist sicherlich IPPORTFW. Für genauere Informationen hinzu lesen Sie bitte die Portumleiter Sektion.

Wenn Sie Wert auf verstärkte Sicherheit legen und für einkommende Verbindungen nur bestimmte IP-Adressen zulassen möchten, müssen TCP-Wrappers oder Xinetd konfiguriert werden. Die TIS-Firewall-Werkzeugsammlung ist auf der Suche nach Werkzeugen und Informationen eine gute Anlaufstelle. Mehr Einzelheiten über die Sicherheit einkommender Dienste bieten das TrinityOS-Dokument und IP Masquerade Ressource.

6.3 Unterstützte Client-Software und Hinweise zur Einrichtung

Eine Menge nützlicher Informationen über Anwendungen, die Linux-Masquerading unterstützen enthält die Liste der Masquerading Anwendungen. Leider wird diese Liste nicht regelmäßig betreut und bietet nicht immer die neuesten Informationen. Im Allgemeinen sollte jede Anwendung, die standarte TCP- und UDP-Protokolle verwendet, auch über Masquerading laufen. Wenn Sie Anmerkungen, Vorschläge, Tips, etc. haben, wenden Sie sich bitte an die Autoren.

Netzclients, die IP-Masquerading unterstützen

Clients mit allgemeiner Verwendung:

Archie

alle unterstützten Plattformen(manche Archie-Clients werden nicht unterstützt). Programm zum suchen von Dateien.

FTP

alle unterstützten Plattformen, unter Verwendung des ip_masq_ftp.o Kern-Moduls.

Gopher-Client

alle unterstützten Plattformen

HTTP

alle unterstützten Plattformen. Surfen im WWW

IRC

alle IRC-Programme auf verschiedenen, unterstützten Plattformen. DCC nur mittels des ip_masq_irc.o Moduls

NNTP(USENET)

alle unterstützten Plattformen. USENET-News Client

PING

alle Plattformen mit im Kern gesetzter ICMP-Masquerading Option

POP3

alle unterstützten Plattformen. E-Mail Client

SSH

alle unterstützten Plattformen. Sichere TELNET/FTP-Clients

SMTP

alle unterstützten Plattformen. E-Mail Server wie Sendmail, Qmail, PostFix, etc.

TELNET

alle unterstützten Plattformen. Sitzung an einem entfernten Rechner

TRACEROUTE

UNIX und Windows basierte Plattformen. Manche Ausführungen werden möglicherweise nicht arbeiten

VRML

Windows. Surfen in der virtuellen Realität

WAIS-Client

alle unterstützten Plattformen.

Anwendungen für Multimedia und Kommunikation:

Alpha Worlds

Windows. Client-Server 3D-Chatprogramm

CU-SeeMe

alle unterstützten Plattformen mit geladenem ip_masq_cuseeme Modul. Mehr Einzelheiten enthält die CuSeeme-Sektion.

ICQ

alle unterstützten Clients, vorausgesetzt der Kern wurde mit IPPORTFW-Unterstützung kompiliert und ICQ wird mitgeteilt, hinter einem NON-SOCKS-Proxy zu sein. Eine komplette Beschreibung dieser Konfiguration findet sich in der ICQ-Sektion.

Internet Phone 3.2

Windows. Ein peer-to-peer Audio-Kommunikationsprogramm. Sie können nur erreicht werden, wenn Sie den Anruf selbst initiieren, eine umgekehrte Funktion ist nur mittels spezifischer Portumleitung möglich. Lesen Sie bitte die Portumleiter-Sektion für mehr Details.

Internet Wave Player

Windows. Audiostrom-Abspieler

Powwow

Windows. Eine peer-to-peer Text-, Audio-Kommunikationstafel. Sie können nur erreicht werden, wenn Sie den Anruf selbst initiieren, eine umgekehrte Funktion ist nur mittels spezifischer Portumleitung möglich. Lesen Sie bitte die Portumleiter-Sektion für mehr Details.

Real Audio Player

Real-Audio-Spieler. Bessere Qualität liefert das ip_masq_raudio UDP-Modul

True Speech Player 1.1b

Windows. Audiostrom-Abspieler

VDOLive

Windows. Mit dem ip_masq_vdolive-Patch

Worlds Chat 0.9a

Windows. Client-Server 3D-Chatprogramm

Spiele - die LooseUDP-Sektion bietet mehr Informationen über den, für viele Spiele erforderlichen, LooseUDP-Patch

Battle net

Funktioniert, benötigt aber, daß TCP-Ports 116 und 118 und UDP-Port 6112 mittels IPPORTFW zur Spielermaschine umgeleitet werden. Für mehr Einzelheiten beziehen Sie sich bitte auf die Portumleiter-Sektion. Die FSGS und Bnetd-Server wurden noch nicht in NAT-freundlich umgeschrieben und benötigen daher ebenfalls IPPORTFW.

BattleZone 1.4

Funktioniert mit dem LooseUDP-Patch und den neuen, NAT-freundlichen

DLLs von Activision

Dark Reign 1.4

Läuft mit dem LooseUDP-Patch, oder es müssen die TCP-Ports 116 und 118 und der UDP-Port 6112 zur Spielermaschine mittels IPPORTFW umgeleitet werden. Für mehr Einzelheiten hinzu sehen Sie bitte die Portumleiter-Sektion.

Diablo

Läuft mit dem LooseUDP-Patch, oder es müssen die TCP-Ports 116 und 118 und der UDP-Port 6112 zur Spielermaschine mittels IPPORTFW umgeleitet werden. Für mehr Einzelheiten hinzu sehen Sie bitte die Portumleiter-Sektion.

Heavy Gear 2

Läuft mit dem LooseUDP-Patch, oder es müssen die TCP-Ports 116 und 118 und der UDP-Port 6112 zur Spielermaschine mittels IPPORTFW umgeleitet werden. Für mehr Einzelheiten hinzu sehen Sie bitte die Portumleiter-Sektion.

Quake I/II/III

Funktioniert ohne Weiteres, benötigt aber, bei mehr als einem Quake-Spieler hinter dem Masq-Server, die Installation des ip_masq_quake -Moduls. Allerdings unterstützt dieses Modul nur Quake I und Quake World per Voreinstellung. Für die Einrichtung von Quake II/III oder nicht standarten Server-Ports sehen Sie bitte die rc.firewall-2.0.x- und rc.firewall-2.2.x-Regelsätze.

StarCraft

Läuft mit dem LooseUDP-Patch und der Umleitung der TCP- und UDP-Ports 6112 zur internen, maskierten Spielermaschine mittels IPPORTFW. Lesen Sie bitte die Portumleiter-Sektion für mehr Details.

WorldCraft

Läuft mit dem LooseUDP-Patch

Andere Clients:

Linux net-acct-Paket

Linux. Account-Verwaltung übers Netzwerk

NCSA Telnet 2.3.08

DOS. Eine Sammlung bestehend aus telnet, ftp, ping, etc.

PC-anywhere für Windows

MS-Windows. Steuert einen entfernten PC über TCP/IP. Funktioniert nur als Client, nicht aber als Server ohne spezifische Portumleitung. Mehr Details enthält die Portumleiter-Sektion.

Socket Watch

Benutzt NTP - network time protocol

Nicht unterstützte Clients:

Alle H.323 Programme

- MS Netmeeting, Intel Internet Phone Beta 2 - Das Signal wird einseitig - nur nach Außen hin übertragen. Eine mögliche Lösung ist der

Equivalence's PhonePatch

Intel Streaming Media Viewer Beta 1

Keine Verbindung zum Server

Netscape CoolTalk

Keine Verbindung zur Gegenseite

WebPhone

Zur Zeit nicht funktionsfähig.

6.4 Erweiterte IP-Firewall-Regelsätze(IPFWADM)

Diese Sektion vermittelt einen tieferen Einblick in den Gebrauch von IPFWADM, dem Firewall-Werkzeug für 2.0.x-Kerne.

Das Beispiel bezieht sich auf ein Masquerading-System hinter einer PPP-Verbindung mit statischer PPP-Adresse(Anweisungen für dynamische Adreßzuteilung sind enthalten aber deaktiviert). Die Schnittstelle zum Ethernet hat die Adresse 192.168.0.1 und die Adresse der PPP-Schnittstelle ist aus Sicherheitsgründen verfremdet worden :) Alle Dienste, die nicht explizit erlaubt sind, werden per Voreinstellung zurückgewiesen. Sollte Ihr Linux-Masq-Server dieses Script nicht zufriedenstellend ausführen, versuchen Sie es an Ihre Gegebenheiten anzupassen und beachten dabei die Meldungen des Firewalls in /var/log/messages oder /var/adm/messages.

Reicht das vorliegende Konfigurationsbeispiel für Ihre Bedürfnisse nicht aus oder entspricht es nicht Ihren Gegebenheiten, wenden Sie sich bitte an

GreatCircle's Firewall WWW-Seite

Hinweis: Wenn Ihnen die IP-Adresse dynamisch von Ihrem ISP(PPP, ADSL, etc.) zugeteilt wird, darf dieser erweiterte Regelsatz nicht bereits beim Systemstart geladen werden. Es muß Jedesmal nach Zuteilung der IP-Adresse stattfinden. Dafür kann der Regelsatz in /etc/rc.d/rc.firewall intelligenter gestaltet werden. PPP-Benutzer lesen bitte sorgfältig den Absatz »Dynamische PPP IP-Adreßzuteilung« und entfernen gegebenenfalls die Kommentarzeichen am Zeilenanfang.

Und Letztens. Sollten Sie statische PPP IP-Adressen verwenden, so stellen Sie bitte sicher, daß die Zeile »ppp-ip = »Ihre.statische.PPP.Adresse«« Ihre eigene Adresse reflektiert. ----------------------------------------------------------------

#!/bin/sh
#
# /etc/rc.d/rc.firewall: Ein Beispiel erweiterter
# Firewall-Regeln(IPFWADM)
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

#  Die folgenden Zeilen sind zu aktivieren
# (Kommentarzeichen entfernen), wenn Sie wollen, dass der Firewall
#  nach 10 Minuten aussetzt.
#
# (sleep 600; \
# ipfwadm -I -f; \
# ipfwadm -I -p accept; \
# ipfwadm -O -f; \
# ipfwadm -O -p accept; \
# ipfwadm -F -f; \
# ipfwadm -F -p accept; \
# ) &

# Hinweis: Laden Sie nur die benoetigten IP-Masq Module. Die Meisten
# sind per Voreinstellung mit einem Kommentarzeichen deaktiviert,
# entfernen Sie diese gegebenenfalls.

# Initialisiert die, zu ladenden, Module(unbedingt ausfuehren!)
#
/sbin/depmod -a

# Optimiert maskierte 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. Folgende 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 und 27000)
#/sbin/modprobe ip_masq_quake
#
#Quake I/II/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

# Hier wird Ihre statische Internet-IP-Adresse eingetragen.
# Bitte deaktivieren, wenn Sie keine statische Adresse haben.
#
ppp-ip =»Ihre.statische.PPP.Adresse«

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

# Dynamische PPP IP-Adreßzuteilung:
#    Haben Sie eine dynamische Adresse, muss sie, jedesmal wenn Sie
#    eine neue bekommen, diesem Script mitgeteilt werden. Dafuer
#    aktivieren Sie bitte(Kommentarzeichen entfernen) das folgende
#    kleine Script(bitte beachten, dass alle Einfuehrungszeichen
#    erhalten bleiben muessen!). Aber zuerst tippen Sie noch einen
#    Befehl ein:
#
#             ln -s /etc/rc.d/rc.firewall /etc/ppp/ip-up
#
#    Damit wird die Datei ip-up zu einer Verknuepfung auf rc.firewall.
#    Da /etc/ppp/ip-up nach jeder zustandegekommenen PPP-Verbindung
#    ausgefuehrt wird, startet auch rc.firewall und liest mit
#    folgenden Zeilen die neue IP-Adresse aus:
#
# ppp-ip = "`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | \
# sed -e 's/.*://'`"

# 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


#####################################################################
# Einkommender Verkehr. Per Voreinstellung werden alle einkommenden
# Pakete zurueckgewiesen. Eigentlich ist diese Einstellung hier
# ueberfluessig, da im Folgenden alle Pakete mit deny und log
# abgefangen werden.
#
ipfwadm -I -f
ipfwadm -I -p reject

# Lokale Schnittstelle. Alle von lokalen Computern einkommenden
# Pakete werden akzeptiert.
#
ipfwadm -I -a accept -V 192.168.0.1 -S 192.168.0.0/24 -D 0.0.0.0/0

# Internet Schnittstelle. Computer, die sich ueber diese Schnittstelle
# als lokal ausgeben(IP-Spoofing), werden zurueckgewiesen.
#
ipfwadm -I -a reject -V $ppp-ip -S 192.168.0.0/24 -D 0.0.0.0/0 -o

# Internet Schnittstelle. Jeglicher Verkehr zur permanenten
# PPP-Adresse wird akzeptiert 
#
ipfwadm -I -a accept -V $ppp-ip -S 0.0.0.0/0 -D $ppp-ip/32

# Loopback-Schnittstelle wird akzeptiert.
#
ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0

# Die Regeln werden befolgt, alle anderen einkommenden Pakete werden 
# verweigert und protokolliert. 
#
ipfwadm -I -a reject -S 0.0.0.0/0 -D 0.0.0.0/0 -o


#####################################################################
# Ausgehender Verkehr. Per Voreinstellung werden alle ausgehenden 
# Pakete zurueckgewiesen. Eigentlich ist diese Option hier 
# ueberfluessig, da der gesamte ausgehende Verkehr mit den Regeln
# abgefangen wird. 
#
ipfwadm -O -f
ipfwadm -O -p reject

# Lokale Schnittstelle. Verkehr zum lokalen Netz wird akzeptiert.
ipfwadm -O -a accept -V 192.168.0.1 -S 0.0.0.0/0 -D 192.168.0.0/24

# Internet Schnittstelle. Alle IP-Pakete, die sich ausgeben, ueber 
# diese Schnittstelle ans lokale 
# Netz auszugehen(stuffed Routing) werden verweigert.
#
ipfwadm -O -a reject -V $ppp-ip -S 0.0.0.0/0 -D 192.168.0.0/24 -o

# Internet Schnittstelle. Alle ausgehenden IP-Pakete, die sich 
# ausgeben, ueber diese Schnittstelle vom lokalen 
# Netz zu kommen(stuffed masquerading) werden verweigert.
#
ipfwadm -O -a reject -V $ppp-ip -S 192.168.0.0/24 -D 0.0.0.0/0 -o

# Alles Andere, was ueber die Internet-Schnittstelle ausgeht, ist 
# erlaubt.
#
ipfwadm -O -a accept -V $ppp-ip -S $ppp-ip /32 -D 0.0.0.0/0

# Loopback-Schnittstelle wird akzeptiert.
#
ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0

# Die Regeln werden befolgt, alle anderen ausgehenden Pakete werden 
# zurueckgewiesen und protokolliert. 
#
ipfwadm -O -a reject -S 0.0.0.0/0 -D 0.0.0.0/0 -o


#####################################################################
# Forwarding(Umleitung von IP-Paketen). Per Voreinstellung werden 
# keine Pakete umgeleitet. Eigentlich ist das hier ueberfluessig, da
# alle zu umleitenden Pakete mit den Regeln abgefangen und 
# gegebenenfalls protokolliert werden
#
ipfwadm -F -f
ipfwadm -F -p deny

# Verkehr vom lokalen Netz ueber die lokale Schnittstelle wird nach 
# ueberallhin maskiert.
#
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/24 -D 0.0.0.0/0

# Die Regeln werden befolgt, alle anderen Pakete werden nicht  
# umgeleitet und protokolliert. 
#
ipfwadm -F -a reject -S 0.0.0.0/0 -D 0.0.0.0/0 -o

Die unerwünschten Teile des Verkehrs lassen sich mit IPFWADM, unter Verwendung der -I(input), -O(output) und -F(flush) Regeln genau festlegen und blockieren. Bitte beachten, daß die Regeln in der Reihenfolge von oben nach unten abgearbeitet werden und die Option »-a« die Regel jeweils an das Ende des bestehenden Regelsatzes anhängt. Das bedeutet, die spezifischen Anordnungen müssen vor den globalen Regeln gelesen werden. Zum Beispiel:

Beispiel eines Regelsatzes in /etc/rc.d/rc.firewall

Benutzung der -I Regeln. Wahrscheinlich sind das die schnellsten, aber sie blockieren nur die lokalen Rechner, der Firewall selbst hat trotzdem noch Zugang zur »verbotenen« Adresse. Natürlich dürfen Sie solch eine Kombination verwenden.

#... Beginn der -I Regeln...

# Lokale Schnittstelle. Lokale Computer duerfen keine Pakete an
# 204.50.10.13 senden und werden gegebenenfalls protokolliert
#
ipfwadm -I -a reject -V 192.168.0.1 -S 192.168.0.0/24 -D 204.50.10.13/32 -o

# Kontakt zu allen anderen Adressen ist erlaubt.
#
ipfwadm -I -a accept -V 192.168.0.1 -S 192.168.0.0/24 -D 0.0.0.0/0

#... Ende der -I Regeln...
Benutzung der -O Regeln. Diese sind am langsamsten, weil die Pakete gegebenenfalls zuerst maskiert werden müssen, aber sie lassen dem Firewall keine Möglichkeit, mit der »verbotenen« Adresse Kontakt aufzunehmen.
#... Beginn der -O Regeln...

# Internet Schnittstelle. Alle Pakete an die Adresse 204.50.10.13
# werden zurueckgewiesen und protokolliert
#
ipfwadm -O -a reject -V $ppp-ip -S $ppp-ip/32 -D 204.50.10.13/32 -o


# Alle anderen, ueber die Internet-Schnittstelle ausgehenden Pakete,
# sind erlaubt
#
ipfwadm -O -a accept -V $ppp-ip -S $ppp-ip/32 -D 0.0.0.0/0

#... Ende der -O Regeln...
Benutzung der -F Regeln. Sie sind langsamer als die -I Regeln und stoppen nur die internen, maskierten Computer. Der Firewall selbst hat trotzdem Zugang zur »verbotenen« Adresse.
#... Beginn der -F Regeln...

# Internet-Schnittstelle. Pakete vom lokalen Netz zur 
# Adresse 204.50.10.13 werden zurueckgewiesen und protokolliert.
#
ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/24 -D 204.50.10.13/32 -o


# Alle anderen Verbindungen vom lokalen Netz werden maskiert und 
# erlaubt.
#
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/24 -D 0.0.0.0/0

#... Ende der -F Regeln..

Genauere Angaben über den Gebrauch von IPFWADM enthält die entsprechende Manual Page.

6.5 Erweiterte IPCHAINS-Regelsätze

Dieses ist das primäre Werkzeug für die Manipulation des Firewall-Regelsatzes auf 2.2.x-Betriebssystemkernen.

Das Beispiel bezieht sich auf ein Masquerading-System hinter einer PPP-Verbindung mit statischer PPP-Adresse(Anweisungen für dynamische Adreßzuteilung sind enthalten aber deaktiviert). Die Schnittstelle zum Ethernet hat die Adresse 192.168.0.1 und die Adresse der PPP-Schnittstelle ist aus Sicherheitsgründen verfremdet worden :) Alle Dienste, die nicht explizit erlaubt sind, werden per Voreinstellung zurückgewiesen. Sollte Ihr Linux-Masq-Server dieses Script nicht zufriedenstellend ausführen, versuchen Sie es an Ihre Gegebenheiten anzupassen und beachten dabei die Meldungen des Firewalls in /var/log/messages oder /var/adm/messages.

Reicht das vorliegende Konfigurationsbeispiel für Ihre Bedürfnisse nicht aus oder entspricht es nicht Ihren Gegebenheiten, wenden Sie sich bitte an

GreatCircle's Firewall WWW page

Hinweis: Wenn Ihnen die IP-Adresse dynamisch von Ihrem ISP(PPP, ADSL, etc.) zugeteilt wird, darf ein erweiterter Regelsatz nicht bereits beim Systemstart geladen werden. Es muß Jedesmal nach Zuteilung der IP-Adresse stattfinden. Dafür kann der Regelsatz in /etc/rc.d/rc.firewall intelligenter gestaltet werden. Das Zauberwort für PPP-Benutzer heißt /etc/ppp/ip-up.

Und Letztens. Sollten Sie statische PPP IP-Adressen verwenden, so stellen Sie bitte sicher, daß die Zeile »extip = »Ihre.statische.PPP.Adresse«« Ihre eigene Adresse reflektiert. ----------------------------------------------------------------

#!/bin/sh
#
# /etc/rc.d/rc.firewall: Ein Beispiel erweiterter
# Firewall-Regeln(IPCHAINS)
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# Hinweis: Laden Sie nur die benoetigten IP-Masq Module. Die Meisten
# sind per Voreinstellung mit einem Kommentarzeichen deaktiviert,
# entfernen Sie diese gegebenenfalls.

# Initialisiert die, zu ladenden, Module(unbedingt ausfuehren!)
#
/sbin/depmod -a

# Optimiert maskierte 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. Folgende Module werden nur bei mehreren Spielern
#     gleichzeitig hinter dem Masq-Server gebraucht. Wenn Sie QuakeI
#     und/oder Quake I/II/III ueber andere Serverports spielen wollen,
#     dann ist das zweite Beispiel das Richtige
#
#Quake I / QuakeWorld(ports 26000 und 27000)
#/sbin/modprobe ip_masq_quake
#
#Quake I / QuakeWorld / Quake II / und Quake III(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

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

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

# Dynamische PPP IP-Adreßzuteilung:
#    Haben Sie eine dynamische Adresse, muss sie, jedesmal wenn Sie
#    eine neue bekommen, diesem Script mitgeteilt werden. Dafuer
#    aktivieren Sie bitte(Kommentarzeichen entfernen) das folgende
#    kleine Script(bitte beachten, dass alle Einfuehrungszeichen
#    erhalten bleiben muessen!). Aber zuerst tippen Sie noch einen
#    Befehl ein:
#
#             ln -s /etc/rc.d/rc.firewall /etc/ppp/ip-up
#
#    Damit wird die Datei ip-up zu einer Verknuepfung auf rc.firewall.
#    Da /etc/ppp/ip-up nach jeder zustandegekommenen PPP-Verbindung
#    ausgefuehrt wird, startet auch rc.firewall und liest mit
#    folgenden Zeilen die neue IP-Adresse aus:
#
# extip= "`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | \
# sed -e 's/.*://'`"

# Hier wird Ihre statische Internet-IP-Adresse eingetragen.
# Bitte deaktivieren, wenn Sie keine statische Adresse haben.
#
extip=»Ihre.statische.PPP.Adresse«

# In der folgenden Zeile definieren Sie bitte die Internet-Schnittstelle.
# Normalerweise ist es ppp0, kann aber auch eth0 oder eine Andere sein.
extint="ppp0"

# Angaben zur Netzwerkschnittstelle und interner Netzadresse
intint="eth0"
intnet="192.168.1.0/24"

# 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

#####################################################################
# Einkommender Verkehr. Per Voreinstellung werden alle einkommenden
# Pakete zurueckgewiesen. Eigentlich ist diese Einstellung hier
# ueberfluessig, da im Folgenden alle Pakete mit deny und log
# abgefangen werden.
#
ipchains -F input
ipchains -P input REJECT

# Lokale Schnittstelle. Alle von lokalen Computern einkommenden
# Pakete werden akzeptiert.
#
ipchains -A input -i $intint -s $intnet -d 0.0.0.0/0 -j ACCEPT

# Internet Schnittstelle. Computer, die sich ueber diese Schnittstelle
# als lokal ausgeben(IP-Spoofing), werden zurueckgewiesen.
#
ipchains -A input -i $extint -s $intnet -d 0.0.0.0/0 -l -j REJECT

# Internet Schnittstelle. Jeglicher Verkehr zur permanenten
# PPP-Adresse wird akzeptiert
#
ipchains -A input -i $extint -s 0.0.0.0/0 -d $extip/32 -j ACCEPT

# Loopback-Schnittstelle wird akzeptiert.
#
ipchains -A input -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

# Die Regeln werden befolgt, alle anderen einkommenden Pakete werden
# verweigert und protokolliert.
#
ipchains -A input -s 0.0.0.0/0 -d 0.0.0.0/0 -l -j REJECT

#####################################################################
# Ausgehender Verkehr. Per Voreinstellung werden alle ausgehenden
# Pakete zurueckgewiesen. Eigentlich ist diese Option hier
# ueberfluessig, da der gesamte ausgehende Verkehr mit den Regeln
# abgefangen wird.
#
ipchains -F output
ipchains -P output REJECT

# Lokale Schnittstelle. Verkehr zum lokalen Netz wird akzeptiert.
ipchains -A output -i $intint -s 0.0.0.0/0 -d $intnet -j ACCEPT

# Internet Schnittstelle. Alle IP-Pakete, die sich ausgeben, ueber
# diese Schnittstelle ans lokale
# Netz auszugehen(stuffed Routing) werden verweigert.
#
ipchains -A output -i $extint -s 0.0.0.0/0 -d $intnet -l -j REJECT

# Internet Schnittstelle. Alle ausgehenden IP-Pakete, die sich
# ausgeben, ueber diese Schnittstelle vom lokalen
# Netz zu kommen(stuffed masquerading) werden verweigert.
#
ipchains -A output -i $extint -s $intnet -d 0.0.0.0/0 -l -j REJECT

# Alles Andere, was ueber die Internet-Schnittstelle ausgeht, ist
# erlaubt.
#
ipchains -A output -i $extint -s $extip/32 -d 0.0.0.0/0 -j ACCEPT

# Loopback-Schnittstelle wird akzeptiert.
#
ipchains -A output -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

# Die Regeln werden befolgt, alle anderen ausgehenden Pakete werden
# zurueckgewiesen und protokolliert.
#
ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 -l -j REJECT

#####################################################################
# Forwarding(Umleitung von IP-Paketen). Per Voreinstellung werden
# keine Pakete umgeleitet. Eigentlich ist das hier ueberfluessig, da
# alle zu umleitenden Pakete mit den Regeln abgefangen und
# gegebenenfalls protokolliert werden
#
ipchains -F forward
ipchains -P forward DENY

# Verkehr vom lokalen Netz ueber die lokale Schnittstelle wird nach
# ueberallhin maskiert.
#
ipchains -A forward -i $extint -s $intnet -d 0.0.0.0/0 -j MASQ

# Die Regeln werden befolgt, alle anderen Pakete werden nicht
# umgeleitet und protokolliert.
#
ipchains -A forward -s 0.0.0.0/0 -d 0.0.0.0/0 -l -j REJECT

Die unerwuenschten Teile des Verkehrs lassen sich mit IPCHAINS, unter Verwendung der -I(input), -O(output) und -F(flush) Regeln genau festlegen und blockieren. Bitte beachten, daß die Regeln in der Reihenfolge von oben nach unten abgearbeitet werden und die Option »-A« die Regel jeweils an das Ende des bestehenden Regelsatzes anhängt. Das bedeutet, die spezifischen Anordnungen müssen vor den globalen Regeln gelesen werden. Zum Beispiel: Beispiel eines Regelsatzes in /etc/rc.d/rc.firewall

Benutzung der -I Regeln. Wahrscheinlich sind das die schnellsten, aber sie blockieren nur die lokalen Rechner, der Firewall selbst hat trotzdem noch Zugang zur »verbotenen« Adresse. Natürlich dürfen Sie solch eine Kombination verwenden.

#... Beginn der -I Regeln...

# Lokale Schnittstelle. Lokale Computer duerfen keine Pakete an
# 204.50.10.13 senden und werden gegebenenfalls protokolliert
#
/sbin/ipfwadm -I -a reject -V 192.168.0.1 -S 192.168.0.0/24 -D \
204.50.10.13/32 -o

# Kontakt zu allen anderen Adressen ist erlaubt.
#
/sbin/ipfwadm -I -a accept -V 192.168.0.1 -S 192.168.0.0/24 -D 0.0.0.0/0

#... Ende der -I Regeln...

Benutzung der -O Regeln. Diese sind am langsamsten, weil die Pakete gegebenenfalls zuerst maskiert werden müssen, aber sie lassen dem Firewall keine Möglichkeit, mit der »verbotenen« Adresse Kontakt aufzunehmen.

#... Beginn der -O Regeln...

# Internet Schnittstelle. Alle Pakete an die Adresse 204.50.10.13
# werden zurueckgewiesen und protokolliert
#
/sbin/ipfwadm -O -a reject -V $ppp_ip -S $ppp_ip/32 -D 204.50.10.13/32 -o

# Alle anderen, ueber die Internet-Schnittstelle ausgehenden Pakete,
# sind erlaubt
#
/sbin/ipfwadm -O -a accept -V $ppp_ip -S $ppp_ip/32 -D 0.0.0.0/0

#... Ende der -O Regeln...
Benutzung der -F Regeln. Sie sind langsamer als die -I Regeln und stoppen nur die internen, maskierten Computer. Der Firewall selbst hat trotzdem Zugang zur »verbotenen« Adresse.
#... Beginn der -F Regeln...

# Internet-Schnittstelle. Pakete vom lokalen Netz zur
# Adresse 204.50.10.13 werden zurueckgewiesen und protokolliert.
#
/sbin/ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/24 -D 204.50.10.13/32 -o

# Alle anderen Verbindungen vom lokalen Netz werden maskiert und
# erlaubt.
#
/sbin/ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/24 -D 0.0.0.0/0

#... Ende der -F Regeln..

6.6 Maskierung mehrerer interner Netzwerke

Die Maskierung von mehr als einem Netzwerk ist keine große Angelegenheit. Als Erstes stellen Sie bitte sicher, daß alle netzwerkinternen und externen Verbindungen korrekt funktionieren. Theoretisch erklärt, soll der Verkehr jeweils beide internen Schnittstellen passieren dürfen und in Richtung Internet für alle maskiert werden.

Wichtig: Die Kommunikation der internen Schnittstellen untereinander muß explizit erlaubt werden!

Das folgende Beispiel zeigt wie zwei interne Schnittstellen eth1(192.168.0.1) und eth2(192.168.1.1), die jeweils für ein Netzwerk stehen, in Richtung ppp0 (Inernet) maskiert werden. Diese vier Zeilen können in das Script etc/rc.d/rc.firewall unmittelbar in die Stelle, die Masquerading aktiviert, eingesetzt werden.

6.7 Masquerading und automatische Einwahl auf Anforderung(Dial-on-Demand)

Wollen Sie Ihr Netzwerk für die automatische Einwahl ins Internet einrichten, können Diald oder neue Versionen des PPPd-Paketes von großem Nutzen sein. Diald ist die empfohlene Lösung, da sie eine Fülle von Konfigurationsmöglichkeiten bietet.

Die Einrichtung von Diald findet sich auf der Webseite:

Setting Up Diald for Linux

Sind Diald und IP-Masq einmal ordentlich eingerichtet, wird der Linux-Server auf jede Anforderung der maskierten Client-Rechner(web-, telnet-, ftp-Sitzung etc.) dynamisch die Verbindung zum Internet herstellen.

Mit der ersten Anforderung wird sich eine Auszeit ereignen. Besonders bei analogen Modems wird eine gewisse Zeit gebraucht bis die Modem- und PPP-Verbindungen hochkommen. Bei manchen Client-Programmen z.B. WWW-Browser kann es passieren, daß die angeforderte Seite dann auch nicht mehr geladen wird. In diesem Fall reicht, nach zustandegekommener Verbindung, eine erneute Anforderung der Seite, danach sollte alles weitere reibungslos funktionieren. Eine Aushilfe verschafft auch die Manipulation der Kern-Optionen durch Eingabe von:

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

6.8 IPPORTFW, IPMASQADM, IPAUTOFW, REDIR, UDPRED, und andere Werkzeuge für die Portumleitung

IPPORTFW, IPAUTOFW, REDIR, UDPRED, und derartige Programme sind im Allgemeinen TCP- und/oder UDP-Portumleiterwerkzeuge für Linux-Masquerading. Sie werden typischerweise mit oder als Ersatz für spezifische Masq-Module wie FTP, Quake etc. eingesetzt. Mit diesen Hilfsmitteln können Internetverbindungen direkt an die privat adressierten Maschinen hinter Ihrem Masq-Server umgeleitet werden. Es können Dienste wie TELNET, WWW, SMTP, FTP(mit entsprechendem Patch - siehe unten), ICQ, und viele Andere umgeleitet werden.

Hinweis: Wenn Sie einfache Portumleitung ohne IP-Masquerading einsetzen wollen, muß trotzdem Masquerading sowohl im Betriebssystemkern als auch im IPFWADM- bzw. IPCHAINS-Regelsatz aktiviert werden, und erst damit lassen sich die Portumleitungsbefehle einsetzen.

Nun fragt man sich, wozu diese große Auswahl? IPAUTOFW, REDIR, und UDPRED waren die ersten verfügbaren Hilfsmittel dieser Art. Später, als Linux-Masquerading reifer wurde, ersetzte IPPORTFW, als eine intelligentere Lösung, diese Vorgänger. Es wird vor dem Gebrauch dieser veralteten Mittel dringend abgeraten, weil sie nicht ordentlich mit dem Kern zusammenarbeiten und bei extrem großem Verkehrsaufkommen sogar einen Systemabsturz verursachen können.

Um IPPORTFW installieren zu können, muß die Unterstützung der gleichnamigen Option in den Betriebssystemkern eingebunden sein. Rekompilieren Sie also nötigenfalls den Kern.

IPPORTFW auf 2.0.x-Betriebssystemkernen

Als Erstes müssen das Programm ipportfw.c und der Kern-Patch subs-patch-x.gz(x steht für die Versionsnummer) aus den 2.0.x-Anforderungen nach /usr/src runtergeladen werden.

Kopieren Sie den IPPORTFW-Patch(subs-patch-x.gz) in das Linux-Verzeichnis

cp /usr/src/subs-patch-1.3x.gz /usr/src/linux

Als Nächstes wird, mittels des Patch, die Kern-Option IPPORTFW erzeugt:

cd /usr/src/linux
zcat subs-patch-1.3x.gz | patch -p1

Nun ist es an der Zeit, einen neuen Kern zu erstellen, wie es unter Kompilierung des Betriebssystemkerns beschrieben wird. Bei der Konfiguration des Kerns ist die, jetzt verfügbare, IPPORTFW-Option auf »Ja« zu setzen. Haben Sie den Kern kompiliert und das System neu gestartet, kann zu dieser Sektion zurückgekehrt werden.

Nun muß noch das IPPORTFW-Programm installiert werden.

cd /usr/src
gcc ipportfw.c -o ipportfw
mv ipportfw /usr/local/sbin

Im folgenden Beispiel werden wir den WWW-Verkehr(Port 80) zu einem internen, maskierten WWW-Server mit der IP-Nummer 192.168.0.10 umleiten.

Hinweis: Ist der Portumleiter auf Port 80 einmal aktiviert, kann dieser Port nicht mehr von Ihrem Linux-Masq-Server genutzt werden. Das heißt, läuft auf dem Masq-Rechner bereits ein WWW-Server und Sie wollen Port 80 trotzdem umleiten, bleibt dieser Server auf der Strecke und alle Internet-Benutzer werden nur die Seiten von Ihrem internen WWW-Server zu sehen bekommen. Eine mögliche Lösung in diesem Fall ist z.B. die Umleitung des Ports 8080, aber dann werden die Internet-Benutzer, um die Seiten Ihres internen Servers aufrufen zu können, jedesmal ein :8080 an die URL anhängen müssen.

Jedenfalls, um Portumleitung zu aktivieren, ist eine Änderung des /etc/rc.d/rc.firewall-Regelsatzes notwendig. Die folgenden Zeilen können einfach hinten drangehängt werden, wobei das Wort »$extip« durch Ihre Internet-IP-Adresse zu ersetzen ist.

         /etc/rc.d/rc.firewall  
          --    
         #echo "Aktivierung der Portumleitung zum externen LAN.."       
         #      
         /usr/local/sbin/ipportfw -C    
         /usr/local/sbin/ipportfw -A -t$extip/80 -R 192.168.0.10/80     
          --

Das war`s! Einfach /etc/rc.d/rc.firewall restarten und die Portumleitung testen!

Portumgeleitete FTP-Server:

Die Aufgabe, den FTP-Verkehr an eine interne Maschine umzuleiten, ist um einiges komplizierter. Die Hauptursache hierfür liegt darin, daß das standarte IP_MASQ_FTP-Kernmodul nicht für diesen Zweck geschrieben wurde. Glücklicherweise hat Fred Viles ein modifiziertes Modul geschrieben, das diese Funktionalität beinhaltet. Wenn Sie auf die genaue Arbeitsweise dieses Moduls neugierig sind, bieten folgende Archive und Freds Dokumente eine hinreichende Informationsquelle. Und zuletzt noch ein Hinweis darauf, daß dieser Patch noch als »experimentell« einzustufen ist und auch als solches behandelt werden sollte.

Also, die folgenden Schritte sind für die Einrichtung notwendig:

Ist das abgeschlossen, müssen noch einige Zeilen in /etc/rc.d/rc.firewall addiert werden, wobei das Wort »$extip« durch Ihre Internet-IP-Adresse zu ersetzen ist.

In diesem Beispiel werden wir den FTP-Verkehr zu einem internen, maskierten FTP-Server(Port 21) mit der IP-Nummer 192.168.0.10 umleiten.

Hinweis: Ist der Portumleiter auf Port 21 einmal aktiviert, kann dieser Port nicht mehr von Ihrem Linux-FTP-Server(falls vorhanden) genutzt werden. Das heißt, läuft auf Ihrem Masq-Rechner bereits ein FTP-Server und Sie wollen Port 21 trotzdem umleiten, bleibt dieser Server auf der Strecke und alle Internet-Benutzer werden nur die Dateien vom internen FTP-Server zu sehen bekommen.

                 /etc/rc.d/rc.firewall
                 --
                 #echo "Aktivierung der Portumleitung zum externen LAN.."
                 #
                 /usr/local/sbin/ipportfw -C
                 /usr/local/sbin/ipportfw -A -t$extip/21 -R 192.168.0.10/21
                 --

Portumleitung auf 2.2.x-Betriebssystemkernen(IPMASQADM mitIPPORTFW-Unterstützung)

Als Erstes sollte das Programm ipmasqadm.c aus den 2.2.x-Anforderungen nach /usr/src/ runtergeladen werden.

Als Nächstes ist eine Neukompilierung des Kerns, wie sie unter Kompilierung des 2.2.x-Betriebssystemkerns beschrieben wird, mit IPPORTFW-Unterstützung erforderlich.

Nun kann das IPMASQADM-Programm erzeugt und installiert werden:

        
                cd /usr/src             
                tar xzvf ipmasqadm-x.tgz        
                cd ipmasqadm-x          
                make            
                make install

In diesem Beispiel werden wir den WWW-Verkehr(Port 80) zu einem internen, maskierten WWW-Server mit der IP-Nummer 192.168.0.10 umleiten(bei anderen Diensten ist nach dem gleichen Schema vorzugehen, wobei es zu beachten gibt, daß interne FTP-Server den Einsatz eines modifizierten IP_MASQ_FTP-Moduls erforderlich machen).

Hinweis: Ist der Portumleiter auf Port 80 einmal aktiviert, kann dieser Port nicht mehr von Ihrem Linux-Masq-Server genutzt werden. Das heißt, läuft auf dem Masq-Rechner bereits ein WWW-Server und Sie wollen Port 80 trotzdem umleiten, bleibt dieser Server auf der Strecke und alle Internet-Benutzer werden nur die Seiten von Ihrem internen WWW-Server zu sehen bekommen.

Jedenfalls, um Portumleitung zu aktivieren, ist eine Änderung des /etc/rc.d/rc.firewall-Regelsatzes notwendig. Die folgenden Zeilen können einfach hinten drangehängt werden, wobei das Wort "$extip" durch Ihre Internet-IP-Adresse zu ersetzen ist.

         /etc/rc.d/rc.firewall
         --
         #echo "Aktivierung der Portumleitung zum externen LAN.."
         #
         /usr/sbin/ipmasqadm ipportfw -C
         /usr/sbin/ipmasqadm portfw -a -P tcp -L $extip 80 -R 192.168.0.10 80
         --

Das war`s! Einfach /etc/rc.d/rc.firewall restarten und den internen WWW-Server testen!

6.9 CU-SeeMe und Linux-Masquerading

Das CuSeeme(Can you See me)-Videokonferenzprogramm wird von Linux-Masquerading durch das ip_masq_cuseeme -Kernmodul unterstützt. Dieses Modul sollte vom Script in /etc/rc.d/rc.firewall geladen werden. Ist das ip_masq_cuseeme-Modul installiert, sollten Sie Cuseeme-Verbindungen mit Internet-Benutzern und/oder Reflektoren sowohl initiieren als auch empfangen können.

Mehr und genauere Informationen über die Einrichtung von CuSeeme bietet Michael Owings CuSeeMe Mini HOWTO.

6.10 Mirabilis ICQ

Mit folgender Konfiguration wird ICQ-Briefwechsel, URL`s, Chat, Dateiübertragung, etc. reibungslos funktionieren!

Als Erstes muß IPPORTFW im Linux-Kern aktiviert sein. Dieses wurde bereits in der Portumleiter-Sektion beschrieben.

Als Nächstes müssen die folgenden Zeilen in /etc/rc.d/rc.firewall angehängt werden. Das Beispiel nimmt an, daß 10.1.2.3 Ihre externe Internet-IP-Adresse ist, und 192.168.0.10 eine interne, maskierte ICQ-Maschine:

Folgendes gilt für einen 2.0.x-Kern:

--
/usr/local/sbin/ipportfw -A -t10.1.2.3/2000 -R 192.168.0.10/2000
/usr/local/sbin/ipportfw -A -t10.1.2.3/2001 -R 192.168.0.10/2001
/usr/local/sbin/ipportfw -A -t10.1.2.3/2002 -R 192.168.0.10/2002
/usr/local/sbin/ipportfw -A -t10.1.2.3/2003 -R 192.168.0.10/2003
/usr/local/sbin/ipportfw -A -t10.1.2.3/2004 -R 192.168.0.10/2004
/usr/local/sbin/ipportfw -A -t10.1.2.3/2005 -R 192.168.0.10/2005
/usr/local/sbin/ipportfw -A -t10.1.2.3/2006 -R 192.168.0.10/2006
/usr/local/sbin/ipportfw -A -t10.1.2.3/2007 -R 192.168.0.10/2007
/usr/local/sbin/ipportfw -A -t10.1.2.3/2008 -R 192.168.0.10/2008
/usr/local/sbin/ipportfw -A -t10.1.2.3/2009 -R 192.168.0.10/2009
/usr/local/sbin/ipportfw -A -t10.1.2.3/2010 -R 192.168.0.10/2010
/usr/local/sbin/ipportfw -A -t10.1.2.3/2011 -R 192.168.0.10/2011
/usr/local/sbin/ipportfw -A -t10.1.2.3/2012 -R 192.168.0.10/2012
/usr/local/sbin/ipportfw -A -t10.1.2.3/2013 -R 192.168.0.10/2013
/usr/local/sbin/ipportfw -A -t10.1.2.3/2014 -R 192.168.0.10/2014
/usr/local/sbin/ipportfw -A -t10.1.2.3/2015 -R 192.168.0.10/2015
/usr/local/sbin/ipportfw -A -t10.1.2.3/2016 -R 192.168.0.10/2016
/usr/local/sbin/ipportfw -A -t10.1.2.3/2017 -R 192.168.0.10/2017
/usr/local/sbin/ipportfw -A -t10.1.2.3/2018 -R 192.168.0.10/2018
/usr/local/sbin/ipportfw -A -t10.1.2.3/2019 -R 192.168.0.10/2019
/usr/local/sbin/ipportfw -A -t10.1.2.3/2020 -R 192.168.0.10/2020
--

Folgendes gilt für einen 2.2.x-Kern:

--
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2000 -R 192.168.0.10 2000
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2001 -R 192.168.0.10 2001
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2002 -R 192.168.0.10 2002
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2003 -R 192.168.0.10 2003
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2004 -R 192.168.0.10 2004
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2005 -R 192.168.0.10 2005
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2006 -R 192.168.0.10 2006
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2007 -R 192.168.0.10 2007
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2008 -R 192.168.0.10 2008
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2009 -R 192.168.0.10 2009
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2010 -R 192.168.0.10 2010
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2011 -R 192.168.0.10 2011
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2012 -R 192.168.0.10 2012
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2013 -R 192.168.0.10 2013
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2014 -R 192.168.0.10 2014
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2015 -R 192.168.0.10 2015
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2016 -R 192.168.0.10 2016
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2017 -R 192.168.0.10 2017
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2018 -R 192.168.0.10 2018
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2019 -R 192.168.0.10 2019
/usr/local/sbin/ipmasqadm portfw -a -P tcp -L 10.1.2.3 2020 -R 192.168.0.10 2020
--

Nach Fertigstellung des rc.firewall-Scriptes müssen die Regeln durch einfache Eingabe von

/etc/rc.d/rc.firewall
neu geladen werden. Sollten Fehlermeldungen auftauchen, ist entweder IPPORTFW nicht in den Kern eingebunden oder es befindet sich ein Tippfehler in rc.firewall.

Für den korrekten Betrieb hinter einem Masq-Server, müssen am ICQ-Programm einige Anpassungen vorgenohmen werden. Wechseln Sie nach »Preferences-->Connection« und setzen hier die Optionen »Behind a LAN« und »Behind a firewall or Proxy«. Jetzt klicken Sie auf »Firewall Settings« und konfigurieren diese als »I don't use a SOCK5 proxy«, aktivieren »Firewall session timeouts« und legen diese auf 30 Sekunden fest. Danach gehen Sie auf »Next« und bestimmen die zu verwendenden Ports »Use the following TCP listen ports..« von »2000« bis »2020«. Bestätigung mit »done«.

Jetzt wird das Programm Sie auffordern, ICQ neu zu starten, damit die Änderungen Wirkung nehmen können. Um ehrlich zu sein, wirkten die Änderungen bei mir erst nach dem Neustart von Windows 9x. Also... versuchen Sie am Besten Beides.

6.11 Für Spieler: Der LooseUDP-Patch

Der LooseUDP-Patch erlaubt oder performiert die Anwendung von NAT-freundlichen Spielen, die normalerweise allesamt über UDP-Verbindungen laufen, hinter einem Linux-Masq-Server. Im Moment ist der Patch für Systeme ab Version 2.0.36 verfügbar und ab Version 2.2.3 bereits fest in den Kern eingebaut. Es sind nur einige wenige Schritte für die Instandsetzung erforderlich:

Abhängig von der Version Ihres Patches werden Sie etwa folgende Meldungen sehen:

patching file `CREDITS'
patching file `Documentation/Configure.help'
patching file `include/net/ip_masq.h'
patching file `net/ipv4/Config.in'
patching file `net/ipv4/ip_masq.c'
Findet sich darunter nur Einmal ziemlich am Anfang der Text »Hunk FAILED«, seien Sie nicht alarmiert, es wurde wahrscheinlich eine ältere Patch-Datei angewendet, aber Sie funktioniert trotzdem(der Fehler ist inzwischen behoben). Wenn die Installation komplett versagt, sollte zuerst der IPPORTFW-Kernpatch angewendet werden.

Haben Sie den Patch einmal installiert, ist bei der Rekonfiguration des Kerns auf die Frage nach der loose UDP-Portverwaltung mit »Ja« zu antworten: »IP: loose UDP port managing(EXPERIMENTAL)(CONFIG_IP_MASQ_LOOSE_UDP) [Y/n/?]«.

Mit dem neuen »LooseUDP«-Unterstützten Kern sollten Sie in der Lage sein, die meisten NAT-freundlichen Spiele starten zu können. Es werden einige URL-Adressen in der Sektion Spiele-Clients mitgegeben, die Informationen darüber enthalten, wie auch andere Spiele wie z.B. Battle Zone NAT-freundlich gemacht werden können.


Weiter Zurück Inhalt