Port-Forwarding unter FreiFunk
Bitte immer beachten: http://www.iana.org/assignments/port-numbers
portfw_0.1_mipsel.ipk
Port-Forwarding benötigt man, wenn Rechner innerhalb eines privaten Netzes (z.B IP-Adresse 192.168.1.2) Dienste anbieten sollen, die vom Internet aus erreichbar sein sollen. Da nur der Router eine öffentliche Adresse besitzt, aber im Normalfall zu wenig Ressourcen für gewisse Dienste mitbringt, ist es nötig, die Anfragen aus dem Internet ins private Netz weiterzuleiten. Für die Außenwelt sieht es dann so aus, als würde der Dienst auf dem Router selbst laufen.
Für die FreiFunk-Firmware gibt es nun eine erste Version einer Erweiterung fürs Web-UI, mittels derer portforwarding auch ohne Linux-Kommandozeilen-Kenntnisse eingestellt werden kann. Sie ist auf meiner Website unter http://www.meineparty.at/downloads/ zu finden. ACHTUNG: Es wird nicht geprüft, ob eine gültige IP-Adresse/Ports etc. eingegeben werden. Verwendung auf eigene Gefahr. Für Anregungen/Kritik/Hilfe bin ich sehr dankbar
Gregor
glahue (sie8)
datacop: bei mir hat das portforward tool das problem mot sich gebracht, dass wenn über den WRT geroutet wurde, der port automatisch zu der IP weitergeleitet wird die angegeben ist, somit kann über den WRT wenn man auf port 21(FTP) forwardet kein anderer FTP Server angesprochen werden.
iptables-utils.ipk
Ich möchte allen, die Portforwarding unter Freifunk benötigen, empfehlen, das I-Package (ipkg) "iptables-utils" zu installieren :)
Dieses ermöglicht, daß die iptables-Einstellungen nach einem Reboot des Routers wiederhergestellt werden können.
- also:
login per putty/ssh (in der Regel auf 192.168.1.1): root / pw eingeben.
ipkg update
eingeben (damit wird die Liste der verfügbaren addons erneuert)
ipkg install iptables-utils
eingeben, auf Prompt warten, rebooten (immer gesünder :))
nochmals per ssh einloggen
- iptables konfigurieren, z.B.:
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 192.168.1.2:8021
Dieser Befehl leitet einen internen Anonymous-FTP-Port (z.B. 192.168.1.2:8021) nach "draussen" auf Port 21
Angenommen die Offizielle IP unseres Routers ist 193.238.xxx.xxx, und ein User gibt in seinen Webbrowser ftp://193.238.xxx.xxx ein, so landet er dann im root-Verzeichnis dieses Ftp-Servers, weil der Browser für FTP automatisch Port 20 oder 21 annimmt :)
Komplettes iptables-Tutorial: http://www.faqs.org/docs/iptables/index.html
- Wenn iptables-utils installiert ist, folgendes eingeben:
iptables-save -c > /etc/iptables-save
mit diesem Befehl wird die bestehende iptables-Konfiguration in die datei /etc/iptables-save gespeichert :)
siehe auch: http://www.faqs.org/docs/iptables/iptables-save.html
- zur Kontrolle:
entweder
iptables flush
eingeben oder rebooten und neu einloggen
iptables -t nat -L
eingeben - Die liste sollte nun quasi leer sein (die Standardeinträge ausgenommen)
ebenfalls leer:
iptables -L
- Wiederherstellen:
iptables-restore /etc/iptables-save
nochmals
iptables -t nat -L
eingeben, und siehe da:
Die voher gespeicherte Konfiguration ist wiederhergestellt :)
siehe: http://www.faqs.org/docs/iptables/iptables-restore.html
Sicher weiß noch jemand, wie man diesen befehl in eine Autostart-Datei integrieren kann, damit der Router bei jedem reboot den Befehl "iptables-restore /dir/file" ausführt :)
--buntesheer 20060904,
ich darf bitten:
datacop: datei namens S65fwscript (65 is die Startzeit, hab mal das genommen, bin kein IPtables Spezialist, Name fwscript is eigendlich egal) in /etc/init.d Inhalt: #!/bin/sh iptables-restore /dir/file