Port-Forwarding unter FreiFunk: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Wechseln zu: Navigation, Suche
K
K (Bugfix für FreiFunk Firmware Version >= 1.4.1 und bei WAN -> WAN-Protokoll = "OLSR")
 
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
'''Bitte immer beachten:''' http://www.iana.org/assignments/port-numbers
 +
 +
 +
==freifunk-portfw-de.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.
 
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/ 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
+
Für die FreiFunk-Firmware gibt es nun eine Erweiterung fürs Web-UI, mittels derer portforwarding auch (fast) ohne Linux-Kommandozeilen-Kenntnisse eingestellt werden kann. Auf die Linksys einloggen und dann die Befehle <br> ''ipkg update'' <br> und <br>''ipkg install freifunk-portfw-de''<br> eingeben. Dann gibt es im Web-UI einen neuen Menüpunkt Port-Forwarding, unter dem komfortabel die verschiedenen Zieladressen und Ports eingegeben werden können. 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 an gregorprivat at gmail.com bin ich sehr dankbar.
  
 
Gregor  
 
Gregor  
  
glahue (sie8)
+
 
 +
===Bugfix für FreiFunk Firmware Version >= 1.4.1 und bei WAN -> WAN-Protokoll = "OLSR"===
 +
(siehe auch [http://wiki.funkfeuer.at/index.php/Freifunk_Firmware#Zwei_Router_im_Verbund Zwei_Router_im_Verbund])
 +
 
 +
Dieser Abschnitt behandelt das Problem mit Port forwarding wenn die def. Route über das WAN läuft und WAN eine andere IP als das WLAN hat, was meist der Fall ist. Im Internet ist dann die IP vom WAN als Absender sichtbar und das Port forwarding ist auf die WLAN IP eingerichtet.
 +
 
 +
In der Datei /etc/local.fw-portfw muss
 +
LOCALIP=$(nvram get '''wifi'''_ipaddr)
 +
in
 +
LOCALIP=$(nvram get '''wan'''_ipaddr)
 +
geändert werden.
 +
 
 +
Dazu per ssh-Client (z.B. ssh bzw. putty (Windows)) zum Router verbinden und folgende Befehle absetzen:
 +
 
 +
cd ..
 +
cd etc
 +
vi  local.fw-portfw
 +
 
 +
Mit "i" in den Einfügemodus (insert mode) wechseln.
 +
 
 +
LOCALIP=$(nvram get wifi_ipaddr)
 +
umschreiben in
 +
LOCALIP=$(nvram get wan_ipaddr)
 +
 +
Mit
 +
ESC  :wq
 +
wird local.fw-portfw gespeichert und vi beendet.
 +
Anschließend den Router neu starten.
 +
 
 +
Mehr über den Editor "Vi" gibt es z.B. auf http://de.wikipedia.org/wiki/Vi
 +
 +
 
 +
 
 +
 
  
 
[http://www.hackorama.com/network/portfwd.shtml Portforwarding unter Linux]
 
[http://www.hackorama.com/network/portfwd.shtml Portforwarding unter Linux]
  
datacop: bei mir hat das portforward tool das problem mot sich gebracht, dass wenn über den WRT geroutet wurde,
+
==iptables-utils.ipk==
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.
+
 
----
+
 
'''Ich möchte allen, die Portforwarding unter Freifunk benötigen, empfehlen, das I-Package (ipkg) "iptables-utils" zu installieren :)'''
 
'''Ich möchte allen, die Portforwarding unter Freifunk benötigen, empfehlen, das I-Package (ipkg) "iptables-utils" zu installieren :)'''
  
Zeile 42: Zeile 78:
 
mit diesem Befehl wird die bestehende iptables-Konfiguration in die datei /etc/iptables-save gespeichert :)
 
mit diesem Befehl wird die bestehende iptables-Konfiguration in die datei /etc/iptables-save gespeichert :)
  
http://www.faqs.org/docs/iptables/iptables-save.html
+
siehe auch: http://www.faqs.org/docs/iptables/iptables-save.html
  
  
Zeile 53: Zeile 89:
 
eingeben
 
eingeben
 
- Die liste sollte nun quasi leer sein (die Standardeinträge ausgenommen)
 
- Die liste sollte nun quasi leer sein (die Standardeinträge ausgenommen)
 +
 
ebenfalls leer:
 
ebenfalls leer:
 
  iptables -L
 
  iptables -L
  
  
*so:
+
*Wiederherstellen:
 
  iptables-restore /etc/iptables-save
 
  iptables-restore /etc/iptables-save
 
nochmals
 
nochmals
Zeile 66: Zeile 103:
  
 
siehe: http://www.faqs.org/docs/iptables/iptables-restore.html
 
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 :)  
 
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 :)  
Zeile 73: Zeile 111:
  
 
ich darf bitten:
 
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
 +
 +
----

Aktuelle Version vom 29. April 2008, 08:24 Uhr

Bitte immer beachten: http://www.iana.org/assignments/port-numbers


freifunk-portfw-de.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 Erweiterung fürs Web-UI, mittels derer portforwarding auch (fast) ohne Linux-Kommandozeilen-Kenntnisse eingestellt werden kann. Auf die Linksys einloggen und dann die Befehle
ipkg update
und
ipkg install freifunk-portfw-de
eingeben. Dann gibt es im Web-UI einen neuen Menüpunkt Port-Forwarding, unter dem komfortabel die verschiedenen Zieladressen und Ports eingegeben werden können. 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 an gregorprivat at gmail.com bin ich sehr dankbar.

Gregor


Bugfix für FreiFunk Firmware Version >= 1.4.1 und bei WAN -> WAN-Protokoll = "OLSR"

(siehe auch Zwei_Router_im_Verbund)

Dieser Abschnitt behandelt das Problem mit Port forwarding wenn die def. Route über das WAN läuft und WAN eine andere IP als das WLAN hat, was meist der Fall ist. Im Internet ist dann die IP vom WAN als Absender sichtbar und das Port forwarding ist auf die WLAN IP eingerichtet.

In der Datei /etc/local.fw-portfw muss LOCALIP=$(nvram get wifi_ipaddr) in LOCALIP=$(nvram get wan_ipaddr) geändert werden.

Dazu per ssh-Client (z.B. ssh bzw. putty (Windows)) zum Router verbinden und folgende Befehle absetzen:

cd .. 
cd etc
vi  local.fw-portfw

Mit "i" in den Einfügemodus (insert mode) wechseln.

LOCALIP=$(nvram get wifi_ipaddr)

umschreiben in

LOCALIP=$(nvram get wan_ipaddr)

Mit

ESC  :wq 

wird local.fw-portfw gespeichert und vi beendet. Anschließend den Router neu starten.

Mehr über den Editor "Vi" gibt es z.B. auf http://de.wikipedia.org/wiki/Vi



Portforwarding unter Linux

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