Portforwarding: Unterschied zwischen den Versionen
→Kontrolle: cat |
Lars (Diskussion | Beiträge) neue Beschreibung der Portweiterleitung im Opennet |
||
| Zeile 1: | Zeile 1: | ||
== |
== Ü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: |
|||
[[File:Port_forwarding.png|Netzwerkdiagramm zur Portweiterleitung (Quelle: [[File::Port_forwarding.dia]])]] |
|||
== Putty öffnen == |
|||
[[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> |
|||
Eine Port-Weiterleitung ermöglicht dir, einzelne Dienste deines lokalen Netzes aus dem Internet heraus erreichbar zu machen. |
|||
== Putty eingabe == |
|||
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): |
|||
Typische Anwendungsfälle für Portweiterleitungen sind folgende: |
|||
<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> |
|||
* Dienste im Internet freigeben: Webserver, FTP-Server, SSH/SCP, Jabber-Server, VPN-Server |
|||
<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> |
|||
* 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 tcp --dport <span style='color:green;'><port von>:<port bis></span> -j ACCEPT |
|||
* VOIP-Telefonie manchmal erfordert explizite Port-Freigaben |
|||
<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 |
|||
* ... |
|||
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! |
|||
== Einschränkungen und Hinweise == |
|||
== VPN IP == |
|||
Die Portweiterleitung ist mit folgenden Einschränkungen verbunden: |
|||
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: |
|||
* im Internet ist dein Dienst unter der öffentlichen Adresse erreichbar: z.B. titan.on-i.de:10220 |
|||
<pre> |
|||
* im Opennet und in deinem lokalen Netz funktioniert allerdings '''ausschließlich''' die Opennet-Adresse: z.B. 192.168.1.23:10220 |
|||
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 |
|||
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 |
|||
== |
== Ermittlung der Portnummern == |
||
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. |
|||
Dazu auf start/Ausführen.../cmd clicken und dort ipconfig eingeben: |
|||
<pre> |
|||
Microsoft Windows XP [Version 5.1.2600] |
|||
(C) Copyright 1985-2001 Microsoft Corp. |
|||
Falls du an den Details der Portnummern-Ermittlung interessiert bist, findest du das dazugehörige Berechnungsschema weiter unten im Abschnitt ''Technische Details -> Algorithmus''. |
|||
C:\Dokumente und Einstellungen\Oconnor>ipconfig |
|||
Windows-IP-Konfiguration |
|||
== Konfiguration deines AP == |
|||
[[File:Portforwarding_Web-Interface.png]] |
|||
Ethernetadapter LAN-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: |
|||
Medienstatus. . . . . . . . . . . : Es besteht keine Verbindung |
|||
; 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 [[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. |
|||
Ethernetadapter LAN-Verbindung 2: |
|||
Verbindungsspezifisches DNS-Suffix: lan |
|||
IP-Adresse. . . . . . . . . . . . : 172.16.0.5 |
|||
Subnetzmaske. . . . . . . . . . . : 255.255.0.0 |
|||
Standardgateway . . . . . . . . . : 172.16.0.1 |
|||
== Zugriff auf deine Dienste == |
|||
C:\Dokumente und Einstellungen\Oconnor> |
|||
</pre> |
|||
<br/> Dort steht IP-Adresse. . . . . . . . . . . . : 172.16.0.5 das ist Meine IP-Adresse |
|||
<br/>-> <pc ip> = 172.16.0.5 |
|||
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. |
|||
== Die 4 Zeilen anpassen == |
|||
<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]] |
||
Version vom 2. Januar 2013, 11:44 Uhr
Überblick
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
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.
![Netzwerkdiagramm zur Portweiterleitung (Quelle: [[File::Port_forwarding.dia]])](/images/1/18/Port_forwarding.png)
