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.
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.
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.
Clients mit allgemeiner Verwendung:
alle unterstützten Plattformen(manche Archie-Clients werden nicht unterstützt). Programm zum suchen von Dateien.
alle unterstützten Plattformen, unter Verwendung des
ip_masq_ftp.o
Kern-Moduls.
alle unterstützten Plattformen
alle unterstützten Plattformen. Surfen im WWW
alle IRC-Programme auf verschiedenen, unterstützten Plattformen.
DCC nur mittels des ip_masq_irc.o
Moduls
alle unterstützten Plattformen. USENET-News Client
alle Plattformen mit im Kern gesetzter ICMP-Masquerading Option
alle unterstützten Plattformen. E-Mail Client
alle unterstützten Plattformen. Sichere TELNET/FTP-Clients
alle unterstützten Plattformen. E-Mail Server wie Sendmail, Qmail, PostFix, etc.
alle unterstützten Plattformen. Sitzung an einem entfernten Rechner
UNIX und Windows basierte Plattformen. Manche Ausführungen werden möglicherweise nicht arbeiten
Windows. Surfen in der virtuellen Realität
alle unterstützten Plattformen.
Anwendungen für Multimedia und Kommunikation:
Windows. Client-Server 3D-Chatprogramm
alle unterstützten Plattformen mit geladenem ip_masq_cuseeme Modul. Mehr Einzelheiten enthält die CuSeeme-Sektion.
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.
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.
Windows. Audiostrom-Abspieler
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-Spieler. Bessere Qualität liefert das ip_masq_raudio UDP-Modul
Windows. Audiostrom-Abspieler
Windows. Mit dem ip_masq_vdolive-Patch
Windows. Client-Server 3D-Chatprogramm
Spiele - die LooseUDP-Sektion bietet mehr Informationen über den, für viele Spiele erforderlichen, LooseUDP-Patch
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.
Funktioniert mit dem LooseUDP-Patch und den neuen, NAT-freundlichen
DLLs von Activision
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.
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.
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.
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.
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.
Läuft mit dem LooseUDP-Patch
Andere Clients:
Linux. Account-Verwaltung übers Netzwerk
DOS. Eine Sammlung bestehend aus telnet, ftp, ping, etc.
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.
Benutzt NTP - network time protocol
- 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
Keine Verbindung zum Server
Keine Verbindung zur Gegenseite
Zur Zeit nicht funktionsfähig.
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.
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..
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.
# Internen Schnittstellen/Netzwerken die Kommunikation untereinander
# erlauben
ipfwadm -F -a -V 192.168.0.1 -D 192.168.1.0/24
ipfwadm -F -a -V 192.168.1.1 -D 192.168.0.0/24
# Maskierung der internen Netzwerke über ppp0 festlegen
ipfwadm -F -a masq -W ppp0 -S 192.168.0.0/24 -D 0.0.0.0/0
ipfwadm -F -a masq -W ppp0 -S 192.168.1.0/24 -D 0.0.0.0/0
# Internen Schnittstellen/Netzwerken die Kommunikation untereinander
# erlauben
/sbin/ipchains -A forward -i eth1 -d 192.168.1.0/24
/sbin/ipchains -A forward -i eth2 -d 192.168.0.0/24
# Maskierung der internen Netzwerke über ppp0 festlegen
/sbin/ipchains -A forward -j MASQ -i eth0 -s 192.168.0.0/24 -d 0.0.0.0/0
/sbin/ipchains -A forward -j MASQ -i eth0 -s 192.168.1.0/24 -d 0.0.0.0/0
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
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.
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:
msqsrv-patch-36
von Fred Viles
FTP-Server(siehe
2.0.x-Anforderungen) und kopieren diese nach /usr/src/linux
.
cat msqsrv-patch-36 | patch -p1
ip_masq_ftp.c
-Kernmodul mit dem
neuen ersetzen:
mv /usr/src/linux/net/ipv4/ip_masq_ftp.c \
/usr/src/linux/net/ipv4/ip_masq_ftp.c.orig
mv /usr/src/linux/ip_masq_ftp.c \
/usr/src/linux/net/ipv4/ip_masq_ftp.c
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
--
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!
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.
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.
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:
/usr/src/linux
runterladen und installieren:
zcat loose-udp-2.0.36.patch.gz | patch -p1
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.