# Portweiterleitung



## HRO (20 Januar 2011)

Erstmal ein freundliches Hallo in die Runde,

ich hoffe ihr könnt mir bei einem kleinen Problem helfen:

Momentan gehe ich über eine Portweiterleitung als Fernwartung in eine Anlage. Klappt auch wunderbar. Der Kunde sagt mir seine momentane IP-Adresse und ich kann per Port 102 auf die S7, und per Port 2308 auf ein OP177B PN/DP color zugreifen.

Jetzt möchte der Kunde ein 2. OP einsetzen. 

Kann ich dann weiterhin mit der Portweiterleitung arbeiten oder müsste mir der Kunde dann eine VPN-Verbindung zur Verfügung stellen ?

Beide OP's sind exakt identisch von der Hardware und der Projektierung.
Soll halt einfach nur eine 2. Bedienstelle eingerichtet werden.

Ich habe Bedenken dass es dann noch mit der Weiterleitung klappt.
Wie sollte ich damit dann die beiden Geräte unterscheiden um sie zu erreichen ?

Wäre nett wenn mir jemand was dazu sagen könnte.


Vielen Dank im voraus,

HRO


----------



## Verpolt (20 Januar 2011)

Dein 2. OP bekommt doch eine eigene neue IP.


----------



## mst (20 Januar 2011)

Verpolt schrieb:


> Dein 2. OP bekommt doch eine eigene neue IP.


 
Aber von Extern kann der Port nur auf *eine* Interne IP weitergeleitet werden.


----------



## Verpolt (20 Januar 2011)

Müßte dann der Kunde im Router die IP der Portweiterleitung ändern?


----------



## HRO (20 Januar 2011)

mst schrieb:


> Aber von Extern kann der Port nur auf *eine* Interne IP weitergeleitet werden.



genau da liegt der Hase ja begraben


----------



## HRO (20 Januar 2011)

Verpolt schrieb:


> Müßte dann der Kunde im Router die IP der Portweiterleitung ändern?



Tja, aber dann müsste man im WinCCflex einen Port angeben können. Und da bin ich nicht so richtig fündig geworden. Der Port am OP müsste dann ja auch eingestellt werden.


----------



## Verpolt (20 Januar 2011)

HRO schrieb:


> Tja, aber dann müsste man im WinCCflex einen Port angeben können. Und da bin ich nicht so richtig fündig geworden. Der Port am OP müsste dann ja auch eingestellt werden.



Ich dachte 2 identische OP´s. Nur IP verschieden.

Die IP zur Portweiterleitung im Router müßte doch geändert werden, 
Oder nich?

Port 2308 --IP ....1.0  OP1
Port 2308 --IP ....1.1  OP2

Nur eine ist dann aktiv


----------



## Rainer Hönle (20 Januar 2011)

Habe jetzt ACCON-TeleService IE noch nicht mit WCF getestet, aber ein Versuch wäre es sicher wert. 
Der Router könnte dann mit Port And Adresstranslation parametriert werden. D.h. jedes OP bekommt 
am Router eine andere Portnummer und der Router setzt dies dann auf eine andere IP-Adresse mit 
der Portnummer 2308 um.


----------



## HRO (20 Januar 2011)

Rainer Hönle schrieb:


> Habe jetzt ACCON-TeleService IE noch nicht mit WCF getestet, aber ein Versuch wäre es sicher wert.
> Der Router könnte dann mit Port And Adresstranslation parametriert werden. D.h. jedes OP bekommt
> am Router eine andere Portnummer und der Router setzt dies dann auf eine andere IP-Adresse mit
> der Portnummer 2308 um.



Das hört sich doch schonmal sehr interessant an. Wäre es möglich dass ihr das mal antesten könntet ?


Wobei mir gerade noch etwas anderes einfällt !

Wenn ich Änderungen durchführe muss ich sowieso beide OP's mit dem Projekt aktualisieren.
Ich habe bei der Portweiterleitung ja eh nur eine (die) IP-Adresse vom Kunden.

Die OP's haben ja den Port 2308.

