Portforwarding: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Kontrolle: cat)
(neue Beschreibung der Portweiterleitung im Opennet)
Zeile 1: Zeile 1:
== Einleitung ==
+
== Überblick ==
Das Portforwarding ist ein klein wenig kompliziert und soll später über die Weboberfläche des AP' geschehen. Wär es jetzt schon braucht und ein bischen experimentieren will kann weiterlesen. Bei einem Neustart des AP's werden die Ports nicht mehr weitergeleitet. Ok um deine 10 Ports von deinem AP zu deinem PC geforwardet zu bekommen um z.B. bei ICQ Dateien austauschen zu können musst du folgends tun:
+
  
== Putty öffnen ==
+
[[File:Port_forwarding.png|Netzwerkdiagramm zur Portweiterleitung (Quelle: [[File::Port_forwarding.dia]])]]
[[bild:putty2.JPG|thumb|400px|SSH Login mit Putty]]Putty öffnen, 172.16.0.1 und SSH eingeben, dann open. Als Benutzernamen root und als Passwort admin oder dein neu gesetztes Passwort eingeben.
+
<br clear=all>
+
  
== Putty eingabe ==
+
Eine Port-Weiterleitung ermöglicht dir, einzelne Dienste deines lokalen Netzes aus dem Internet heraus erreichbar zu machen.
Jetzt müsstest du bei Putty folgendes eingeben (Bitte noch nicht eingeben, die 4 Zeilen müsst ihr noch anpassem und zwar alles was in <...> steht):
+
  
<br/>iptables -t nat -A PREROUTING -p udp -i tun0 -d <span style='color:red;'><vpn ip></span> --dport <span style='color:green;'><port von>:<port bis></span> -j DNAT --to-destination <span style='color:blue;'><pc ip></span>
+
Typische Anwendungsfälle für Portweiterleitungen sind folgende:
<br/>iptables -t nat -A PREROUTING -p tcp -i tun0 -d <span style='color:red;'><vpn ip></span> --dport <span style='color:green;'><port von>:<port bis></span> -j DNAT --to-destination <span style='color:blue;'><pc ip></span>
+
* Dienste im Internet freigeben: Webserver, FTP-Server, SSH/SCP, Jabber-Server, VPN-Server
<br/>iptables -I FORWARD 3 -i tun0 -o br0 -s ! 172.16.0.0/12 -d 172.16.0.0/12 -m state --state NEW -p tcp --dport <span style='color:green;'><port von>:<port bis></span> -j ACCEPT
+
* manche Chat-Protokolle benötigen einen erreichbaren Port zum Dateiaustausch
<br/>iptables -I FORWARD 3 -i tun0 -o br0 -s ! 172.16.0.0/12 -d 172.16.0.0/12 -m state --state NEW -p udp --dport <span style='color:green;'><port von>:<port bis></span> -j ACCEPT
+
* VOIP-Telefonie manchmal erfordert explizite Port-Freigaben
 +
* ...
  
 +
Da die Opennet-Access-Points keine öffentlichen IP-Adressen besitzen, muss die Portweiterleitung auf den öffentlichen Opennet-Gateways stattfinden. Dafür existiert im Opennet ein standardisiertes Schema, das jedem Opennet-AP zehn spezifische Ports zuordnet. Auf diesen Ports eingehende Pakete werden also automatisch an deinen AP weitergeleitet. Somit musst du lediglich die Weiterleitung von deinem Opennet-AP zu dem Server in deinem lokalen Netz festlegen.
  
