ICQ File Transfer hinter einem fli4l Masquerading-Router

Überarbeitete und angepasste Version für fli4l Version 2.0.7 und ICQ 2003a Pro

Vorwort:
Dieser Text wirkt etwas erschlagend, ist jedoch nur wegen der zahlreichen Erläuterungen so lang. Man soll halt wissen, was man gerade am Machen ist.

Meistens ist es problemlos möglich von einem ICQ Client hinter einem fli4l-Router Dateien an andere ICQ-Nutzer zu verschicken, jedoch nicht selber welche zu empfangen. Damit dies funktioniert sind einige Einstellungen in ICQ und ein Portforwarding in der
fli4l-Konfiguration nötig. Diese Einstellungen werden nun Schritt-für-Schritt hier erklärt. Das HowTo enstand unter
Verwendung von ICQ 2003a Pro und fli4l 2.0.7, funktioniert jedoch auch mit anderen Versionen. Eine Ausnahme ist meines Wissens nach ICQ Lite, da dort einige Einstellungen zur Verbindung nicht möglich sind.

Anmerkung zu alten fli4l-Versionen:
Bei den alten 1.6.x Versionen ist nur die Konfiguration über die portfw.sh möglich, da dort die Möglichkeit in der config.txt fehlt.

1. Schritt: Vorbereitungen

Das HowTo setzt einen funktionierenden Internetzugang über einen fli4l Router vorraus. Außerdem benutzte ich zusätzlich zu den Portforwardings das ICQ Masquerading Modul. Dieses muss mit Hilfe der base.txt geladen werden. Hier ein Beispiel:

#------------------------------------------------------------------------------
# Masquerading:
#------------------------------------------------------------------------------
MASQ_NETWORK='192.168.171.0/24' # networks to masquerade (e.g. our LAN)
MASQ_MODULE_N='3' # load n masq modules (default: only
ftp)
MASQ_MODULE_1='ftp' # ftp
MASQ_MODULE_2='h323' # h323 (netmeeting)
MASQ_MODULE_3='icq' # icq (use with caution!)

Diese Einstelllungen können je nach verwendeten Modulen varieren! Das hier ist nur ein Beispiel!


2. Schritt: Portforwarding aktivieren

Damit die Programme fürs Portforwarding mit in die opt.tgz gepackt werden, muss auf jeden Fall OPT_PORTFW auf yes gesetzt werden:

OPT_PORTFW='yes' # install port forwarding tools/modules


3. Schritt: TCP-Ports

Als nächstes muss man sich überlegen welche TCP-Ports man für ICQ verwenden möchte. Diese sind frei wählbar bis auf die Tatsache, dass man keine der Standardports < 1024 benutzen sollte und das kein anderes Programm diese für sich beanspruchen sollte. Ich persönlich verwende 5010 bis 5030. Es reichen auch weniger Ports, jedoch ist man mit dieser Anzahl auf der sicheren Seite. Achtung! Wenn man mehrere PCs mit ICQ benutzt und File Transfer benutzen möchte, müssen natürlich für jeden PC
eigene Ports verwendet werden. Der zweite ICQ Client könnte beispielsweise 5031 bis 5051 benutzen. Die Ports dürfen natürlich nicht von der "Firewall", also dem Paketfilter geblockt werden.

4. Schritt: Portfowarding einrichten


Nun geht es daran das Port Forwarding einzurichten. Es gibt zwei Möglichkeiten, entweder durchs direkte Editieren der Datei portfw.sh oder über die base.txt.

1. Möglichkeit: Kofiguration über base.txt (Empfehlung für fli4l-Einsteiger)

Man sucht sich folgende Stelle in der base.txt, um sie anzupassen:

#------------------------------------------------------------------------------
# Optional package: PORTFW
#
# If you set OPT_PORTFW='yes', you can also edit opt/etc/portfw.sh
#------------------------------------------------------------------------------
OPT_PORTFW='yes' # install port forwarding tools/modules
PORTFW_N='1' # how many portforwardings to set up
PORTFW_1='5010-5030 192.168.171.2 tcp'

Der Portbereich 5010-5030 wird an den Rechner mit der IP 192.168.171.2 weitergeleitet. TCP bezeichnet das Protokoll.

2. Möglichkeit: Editieren der Datei portfw.sh

Die Datei portfw.sh findet man im Unterverzeichnis opt/etc/ im fli4l Hauptverzeichnis. Sie ist ein Shellskript, das beim Verbindungsaufbau ins Internet aufgerufen wird. Zum Editieren kann man einen normalen Texteditor wie das bei Windows
mitgelieferte NotePad verwenden.

Man lädt die Datei im Editor und sucht sich folgende Stelle:

#------------------------------------------------------------------------------
# Define your PCs to forward ports to:
#------------------------------------------------------------------------------
hiddenhost1=192.168.171.2 # ip of PC in LAN: change here!

Hier setzt man hiddenhost1 auf die IP des PCs auf dem ICQ läuft. Nun kann man bei den Portforwardings anstelle der IP 192.168.171.2 einfach immer $hiddenhost1 benutzen. Als nächstes kommt das eigentliche Portforwarding dran:

#------------------------------------------------------------------------------
#ICQ Portforwarding
#------------------------------------------------------------------------------
/usr/sbin/ipmasqadm autofw -A -v -r tcp 5010 5030 -h $hiddenhost1

Diese Zeile teilt dem fli4l-Router mit, alle eingehenden Verbindungen auf den Ports 5010 und 5030 an den PC im LAN mit der IP 192.168.171.2 weiterzuleiten. Die Kommentarzeile dadrüber ist unwichtig, erhöht jedoch die Übersicht, besonders wenn man viele Portforwardings benutzt.

Wenn man nun noch eine neue Diskette bzw. nur neue opt.tgz erstellt und den Router damit startet, war es das in Sachen Einstellungen am fli4l-Router. Weiter geht es mit der Konfiguration des ICQ Clients.

5. Schritt: Einstellungen ICQ Client

Als nächstes müssen wir die Einstellungen von ICQ verändern. Wir starten ICQ und klicken auf

Main --> Preferences --> Connections.

Dort gehen wir unter den Menüpunkt Server.

Unter Proxy Settings aktivieren wir "Using Firewall" und "Not using Proxy".

Unter dem Menüpunkt User aktivieren wir unter Advanced Users: Not using Proxy.

Außerdem aktivieren wir "Use the following TCP listen port for incoming event" und schreiben die Ports in die Felder: From: 5010 To: 5030

ICQ muss anschließend neugestartet werden. Jetzt sollte der Dateiempfang funktionieren.

Anregungen, Kritik und Fehler gehen an meine E-Mail Adresse:
Basti_Schneider@gmx.net


Klicken Sie hier, um die Seite auszudrucken.