Was passiert denn wohl wenn ich das Projekt ganz normal übertrage (als wäre es nur ein Gerät).

Dann müssten doch eigentlich beide Teile den Projekttransfer annehmen ?


----------



## piloti (20 Januar 2011)

Ich denk man kann das mit der HAndhabung bei der Frizbox (FB) vergleichen (Zumindest mach ich das so bei mir).

Die Router hat internetseitig eine IP. Das Routing auf TEilnehmer innerhalb des privaten Netzes funktioniert über die Ports. 

BSP
Router Internet=> 10.105.66.2    

Im privaten NEtz
Teilnehmer 1 => 172.20.88.2  ansprechbar über Port 80
Teilnehmer 2 => 172.20.88.55 ansprechbar über Port 102	
Teilnehmer 3 => 172.20.88.56 ansprechbar über Port 102



Konfiguration des Routings auf dem Router: 

Für Zugriffe vom Internet auf TEilnehmer 1
Eingehender Port zB. 2000 routen auf 172.20.88.2 Port 80 (=> 10.105.66.2:2000  => 172.20.88.2:80)
TEilnehmer 2
Eingehender Port zB. 2001 auf 172.20.88.55 Port 102 (10.105.66.2:2001  => 172.20.88.55:102)
TEilnehmer 3
Eingehender Port zB. 2002 auf 172.20.88.56 Port 102 ( 10.105.66.2:2002  => 172.20.88.56:102)


Die Eingabe der Addresse in der Form  "10.105.66.2:2000" sollte eigentlich in WinCCflex funktionieren!? Kenne die SW leider nicht ...

Hoffe es hilft

Gruss, Piloti


----------



## Rainer Hönle (20 Januar 2011)

piloti schrieb:


> Die Eingabe der Addresse in der Form  "10.105.66.2:2000" sollte eigentlich in WinCCflex funktionieren!? Kenne die SW leider nicht ...



Meines Wissens nach kann beim großen S keine Portnummer angegeben werden.


----------



## HRO (20 Januar 2011)

piloti schrieb:


> Ich denk man kann das mit der HAndhabung bei der Frizbox (FB) vergleichen (Zumindest mach ich das so bei mir).
> 
> Die Router hat internetseitig eine IP. Das Routing auf TEilnehmer innerhalb des privaten Netzes funktioniert über die Ports.
> 
> ...



OK, das mit der Angabe der Portnummer hinter der IP wäre evtl. noch eine Idee !
Ob's klappen würde - einen Versuch ist es Wert.

Aber ich bezweifle, dass ich im OP den Port ändern kann ?


----------



## Rainer Hönle (20 Januar 2011)

HRO schrieb:


> Das hört sich doch schonmal sehr interessant an. Wäre es möglich dass ihr das mal antesten könntet ?



Unter Downloads gibt es auch eine Demoversion zum Testen.



> Wobei mir gerade noch etwas anderes einfällt !
> 
> Wenn ich Änderungen durchführe muss ich sowieso beide OP's mit dem Projekt aktualisieren.
> Ich habe bei der Portweiterleitung ja eh nur eine (die) IP-Adresse vom Kunden.
> ...



Bei PAT wird am Router nach außen dem OP1 die Portnummer 2308 und dem OP2 die 
Portnummer 2309 vergeben. Nach innen werden diese Portnummern auf die jeweilige 
IP-Adresse des OPs mit der Portnummer 2308 gemappt.
In ACCON-TeleService IE werden den Original-IP-Adressen jeweils die öffentliche 
IP-Adresse des Routers zugeordnet und für das OP1 die Portnummer 2308  und für 
das OP2 die Portnummer 2309 parametriert.

Wie gesagt, noch nicht getestet. Werde mal sehen, was wir da nächste Woche 
machen können.


----------



## Rainer Hönle (20 Januar 2011)

HRO schrieb:


> Aber ich bezweifle, dass ich im OP den Port ändern kann ?



Am OP muss dies auch nicht geändert werden, nur die Regel im Router entsprechend definieren. Weitere Infos dazu auch unter PAT


----------



## HRO (20 Januar 2011)

Rainer Hönle schrieb:


> Unter Downloads gibt es auch eine Demoversion zum Testen.



Werde ich mir mal runterladen.



Rainer Hönle schrieb:


> Bei PAT wird am Router nach außen dem OP1 die Portnummer 2308 und dem OP2 die
> Portnummer 2309 vergeben. Nach innen werden diese Portnummern auf die jeweilige
> IP-Adresse des OPs mit der Portnummer 2308 gemappt.
> In ACCON-TeleService IE werden den Original-IP-Adressen jeweils die öffentliche
> ...



Das wäre Klasse. Ich soll das ganze in der 2. Februarwoche (KW6) erledigen. Das OP habe ich heute bekommen.

Kann hier momentan leider nicht antesten ob ich die Portadresse ändern kann. Habe keine 24V hier zuhause 

Aber bei deiner Lösung brauche ich den Port ja nicht zu ändern.


----------



## HRO (20 Januar 2011)

wow, vor 1,5 Stunden habe ich meine Frage gestellt und schon soviele Beiträge darauf bekommen.

Super, vielen Dank schonmal dafür


----------



## PN/DP (20 Januar 2011)

Das Problem ist hier, daß WCCflex beim normalen (ungerouteten) Transfer immer zum Zielport 2308 will und 
der Kunde-Einwahlrouter nicht unterscheidet, welches OP gemeint ist und nur zu einer IP weiterleiten kann.
Alternativ soll WCCflex auch den Port 50523 benutzen, ich kann aber nicht sagen, unter welchen Bedingungen 
WCCflex diesen anderen Port wählt. Auf einen anderen Port kann man WCCflex imho nicht zwingen.

Eigentlich ist die Portweiterleitung zu mehreren Teilnehmern eine typische Aufgabe für S7-Routing, also die 
CPU routet zu den OP (es gibt nur eine Portweiterleitung des Port 102 zur CPU). Dazu müßten aber die OP an einem 
anderen Subnetz an einer anderen SPS-Schnittstelle (Profibus oder zusätzlicher CP343-1) angeschlossen sein. 
Wenn die OP per Profibus mit der CPU verbunden wären, dann sollte ein S7-gerouteter Transfer funktionieren. 
Dann benutzt WCCflex nähmlich den Port 102 (S7Ethernet). Die CPU und die OP scheinen hier aber alle am gleichen 
Ethernet angeschlossen zu sein und die CPU nur mit 1 Schnittstelle. Dann wird es nichts mit S7-Routing.

Man könnte auch dafür sorgen, daß die CPU über Ethernet erreicht werden kann (als Ziel der Port 102 Weiterleitung) 
und die CPU noch eine weitere Ethernet-Schnittstelle hat, die mit dem Subnetz der OP verbunden ist.
z.B.: einen CP343-1 in die SPS einbauen oder einen Ethernet/Profibus-Adapter (Netlink oder ähnliches) auf die 
Profibus- oder MPI-Schnittstelle der CPU stecken. Im Fall des Ethernet/Profibus-Adapters müßte dieser das Ziel 
der Port 102 Weiterleitung sein und die CPU routet dann über ihre eigene Ethernet-Schnittstelle zu den OP.

Weitere Informationen zu Portweiterleitung siehe auch FAQ: Fernwartung über das Internet mit Step7 Beitrag #2
bzw. die da verlinkte original-Diskussion.

Harald


----------



## piloti (20 Januar 2011)

Rainer Hönle schrieb:


> Meines Wissens nach kann beim großen S keine Portnummer angegeben werden.



Okay wußte ich nicht. Kenne wie gesagt die SW nicht ... 

Man kann den Port aber mit dem Tool "TCPViewer" (Freeware) lokal verändern. 

Zur Einstellung:
Unter Remote Host die IP des Routers (internetseitig) eingeben,
Local Port den Port den die SW benutzt eintragen und als remote port, den des Teilnehmes. 

Die SW selber verbindet sich auf das Tool über den Localhost (127.0.01).

Das sollte so funktionieren.

Gruss, piloti


----------



## Rainer Hönle (20 Januar 2011)

piloti schrieb:


> Okay wußte ich nicht. Kenne wie gesagt die SW nicht ...
> 
> Man kann den Port aber mit dem Tool "TCPViewer" (Freeware) lokal verändern.
> 
> ...



In der Software wird die im Projekt hinterlegte IP-Adresse verwendet. Diese kann nur durch Änderungen am Projekt geändert werden. Und dann darf dieses Projekt nicht mehr auf das Panel übertragen werden, denn sonst ist es mit dieser IP-Adresse im ....
Außerdem dürfen keine zwei Geräte in einem Projekt im selben Netzsegment die selbe Portnummer haben.


----------



## piloti (20 Januar 2011)

Rainer Hönle schrieb:


> In der Software wird die im Projekt hinterlegte IP-Adresse verwendet. Diese kann nur durch Änderungen am Projekt geändert werden. Und dann darf dieses Projekt nicht mehr auf das Panel übertragen werden, denn sonst ist es mit dieser IP-Adresse im ....
> Außerdem dürfen keine zwei Geräte in einem Projekt im selben Netzsegment die selbe Portnummer haben.



Ich weiß nicht ob ich das Ganze falsch verstanden habe, aber das Statement passt nicht so recht in meine GEdanken.

Mein VErständnis war (ist), dass ein externer Zugriff über eine Portweiterleitung bereits funktioniert. 
D.h. die IP Addresse , mit der sich verbunden wird, ist ungleich der IP des Geräts. HRO schreibt ja auch, dass er vom Kunden die IP bekommt 
und über diese sich auf die Geräte verbinden kann. 
Wenn, wie du schreibst, die IP fest im Project hinterlegt ist und verwendet werden muss, wie passt das mit der, sich offensichtlich, ändernden Router IP des Kunden zusammen?


Auch das mit den Portnummern ist nicht klar. Geräte gleichen TYpes arbeiten im selben NEtzwerksegment mit unterschiedlichen Ports? Unterschiedliche IPs ist klar, aber Ports!?


Das mit der lokalen Portumleitung bezieht sich auf den PC, mit dem von außen zugegriffen werden soll.


Gruss, piloti


----------



## Rainer Hönle (20 Januar 2011)

Aufgabenstellung:
Es gibt einen PC auf dem läuft WCF. Und von diesem PC soll auf zwei Panels zugeriffen werden, die sich hinter einem Router befinden. HRO erhält vom Kunden die IP des Routers. In WCF kann keine Portnummer eingegeben werden und verwendet automatisch 2308.

Wie sieht nun die Lösung aus?


----------



## HRO (20 Januar 2011)

Ich habe gerade eben (der Kunde rief vorhin an) eine kleine Änderung
durchgeführt. Klappt wirklich 100%ig.

Es muss halt nur die öffentliche IP des Kunden beim Transfer eingestellt werden.

Wenn ich diese Adresse in den Hardwareeigenschaften bei Step7 einstelle funktioniert eben auch die S7-Übertragung.
(Darf nur nicht die Hardware übertragen) 

Habe eben mal Spasseshalber hinter der IP die Portnummer :2308 mit angegeben. Funktionierte nicht.
Er will wohl bloss die IP-Adresse ohne irgendwas dahinter.


Mal eben was anderes: Wie kann ich denn hier ein Bild einfügen ?? Er will eine URL von mir.


----------



## piloti (20 Januar 2011)

Rainer Hönle schrieb:


> Aufgabenstellung:
> Es gibt einen PC auf dem läuft WCF. Und von diesem PC soll auf zwei Panels zugeriffen werden, die sich hinter einem Router befinden. HRO erhält vom Kunden die IP des Routers. In WCF kann keine Portnummer eingegeben werden und verwendet automatisch 2308.
> 
> Wie sieht nun die Lösung aus?



Problem:

Das kommt aus der SW raus: <RouterIP>: 2308 und das soll zB. rauskommen: <RouterIP>: 10000

Lösung:

Die PC Applikation schickt seine Frames an ein lokal auf dem gleichen Rechner installierten "Portverbieger", welcher die empfangenen Frames 
an eine vorgegebene IP (In diesem FAll die des Routers) mit einem fest vorgegeben Port (anderen als 2308 ) weiterleitet.
In dem "Portverbieger" wird folgendes konfiguriert:
1.) IP Addresse des Routers 
2.) Local Port definiert den Port, den die PC Applikation verwendet (2308 )
3.) Remote Port ist der Port, der für das Portrouting im Router konfiguriert wurde  


Die PC Applikation schickt nun die Frames nicht an die IP des Router sondern an den "Portverbieger" der auf dem REchner läuft. 
Der "Portverbieger" wird über diesen Port lokal angesprochen und leitet die, von der PC Application, empfangenen Frame mit der Router IP 
und dem richtigen Port an die Ethernet Schnittstelle weiter.

App sendet <Localhost>: 2308
Portverbieger macht daraus <RouterIP>: 10000

Wenn die o.g. Problemstellung korrekt ist geht das mit "TCP viewer". 


Gruss, piloti


----------



## piloti (20 Januar 2011)

HRO schrieb:


> Ich habe gerade eben (der Kunde rief vorhin an) eine kleine Änderung
> durchgeführt. Klappt wirklich 100%ig.
> 
> Es muss halt nur die öffentliche IP des Kunden beim Transfer eingestellt werden.
> ...



Wie wählst du nun aus mit welches OP du dich verbinden willst?


----------



## PN/DP (20 Januar 2011)

HRO schrieb:


> Ich habe gerade eben (der Kunde rief vorhin an) eine kleine Änderung
> durchgeführt. Klappt wirklich 100%ig.
> 
> Es muss halt nur die öffentliche IP des Kunden beim Transfer eingestellt werden.


Was hast Du ausprobiert? Den von Dir schon beschriebenen normalen Ethernet-Transfer von WCCflex mit der 2308 Portweiterleitung im Kunde-Einwahlrouter oder den "Portverbieger"?



piloti schrieb:


> Wie wählst du nun aus mit welches OP du dich verbinden willst?


Du müßtest vor dem Transfer den "Portverbieger" "TCP viewer" konfigurieren (falls Du den meinst).



HRO schrieb:


> Mal eben was anderes: Wie kann ich denn hier ein Bild einfügen ?? Er will eine URL von mir.


Im Beitrags-Editor gibt es unten die Schaltfläche "Anhänge verwalten", da kannst Du Dateien (auch Bilder) von Deinem PC hier hochladen. Die erscheinen dann als Anhang zum Beitrag. Man kann auch direkt im Beitrag Grafiken einfügen.

Harald


----------



## PN/DP (20 Januar 2011)

piloti schrieb:


> Wenn die o.g. Problemstellung korrekt ist geht das mit "TCP viewer".


Was der "Portverbieger" tun muß und wieso das funktioniert, ist schon klar.
Doch könntest Du mal genauer sagen, welchen "TCP viewer" Du meinst, damit man den mal testen kann?
Das Microsoft-Tool meinst Du offensichtlich nicht.
Meinst Du den hier: http://www.westbrooksoftware.com/tdetails.aspx ?

Harald


----------



## PN/DP (20 Januar 2011)

Beim WCCflex-Transfermodus Ethernet kann bei der IP-Adresse eine Portnummer angehängt werden, ohne daß der Transferdialog meckert. Ob die Portnummer tatsächlich genutzt wird kann ich aber nicht sagen - weil ich das noch nicht getestet habe.
Wenn die Portnummer tatsächlich als Ziel-Port benutzt wird, dann müßte der Kunde-Einwahlrouter lediglich diese Portnummer zur gewünschten Panel-IP-Adresse zum Port 2308 forwarden.


Eventuell ist ein Transfer per http-Protokoll eine Lösung, da kann offiziell eine Portnummer vorgegeben werden.
Den http-Transfer habe ich aber noch nicht ausprobiert - kann ich frühestens nächste Woche mal machen.

WinCC flexible (2008 SP2 Upd1) Hilfe "Transfermodus"


> Transfermodus
> 
> * HTTP
> Der Transfer erfolgt mit dem http-Protokoll, z. B. über Intranet oder Internet.
> ...


Dieser Benutzer muß unter "WinCC Internet Settings > Web Server > User Administration" eingerichtet werden. Erstzugang: 100
Die Berechtigung "Engineering" findet sich da im Reiter "Authorizations".

Die http-Portnummer wird vermutlich unter "WinCC Internet Settings > Remote > Change settings" eingerichtet und wäre dann standardmäßig 5800.

Als Adresse nimmt der Transferdialog auch IP-Adressen ohne meckern, z.B. 205.0.0.2:5800
Nach dem Start des Transfer fragt WCCflex noch das zum Benutzername gehörende HTTP-Passwort ab.

@HRO
Falls Du den http-Transfer ausprobierst, dann berichte mal darüber.

Harald


----------



## piloti (21 Januar 2011)

PN/DP schrieb:


> Du müßtest vor dem Transfer den "Portverbieger" "TCP viewer" konfigurieren (falls Du den meinst).
> Harald



Ich denke den hat er nicht benutzt und ausgehen davon, dass er auf beide OPs je nach Bedarf zugreifen will ohne zuvor die Routerkonfig (Portweiterleitung) immer auf die IP des 
jeweiligen Geräts anzupassen, frage ich mich wie er das jetzt gemacht hat bzw. bin der MEinung, dass das so mit TCP/IP nicht funktionieren kann!?


----------



## piloti (21 Januar 2011)

PN/DP schrieb:


> Was der "Portverbieger" tun muß und wieso das funktioniert, ist schon klar.
> Doch könntest Du mal genauer sagen, welchen "TCP viewer" Du meinst, damit man den mal testen kann?
> Das Microsoft-Tool meinst Du offensichtlich nicht.
> Meinst Du den hier: http://www.westbrooksoftware.com/tdetails.aspx ?
> Harald



Sorry .... Ich meine den hier  => http://www.chip.de/downloads/TCPView_13015059.html 

Bevor ich das Tool hier vorschlug habe ich die Funktion mit Wireshark überprüft. 


Um auf einen Punkt in deinem nächsten Beitrag einzugehen ... Ob dass mit der Portnummer in WCCflex tatsächlich funktioniertkann man 
sich ohne großen Aufwand direkt in dem Viewer anschauen. Remorte Port im Viewer muss nur mit dem in WCCflex angegeben übereinstimmen
und WCCFlex muss sich natürlich auf den Localhost verbinden.


----------



## PN/DP (21 Januar 2011)

piloti schrieb:


> Sorry .... Ich meine den hier  => http://www.chip.de/downloads/TCPView_13015059.html


Bist Du sicher? 
Dein Screenshot sieht nämlich aus wie der TCP Viewer von Westbrook Software ...

Harald


----------



## piloti (21 Januar 2011)

PN/DP schrieb:


> Bist Du sicher?
> Dein Screenshot sieht nämlich aus wie der TCP Viewer von Westbrook Software ...
> 
> Harald




Ja das ist er.


----------



## HRO (21 Januar 2011)

PN/DP schrieb:


> Was hast Du ausprobiert? Den von Dir schon beschriebenen normalen Ethernet-Transfer von WCCflex mit der 2308 Portweiterleitung im Kunde-Einwahlrouter oder den "Portverbieger"?
> Harald



Den ganz normalen Weg mit der 2308-Weiterleitung.

Ich habe hier mittlerweile das OP177 liegen, welches ich dann dort einbauen soll.

Morgen früh fahre ich mal in meine "Bürowerkstatt" und schliesse das Teil an.
Mal schauen ob es möglich ist evtl. wirklich den Port 2308 im Panel zu ändern und ob dann der Transfer mit Angabe der Portnummer möglich ist.

Das wäre wohl die schnellste und einfachste Möglichkeit - wenn es denn funktioniert.

Ansonsten werde ich wirklich die ein oder andere hier vorgeschlagene Möglichkeit testen.

Schade dass ich kein 2. Panel hier habe. Wäre zum testen wirklich hilfreich.


Vielen Dank erstmal für die vielen Vorschläge und Anregungen


----------

