Hello,
I still trying to build a proof of concept for my ‘secured’ PDC server. My PDC server is running openPDC service, in a VLAN ; acquiring PMU data through firewalls rules.
I want to be able to configure this openPDC server, using Manager and Console, from a desktop which would not be in the same VLAN ; with a Windows account not in the same AD domain. That’s because I’ll will not be allowed to access with a remote desktop session to the future production server.
I’ve read several posts (how to make OpenPDC service working on Linux ; with the Console/Manager working on Windows) ; which addresses the same desire to run Manager and Console on a remote workstation from the server hosting the service. But I encounter some difficulties.
- My PDC Server (Windows) has the following configuration :
– OpenPDC 2.9.315
– Local MySQL Server database (with a remote account declared on it ; allowing access from the remote desktop).
– For the initial config (local Manager and Console) ; I have the following parameters :
openPDCConsole.exe.Config :
“ConnectionString” value=“Server=localhost:8500; interface=0.0.0.0”
“IntegratedSecurity” value=“True”
openPDCManager.exe.Config :
“ConnectionString” value=“Allow User Variables=true; Server=localhost; Database=openPDC29315; Uid=root; Pwd=DBPWD”
System Node configuration
RemoteStatusServerConnectionString={server=PDC_SERVER_IP:8500; interface=0.0.0.0; integratedSecurity=True}; dataPublisherPort=6165; AlarmServiceUrl=http://PDC_SERVER_IP:5018/alarmservices; WebHostURL=http://PDC_SERVER_IP:8280/
=> Locally, everything works fine ; which is not surprising because it’s a standard standalone ‘by default’ local configuration.
- My remote Desktop (Windows too) has the following configuration :
– OpenPDC Manager and Console files stored locally.
openPDCConsole.exe.Config :
“ConnectionString” value=“Server=PDC_SERVER_IP:8500; interface=0.0.0.0”
“IntegratedSecurity” value=“True”
openPDCManager.exe.Config :
“ConnectionString” value=“Allow User Variables=true; Server=PDC_SERVER_IP; Database=openPDC29315; Uid=RemoteDBUser; Pwd=RemoteDBPWD”
=> Console doesn’t work. I can log in the Manager and, because it access the remote database with success, I can see all the stored measurements, devices and so on ; but Manager can’t access to the remote windows service (light on the upper right corner is red).
As I’ve read that it may be due to the IntegratedSecurity parameters, I’ve then changed the following values :
- PDC Server Side :
openPDCConsole.exe.Config : “IntegratedSecurity” value=“False”
System Node configuration :
RemoteStatusServerConnectionString={server=PDC_SERVER_IP:8500; interface=0.0.0.0; integratedSecurity=False}; dataPublisherPort=6165; AlarmServiceUrl=http://PDC_SERVER_IP:5018/alarmservices; WebHostURL=http://PDC_SERVER_IP:8280/
Event before testing the remote desktop Console and Manager ; I notice some issues on the local PDC server :
=> The console does no work properly :
=> Manager is not as stable as in the default configuration :
the light in the upper right corner stay green most of the time ; but at some moments start to blink green/red quickly and constantly.
The server informations on the home page are not fully displayed and the ‘restart service’ button is not available.
In the error logs I have the following exceptions :
(Outer Exception)
Date and Time: 5/31/2024 3:01:34 PM
Machine Name: XXXXXXXXXXXX
Machine IP: XXXXXXXXXXX
Machine OS: Microsoft Windows NT 6.2.9200.0
Application Domain: openPDC.exe
Assembly Codebase: D:/openPDC/openPDC.exe
Assembly Full Name: openPDC, Version=2.9.315.0, Culture=neutral, PublicKeyToken=null
Assembly Version: 2.9.315.0
Assembly Build Date: 5/19/2024 1:44:34 AM
.Net Runtime Version: 4.0.30319.42000
Exception Source: System
Exception Type: System.IO.IOException
Exception Message: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
Exception Target Site: EndProcessAuthentication
---- Stack Trace ----
- System.Net.Security.NegoState.EndProcessAuthentication(result As IAsyncResult)*
-
openPDC.exe: N 2316332*
- GSF.Communication.TlsServer.ProcessIntegratedSecurityAuthentication(asyncResult As IAsyncResult)*
-
openPDC.exe: N 00167*
(Outer Exception)
Date and Time: 5/31/2024 3:01:34 PM
Machine Name: XXXXXXXXXXXXXX
Machine IP: XXXXXXXXXXXXX
Machine OS: Microsoft Windows NT 6.2.9200.0
Application Domain: openPDC.exe
Assembly Codebase: D:/openPDC/openPDC.exe
Assembly Full Name: openPDC, Version=2.9.315.0, Culture=neutral, PublicKeyToken=null
Assembly Version: 2.9.315.0
Assembly Build Date: 5/19/2024 1:44:34 AM
.Net Runtime Version: 4.0.30319.42000
*Exception Source: *
Exception Type: System.Exception
Exception Message: Unable to authenticate connection to client [PDC_SERVER_IP]: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
I have the same behavior using Manager and Console on the remote desktop.
Have I forgot something ?
Sorry for the long post,
Regards