Problem ist du musst deine 'VPN IP' <span style='color:red;'><vpn ip></span>, 'Port Range' <span style='color:green;'><port von>:<port bis></span> und deine 'PC IP' <span style='color:blue;'><pc ip></span> wissen!
 
  
== VPN IP ==
+
== Einschränkungen und Hinweise ==
Dazu auf die [http://172.16.0.1/cgi-bin-status.html Statusseite] deines AP's clicken dort bei Schnittstellen-Konfiguration: auf "Ein- / Ausblenden" clicken nun runterscrollen bis tun0 dort müsste folgendes stehen:
+
Die Portweiterleitung ist mit folgenden Einschränkungen verbunden:
<pre>
+
* im Internet ist dein Dienst unter der öffentlichen Adresse erreichbar: z.B. titan.on-i.de:10220
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
+
* im Opennet und in deinem lokalen Netz funktioniert allerdings '''ausschließlich''' die Opennet-Adresse: z.B. 192.168.1.23:10220
          inet addr:10.1.4.78  P-t-P:10.1.4.77  Mask:255.255.255.255
+
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
+
          RX packets:42332 errors:0 dropped:0 overruns:0 frame:0
+
          TX packets:33172 errors:0 dropped:0 overruns:0 carrier:0
+
          collisions:0 txqueuelen:100
+
          RX bytes:42048947 (40.1 MiB)  TX bytes:4351656 (4.1 MiB)
+
</pre>
+
Die inet addr ist deine VPN IP also bei mir wäre es die 10.1.4.78!
+
<br/>-> <vpn ip> = 10.1.4.78
+
  
== Port Range ==
 
Dazu auf den [http://www.opennet-initiative.de/portmapper/ Portrange-O-Matic] clicken und dort deine IP deines AP's eingeben (192.168.1.X) dann auf absenden clicken!
 
Meine IP ist 192.168.1.20 nachdem ich auf absenden geclickt habe steht dort in grün: Dein Portbereich geht von Port 10190 bis Port 10199.
 
<br/>-> <port von> = 10190
 
<br/>-> <port bis> = 10199
 
  
== PC IP ==
+
== Ermittlung der Portnummern ==
Dazu auf start/Ausführen.../cmd clicken und dort ipconfig eingeben:
+
Jedem Opennet-AP sind zehn Ports zugeordnet. Das kleine Web-Werkzeug [http://www.opennet-initiative.de/portmapper/ Portrange-O-Matic] zeigt dir die zu deinem AP gehörenden Portnummern an.
<pre>
+
Microsoft Windows XP [Version 5.1.2600]
+
(C) Copyright 1985-2001 Microsoft Corp.
+
  
C:\Dokumente und Einstellungen\Oconnor>ipconfig
+
Falls du an den Details der Portnummern-Ermittlung interessiert bist, findest du das dazugehörige Berechnungsschema weiter unten im Abschnitt ''Technische Details -> Algorithmus''.
  
Windows-IP-Konfiguration
 
  
 +
== Konfiguration deines AP ==
  
Ethernetadapter LAN-Verbindung:
+
[[File:Portforwarding_Web-Interface.png]]
  
        Medienstatus. . . . . . . . . . . : Es besteht keine Verbindung
+
Unter dem Punkt ''Opennet -> ON-Extended -> Port-Mapping'' findest du die Einstellungen für Port-Weiterleitungen. Trage hier folgende Informationen im Bereich ''Forwarding from the Internet through your OpenVPN tunnel'' ein:
 +
; Source-Port
 +
: ein Port - siehe ''Ermittlung der Portnummern'' (oben)
 +
; Target-Address:
 +
: die lokale IP deines Servers / Rechners (z.B. 172.16.1.23)
 +
; Target-Port:
 +
: die Port-Nummer des Dienstes auf deinem lokalen Server / Rechner (z.B. Port 80 für einen Web-Server)
  
Ethernetadapter LAN-Verbindung 2:
+
'''Hinweis für AirOS''': die [[AirOS-opennet|angepasste Firmware von Ubiquiti]] erlaubt derzeit keine einfache Konfiguration via Web-Interface. Wer hier Informationen zur manuellen Konfiguration eintragen möchte, ist herzlich willkommen.
  
        Verbindungsspezifisches DNS-Suffix: lan
 
        IP-Adresse. . . . . . . . . . . . : 172.16.0.5
 
        Subnetzmaske. . . . . . . . . . . : 255.255.0.0
 
        Standardgateway . . . . . . . . . : 172.16.0.1
 
  
C:\Dokumente und Einstellungen\Oconnor>
+
== Zugriff auf deine Dienste ==
</pre>
+
<br/> Dort steht IP-Adresse. . . . . . . . . . . . : 172.16.0.5 das ist Meine IP-Adresse
+
<br/>-> <pc ip> = 172.16.0.5
+
  
== Die 4 Zeilen anpassen ==
+
Deine freigebenen Dienste sind über die drei aktuellen [[Server#Gateway Server|Gateway-Server]] (siehe Spalte ''Portweiterleitung'') auf deinen Ports (siehe oben) ansprechbar. Bei einem Webserver könnte dies beispielsweise <code>http://titan.on-i.de:10220/</code> sein. Wähle idealerweise den dir nächstgelegenen Gateway-Server aus.
<br/><vpn ip> = 10.1.4.78
+
<br/><port von> = 10190
+
<br/><port bis> = 10199
+
<br/><pc ip> = 172.16.0.5
+
<br/>Das sind die Dinge die ihr braucht jetzt müsst ihr die nur noch einsetzen, bei mir würde das dann so aussehen:
+
<pre>
+
iptables -t nat -A PREROUTING -p udp -i tun0 -d 10.1.4.78 --dport 10190:10199 -j DNAT --to-destination 172.16.0.5
+
iptables -t nat -A PREROUTING -p tcp -i tun0 -d 10.1.4.78 --dport 10190:10199 -j DNAT --to-destination 172.16.0.5
+
iptables -I FORWARD 3 -i tun0 -o br0 -s ! 172.16.0.0/12 -d 172.16.0.0/12 -m state --state NEW -p tcp --dport 10190:10199 -j ACCEPT
+
iptables -I FORWARD 3 -i tun0 -o br0 -s ! 172.16.0.0/12 -d 172.16.0.0/12 -m state --state NEW -p udp --dport 10190:10199 -j ACCEPT
+
</pre>
+
Diese zeilen müsst ihr nun bei Putty eingeben
+
  
== Kontrolle ==
 
Um zu kontrollieren ob ihr alles richtig gemacht habt, könnt ihr auf die [http://172.16.0.1/cgi-bin-status.html Statusseite] clicken und dort bei IP-NAT: auf "Ein- / Ausblenden" clicken: dort müsste nun folgendes stehen:
 
<pre>
 
Chain PREROUTING (policy ACCEPT)
 
target    prot opt source              destination       
 
DNAT      udp  --  0.0.0.0/0            10.1.4.78          udp dpts:10190:10199 to:172.16.0.5
 
DNAT      tcp  --  0.0.0.0/0            10.1.4.78          tcp dpts:10190:10199 to:172.16.0.5
 
 
Chain POSTROUTING (policy ACCEPT)
 
target    prot opt source              destination       
 
MASQUERADE  all  --  172.16.0.0/16        0.0.0.0/0         
 
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0         
 
SNAT      all  --  172.16.0.0/16        0.0.0.0/0          to:10.1.4.78
 
 
Chain OUTPUT (policy ACCEPT)
 
target    prot opt source              destination     
 
</pre>
 
Natürlich angepasst nach deinen Zahlen!
 
<br/>Wenn die Ports jetzt funktionieren könnt ihr bei ICQ einen Port von den 10 dort eingeben.
 
Dazu ICQ starten aber noch nicht einloggen dann auf "Setup" clicken. Dort steht oben "Host" und darunter "Anschluss:" dort eine von den 10 Ip's eingeben. Dann auf OK und verbinden clicken. Nun kann man auch Dateien mit anderen austauschen.
 
<br/>
 
<br/>PS: Falls du irgendwas falsch gemacht hast, ist das kein Problem einfach deinen AP neustarten! Ist auch das dumme an der Anleitung! Nach einem Neustart geht das wieder verloren! Deswegen wird ich die 4 Zeilen irgendwo abspeichern so das man die dann bei Putty gleich eingeben kann.
 
  
 
[[Kategorie:Anleitungen]]
 
[[Kategorie:Anleitungen]]
 
[[Category:Dienste]]
 
[[Category:Dienste]]

Version vom 2. Januar 2013, 13:44 Uhr

Inhaltsverzeichnis

Überblick

Netzwerkdiagramm zur Portweiterleitung (Quelle: [[File::Port_forwarding.dia]])

Eine Port-Weiterleitung ermöglicht dir, einzelne Dienste deines lokalen Netzes aus dem Internet heraus erreichbar zu machen.

Typische Anwendungsfälle für Portweiterleitungen sind folgende:

  • Dienste im Internet freigeben: Webserver, FTP-Server, SSH/SCP, Jabber-Server, VPN-Server
  • manche Chat-Protokolle benötigen einen erreichbaren Port zum Dateiaustausch
  • VOIP-Telefonie manchmal erfordert explizite Port-Freigaben
  • ...

Da die Opennet-Access-Points keine öffentlichen IP-Adressen besitzen, muss die Portweiterleitung auf den öffentlichen Opennet-Gateways stattfinden. Dafür existiert im Opennet ein standardisiertes Schema, das jedem Opennet-AP zehn spezifische Ports zuordnet. Auf diesen Ports eingehende Pakete werden also automatisch an deinen AP weitergeleitet. Somit musst du lediglich die Weiterleitung von deinem Opennet-AP zu dem Server in deinem lokalen Netz festlegen.


Einschränkungen und Hinweise

Die Portweiterleitung ist mit folgenden Einschränkungen verbunden:

  • im Internet ist dein Dienst unter der öffentlichen Adresse erreichbar: z.B. titan.on-i.de:10220
  • im Opennet und in deinem lokalen Netz funktioniert allerdings ausschließlich die Opennet-Adresse: z.B. 192.168.1.23:10220


Ermittlung der Portnummern

Jedem Opennet-AP sind zehn Ports zugeordnet. Das kleine Web-Werkzeug Portrange-O-Matic zeigt dir die zu deinem AP gehörenden Portnummern an.

Falls du an den Details der Portnummern-Ermittlung interessiert bist, findest du das dazugehörige Berechnungsschema weiter unten im Abschnitt Technische Details -> Algorithmus.


Konfiguration deines AP

Portforwarding Web-Interface.png

Unter dem Punkt Opennet -> ON-Extended -> Port-Mapping findest du die Einstellungen für Port-Weiterleitungen. Trage hier folgende Informationen im Bereich Forwarding from the Internet through your OpenVPN tunnel ein:

Source-Port
ein Port - siehe Ermittlung der Portnummern (oben)
Target-Address
die lokale IP deines Servers / Rechners (z.B. 172.16.1.23)
Target-Port
die Port-Nummer des Dienstes auf deinem lokalen Server / Rechner (z.B. Port 80 für einen Web-Server)

Hinweis für AirOS: die angepasste Firmware von Ubiquiti erlaubt derzeit keine einfache Konfiguration via Web-Interface. Wer hier Informationen zur manuellen Konfiguration eintragen möchte, ist herzlich willkommen.


Zugriff auf deine Dienste

Deine freigebenen Dienste sind über die drei aktuellen Gateway-Server (siehe Spalte Portweiterleitung) auf deinen Ports (siehe oben) ansprechbar. Bei einem Webserver könnte dies beispielsweise http://titan.on-i.de:10220/ sein. Wähle idealerweise den dir nächstgelegenen Gateway-Server aus.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge