Deshalb war ja meine Frage, ob jmd. schon mal was vergleichbares gemacht hat.
Also unabhängig vom Gesamtsystem jetzt.
Abstrakt meine ich damit:
Nutzen eines Skripts/Sockets wie PyModBus oder ähnliches zum auslesen von Daten einer SPS-Steuerung aus unterschiedlichen Netzwerken (via VPN).
HTTPS-Tunneling über OpenVPN zum Abrufen von SPS-Daten (Speicherprogrammierbare Steuerung) mittels PyModBus
- __blackjack__
- User
- Beiträge: 13111
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Baron89: Welche unterschiedlichen Netzwerke? Du hast da ein VPN, das ist ja *ein* Netzwerk. Darum macht man ja VPNs — um Geräte die in verschiedenen Netzwerken stecken in *ein* Netzwerk zu bekommen.
So allgemein wird das sicher schon mal jemand gemacht haben, was Dir konkret aber nicht weiterhelfen wird.
So allgemein wird das sicher schon mal jemand gemacht haben, was Dir konkret aber nicht weiterhelfen wird.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Für mich sieht das eher so aus, dass die SPS-Systeme(so wie es sein soll) vom eigentlichen Netz getrennt sind. In dem "Enterprise SQL Server" dürfen dann wahrscheinlich auch nur (so sollte es auch sein) ganz wenige Leute / Systeme reinschreiben...zu denen du scheinbar bis jetzt noch nicht gehörst . Bevor du jetzt da versuchst irgendwie was zu "basteln" um diese Vorkehrungen zu umgehen würde ich, wie schon ein paar mal hier erwähnt, erstmal mit der IT/Technik/... reden ob das überhaupt so gewünscht ist. Ansonsten kann das ganz schön nach hinten losgehen.
Ich kenn mich jetzt nicht wirklich mit SPS und den genauen Abläufen aus, aber ich kann mir auch vorstellen, dass nur ganz bestimmte Systeme in die DB schreiben dürfen...und auf diesen Systeme auch vorher die Daten überprüft werden. Hier wäre es dann noch ...schlechter... wenn da "jeder" reinschreiben könnte..
Der "Enterprise SQL Server" hat im internen Netz eine feste IP über die er erreichbar ist...da du mit deinem externen Rechner per VPN am Firmennetz hängst, solltest du den Server über die interne IP oder auch den FQDN erreichen können... Ob dein Client jetzt eine statische oder dynamische IP hat ist da doch total egal.
Oder soll dann von intern auf die Daten auf DEINEM "externen" Rechner zugegriffen werden? DANN..wären wir wieder bei dem Hinweis weiter oben...Rede mit IT/Technik , dass du eine statische IP bekommst ...
Gruß
Paddie
Ich kenn mich jetzt nicht wirklich mit SPS und den genauen Abläufen aus, aber ich kann mir auch vorstellen, dass nur ganz bestimmte Systeme in die DB schreiben dürfen...und auf diesen Systeme auch vorher die Daten überprüft werden. Hier wäre es dann noch ...schlechter... wenn da "jeder" reinschreiben könnte..
Irgendwie ist es wohl noch zu früh...und/oder 2 Kaffee sind einfach noch zu wenig...Ja, aber das ist doch das Problem!
Wie soll dann das Hosting stattfinden bzw. wie kann ich dann ein Skript schreiben, dass mir den Request/Response liefert?
Ich brauche dazu doch eine fixe IP sowie Port? Oder sehe ich das etwa falsch?
Wie macht ihr das so bzw. hattet ihr schon mal einen ähnlichen Fall dsbzgl.?,-)
Der "Enterprise SQL Server" hat im internen Netz eine feste IP über die er erreichbar ist...da du mit deinem externen Rechner per VPN am Firmennetz hängst, solltest du den Server über die interne IP oder auch den FQDN erreichen können... Ob dein Client jetzt eine statische oder dynamische IP hat ist da doch total egal.
Oder soll dann von intern auf die Daten auf DEINEM "externen" Rechner zugegriffen werden? DANN..wären wir wieder bei dem Hinweis weiter oben...Rede mit IT/Technik , dass du eine statische IP bekommst ...
Gruß
Paddie
Hallo zusammen,
ich kenne das Problem von @Baron89. Denn ich habe genau das gleiche Problem.
Und zwar geht es tatsächlich um eine Modbus TCP Kommunikation. Der Modbus TCP Server ist in einem externen Netzwerk. Der Client PC wählt sich über VPN auf den Server PC ein.
Und nun geht es darum, dass man im Python Script ja nicht einfach die durch den VPN-Router vergebene virtuelle IP-Adresse ansprechen kann.
Würde mich schon auch interessieren ob man hier auf der Clientseite etwas programmieren kann. Klar, auf der Serverseite muss natürlich der Client bekannt sein und der Port geöffnet.
Beste Grüße
JB
ich kenne das Problem von @Baron89. Denn ich habe genau das gleiche Problem.
Und zwar geht es tatsächlich um eine Modbus TCP Kommunikation. Der Modbus TCP Server ist in einem externen Netzwerk. Der Client PC wählt sich über VPN auf den Server PC ein.
Und nun geht es darum, dass man im Python Script ja nicht einfach die durch den VPN-Router vergebene virtuelle IP-Adresse ansprechen kann.
Würde mich schon auch interessieren ob man hier auf der Clientseite etwas programmieren kann. Klar, auf der Serverseite muss natürlich der Client bekannt sein und der Port geöffnet.
Beste Grüße
JB
Also... meistens ist der VPN-Endpunkt entweder ein Router oder ein dediziertes VPN-Gateway. In dem Moment wo du dich einwählst, wirst du (bzw dein Client) genauso behandelt als wenn du vor Ort direkt im Netz hängst..sprich, du solltest (sofern von der IT/Technik) vorgesehen auch eine IP aus dem gleichen Netz wie die anderen Clients haben und du solltest dich auch mit dem SQL/Modbus Server verbinden können. Keine Ahnung, was du hier dann mit "virtueller IP" meinst.
Je nach Konfiguration des VPNs (IT/Technik fragen) kann es natürlich sein, dass der Zugriff vom internen Netz auf den VPN-Client untersagt ist. DAS hat dann aber wenig mit der Adress-Vergabe zu tun...
Die einzigen "virtuellen" Adressen die ich hier sehe, sind vielleicht die des (vielleicht vorhandenen) Transfernetzes...
Je nach Konfiguration des VPNs (IT/Technik fragen) kann es natürlich sein, dass der Zugriff vom internen Netz auf den VPN-Client untersagt ist. DAS hat dann aber wenig mit der Adress-Vergabe zu tun...
Die einzigen "virtuellen" Adressen die ich hier sehe, sind vielleicht die des (vielleicht vorhandenen) Transfernetzes...
- DeaD_EyE
- User
- Beiträge: 1021
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Was denn jetzt?
Ihr möchtet direkt auf die externe Datenbank zugreifen?
Ihr möchtet direkt auf die CPU der SPS zugreifen?
Modbus ist eins der vielen Feldbussysteme. Daneben gibt es noch Profinet, Profibus, Can, EtherCAT.
Die dienen alle zum Datenaustausch zwischen den Controllern und der Peripherie.
Wieso ändert ihr das nicht im SPS-Programm? Wäre doch das Naheliegendste.
So oder so, wenn ihr experimentieren wollt, macht das bitte nur lokal in der Firma.
Wenn es dann darum geht aus dem Internet einen Zugriff darauf zu erlangen, dann nochmal bitte intensiv mit VPN beschäftigen.
SIEMENS verkauft sogar superteure Hardware speziell für diesen Zweck.
Immer dran denken, wenn ihr es verbockt, ruft man euch um 3 Uhr morgens an ^^
EDIT: virtuelle IP ist einfach eine IP-Adresse, die im Internet nicht geroutet wird.
Ihr möchtet direkt auf die externe Datenbank zugreifen?
Ihr möchtet direkt auf die CPU der SPS zugreifen?
Modbus ist eins der vielen Feldbussysteme. Daneben gibt es noch Profinet, Profibus, Can, EtherCAT.
Die dienen alle zum Datenaustausch zwischen den Controllern und der Peripherie.
Wieso ändert ihr das nicht im SPS-Programm? Wäre doch das Naheliegendste.
So oder so, wenn ihr experimentieren wollt, macht das bitte nur lokal in der Firma.
Wenn es dann darum geht aus dem Internet einen Zugriff darauf zu erlangen, dann nochmal bitte intensiv mit VPN beschäftigen.
SIEMENS verkauft sogar superteure Hardware speziell für diesen Zweck.
Immer dran denken, wenn ihr es verbockt, ruft man euch um 3 Uhr morgens an ^^
EDIT: virtuelle IP ist einfach eine IP-Adresse, die im Internet nicht geroutet wird.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Stimmt wurde auch schon mal um 3 Uhr morgens angerufen wg. so einer Geschichte . Aber VPN ist nur bedingt eine Lösung, imho.DeaD_EyE hat geschrieben: ↑Dienstag 4. Februar 2020, 10:38 Was denn jetzt? Ihr möchtet direkt auf die externe Datenbank zugreifen? Ihr möchtet direkt auf die CPU der SPS zugreifen? Modbus ist eins der vielen Feldbussysteme. Daneben gibt es noch Profinet, Profibus, Can, EtherCAT. Die dienen alle zum Datenaustausch zwischen den Controllern und der Peripherie. Wieso ändert ihr das nicht im SPS-Programm? Wäre doch das Naheliegendste. So oder so, wenn ihr experimentieren wollt, macht das bitte nur lokal in der Firma. Wenn es dann darum geht aus dem Internet einen Zugriff darauf zu erlangen, dann nochmal bitte intensiv mit VPN Österreich beschäftigen. SIEMENS verkauft sogar superteure Hardware speziell für diesen Zweck. Immer dran denken, wenn ihr es verbockt, ruft man euch um 3 Uhr morgens an ^^ EDIT: virtuelle IP ist einfach eine IP-Adresse, die im Internet nicht geroutet wird.