How to configure GS/S 6.1.2 through a firewall (blast from the past)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:

Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 



_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2

Yes to all of those questions…

 

I’m doing an RPC login.

 

For starters, here’s a sample of netldi in debug mode:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "7001:7006".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc application.

     '!@MyIP#encrypted:Claude!gemnetobject'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Successful fork; Child's Pid: 3308 command is:

    'C:/GemStone61/bin/gem.exe TCP 10806 30'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Now reading reply from child

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  7001'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc gem or a linked application.

     '!@MyIP#encrypted:SYSTEM#server!icp1'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  10657'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

At this point the client gets the error:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=10657) failed to complete.]

 

 

From: James Foster [mailto:[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:



Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2
In reply to this post by James Foster-9

BTW another oddity, all processes show as killed as soon as I start them, for example

 

C:\GemStone61\bin>stone start icp1

stone start[Info]: Waiting for 'icp1' to start .

stone start[Info]: Server 'icp1' has been started.

 

C:\GemStone61\bin>gslist

Status   Version      Owner       Started     Type  Name

-------- --------- ------------- ------------ ------ ----

killed   6.1.2     SYSTEM        Feb 24 23:02 cache  icp1@phatboy

killed   6.1.2     SYSTEM        Feb 24 23:02 Stone  icp1

 

C:\GemStone61\bin>

 

Any ideas why? The logs show nothing unusual.

 

 

From: James Foster [mailto:[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:



Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
In reply to this post by Normand Mongeau-2
This suggests that the Gem has started so it should have created a log file as well. That would be the next place to look.

On Feb 24, 2014, at 8:00 PM, Normand Mongeau <[hidden email]> wrote:

Yes to all of those questions…

 

I’m doing an RPC login.

 

For starters, here’s a sample of netldi in debug mode:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "7001:7006".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc application.

     '!@MyIP#encrypted:Claude!gemnetobject'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Successful fork; Child's Pid: 3308 command is:

    'C:/GemStone61/bin/gem.exe TCP 10806 30'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Now reading reply from child

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  7001'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc gem or a linked application.

     '!@MyIP#encrypted:SYSTEM#server!icp1'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  10657'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

At this point the client gets the error:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=10657) failed to complete.]

 

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:



Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 



_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
In reply to this post by Normand Mongeau-2
Before starting the stone or any other process (including NetLDI), set an environment variable GS_MAKE_EVENTS_GLOBAL=1. That is a work-around for a ‘killed’ report.

James

On Feb 24, 2014, at 8:04 PM, Normand Mongeau <[hidden email]> wrote:

BTW another oddity, all processes show as killed as soon as I start them, for example

 

C:\GemStone61\bin>stone start icp1

stone start[Info]: Waiting for 'icp1' to start .

stone start[Info]: Server 'icp1' has been started.

 

C:\GemStone61\bin>gslist

Status   Version      Owner       Started     Type  Name

-------- --------- ------------- ------------ ------ ----

killed   6.1.2     SYSTEM        Feb 24 23:02 cache  icp1@phatboy

killed   6.1.2     SYSTEM        Feb 24 23:02 Stone  icp1

 

C:\GemStone61\bin>

 

Any ideas why? The logs show nothing unusual.

 

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:



Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 



_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2

Yep that did the trick, thanks!

 

 

From: James Foster [mailto:[hidden email]]
Sent: mardi, 25 février 2014 00:25
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Before starting the stone or any other process (including NetLDI), set an environment variable GS_MAKE_EVENTS_GLOBAL=1. That is a work-around for a ‘killed’ report.

 

James

On Feb 24, 2014, at 8:04 PM, Normand Mongeau <[hidden email]> wrote:



BTW another oddity, all processes show as killed as soon as I start them, for example

 

C:\GemStone61\bin>stone start icp1

stone start[Info]: Waiting for 'icp1' to start .

stone start[Info]: Server 'icp1' has been started.

 

C:\GemStone61\bin>gslist

Status   Version      Owner       Started     Type  Name

-------- --------- ------------- ------------ ------ ----

killed   6.1.2     SYSTEM        Feb 24 23:02 cache  icp1@phatboy

killed   6.1.2     SYSTEM        Feb 24 23:02 Stone  icp1

 

C:\GemStone61\bin>

 

Any ideas why? The logs show nothing unusual.

 

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:




Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau
In reply to this post by James Foster-9

Here’s the matching gem log :

 

_____________________________________________________________________________

|               GemStone Object-Oriented Data Management System               |

|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |

|                            All rights reserved.                             |

+-----------------------------------------------------------------------------+

|    PROGRAM: GEM, GemStone Session Process                                   |

|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |

|  BUILT FOR: Pentium/Windows_NT                                              |

| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|

| 3                                                                           |

| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                             Configuration Files                             |

|                                                                             |

| System File: C:/GemStone61/data/system.conf                                 |

|                                                                             |

| Executable File: C:/users/default/gem.conf                                  |

| Warning:  File not found (The system cannot find the file specified.)       |

|           using defaults.                                                   |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                Gem Configuration Options for process id 3308                |

|_____________________________________________________________________________|

 

GEM_DETACH_PAGES_ON_COMMIT = TRUE;

GEM_DETACH_PAGES_ON_ABORT = TRUE;

DUMP_OPTIONS = TRUE;

GEM_DBF_FILE_LOCK = TRUE;

GEM_GCI_LOG_ENABLED = FALSE;

GEM_FREE_FRAME_LIMIT = -1;

GEM_HALT_ON_ERROR = 0;

GEM_IO_LIMIT = 5000;

GEM_MAX_SMALLTALK_STACK_DEPTH = 1000;

GEM_NATIVE_CODE_MAX = 8192;

GEM_NATIVE_CODE_THRESHOLD = 6;

GEM_NOT_CONNECTED_DELTA = 300;

GEM_NOT_CONNECTED_THRESHOLD = 2000;

GEM_PGSVR_FREE_FRAME_LIMIT = -1;

GEM_PRIVATE_PAGE_CACHE_KB = 200;

GEM_RPCGCI_TIMEOUT = 0;

GEM_TEMPOBJ_CACHE_SIZE = 600;

LOG_WARNINGS = TRUE;

SHR_NUM_FREE_FRAME_SERVERS = 1;

SHR_PAGE_CACHE_SIZE_KB = 10000;

SHR_PAGE_CACHE_NUM_PROCS = 256;

SHR_TARGET_FREE_FRAME_COUNT = -1;

 

[Info]: RPC client/gem/minimum GCI levels = 33/33/30

Error connecting to stone:

Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

*****************************************************

****** GemStone Abnormal Shutdown

*****************************************************

-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of James Foster
Sent: mardi, 25 février 2014 00:17
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

This suggests that the Gem has started so it should have created a log file as well. That would be the next place to look.

On Feb 24, 2014, at 8:00 PM, Normand Mongeau <[hidden email]> wrote:



Yes to all of those questions…

 

I’m doing an RPC login.

 

For starters, here’s a sample of netldi in debug mode:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "7001:7006".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc application.

     '!@MyIP#encrypted:Claude!gemnetobject'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Successful fork; Child's Pid: 3308 command is:

    'C:/GemStone61/bin/gem.exe TCP 10806 30'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Now reading reply from child

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  7001'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc gem or a linked application.

     '!@MyIP#encrypted:SYSTEM#server!icp1'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  10657'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

At this point the client gets the error:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=10657) failed to complete.]

 

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:




Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 21:27
To: Normand Mongeau
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Normand,

 

The existing NetLDI process is rather complex (but will improve in the forthcoming 64-bit 3.2). You need to have at least two ports open, one for the initial connection between the GCI client and the NetLDI process and one for the subsequent connection between the GCI client and the Gem launched by the NetLDI.

 

The first connection is on a port defined when the NetLDI is started. If you don’t give a name or number, there is a default and in your case it is 10088. Note that you need to open this port on the firewall (and it is below the range you designated). When you initiate a connection from the GCI client, it needs to know the NetLDI port. If you provide a number, that is fine. If you provide a name, then it will do a lookup in the services file (C:\Windows\System32\drivers\etc\services) and use the number found there. If you do not have an entry for netldi61, then it will attempt the connection on a random port (not very helpful!). In your example it attempted a connection on 53695, indicating that you do not have the Windows client configured properly.

 

The port range you provided when you configured NetLDI deals with the second connection, and I’d say that one port should be adequate. I’d suggest you start NetLDI on 10088 and use 10089:10089 as the secondary port range. Then open 10088 to 10089 on your firewall. Finally, on your client, add an entry to your services file or explicitly use 10088 instead of netldi61 as the service.

 

James

On Feb 24, 2014, at 5:08 PM, Normand Mongeau <[hidden email]> wrote:

 

Hi,

 

I’m trying to open up a firewall to let through an old app running on an old 6.1.2 GS/S server, and am having a hard time. Note that the server is running on a Windows XP box.

 

I configured netldi61 thus:

 

Netldi61 create /a /b /g /p: 11000:11050

 

And opened up ports 11000 to 11050 in my firewall, yet when I try to connect I get errors like this:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=53695) failed to complete.]

 

 

The Netldi log reads like this, so the port range is in effect:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "11000:11050".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

 

Gslist –x reports this, again indicating the port range should be in effect:

 

netldi61

  status=  running

  type=    Netldi

  version= 6.1.2

  owner=   SYSTEM

  started= Feb 21 15:09

  pid=     5104

  port=    10088

  options=  -g -a SYSTEM -p 11000:11050

  logfile= C:/GemStone61/log/netldi61.log

 

 

Why is GS trying to reach port 53695?

 

Normand

 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

 

 

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2
In reply to this post by James Foster-9

Here’s the matching gem log :

 

Here’s the matching gem log :

 

_____________________________________________________________________________

|               GemStone Object-Oriented Data Management System               |

|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |

|                            All rights reserved.                             |

+-----------------------------------------------------------------------------+

|    PROGRAM: GEM, GemStone Session Process                                   |

|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |

|  BUILT FOR: Pentium/Windows_NT                                              |

| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|

| 3                                                                           |

| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                             Configuration Files                             |

|                                                                             |

| System File: C:/GemStone61/data/system.conf                                 |

|                                                                             |

| Executable File: C:/users/default/gem.conf                                  |

| Warning:  File not found (The system cannot find the file specified.)       |

|           using defaults.                                                   |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                Gem Configuration Options for process id 3308                |

|_____________________________________________________________________________|

 

GEM_DETACH_PAGES_ON_COMMIT = TRUE;

GEM_DETACH_PAGES_ON_ABORT = TRUE;

DUMP_OPTIONS = TRUE;

GEM_DBF_FILE_LOCK = TRUE;

GEM_GCI_LOG_ENABLED = FALSE;

GEM_FREE_FRAME_LIMIT = -1;

GEM_HALT_ON_ERROR = 0;

GEM_IO_LIMIT = 5000;

GEM_MAX_SMALLTALK_STACK_DEPTH = 1000;

GEM_NATIVE_CODE_MAX = 8192;

GEM_NATIVE_CODE_THRESHOLD = 6;

GEM_NOT_CONNECTED_DELTA = 300;

GEM_NOT_CONNECTED_THRESHOLD = 2000;

GEM_PGSVR_FREE_FRAME_LIMIT = -1;

GEM_PRIVATE_PAGE_CACHE_KB = 200;

GEM_RPCGCI_TIMEOUT = 0;

GEM_TEMPOBJ_CACHE_SIZE = 600;

LOG_WARNINGS = TRUE;

SHR_NUM_FREE_FRAME_SERVERS = 1;

SHR_PAGE_CACHE_SIZE_KB = 10000;

SHR_PAGE_CACHE_NUM_PROCS = 256;

SHR_TARGET_FREE_FRAME_COUNT = -1;

 

[Info]: RPC client/gem/minimum GCI levels = 33/33/30

Error connecting to stone:

Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

*****************************************************

****** GemStone Abnormal Shutdown

*****************************************************

-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

 

From: James Foster [mailto:[hidden email]]
Sent: mardi, 25 février 2014 00:17
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

This suggests that the Gem has started so it should have created a log file as well. That would be the next place to look.

On Feb 24, 2014, at 8:00 PM, Normand Mongeau <[hidden email]> wrote:



Yes to all of those questions…

 

I’m doing an RPC login.

 

For starters, here’s a sample of netldi in debug mode:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "7001:7006".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc application.

     '!@MyIP#encrypted:Claude!gemnetobject'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Successful fork; Child's Pid: 3308 command is:

    'C:/GemStone61/bin/gem.exe TCP 10806 30'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Now reading reply from child

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  7001'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc gem or a linked application.

     '!@MyIP#encrypted:SYSTEM#server!icp1'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  10657'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

At this point the client gets the error:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=10657) failed to complete.]

 

 

From: James Foster [[hidden email]]
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:




Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]]
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
This confirms that the Gem started (so we got through all the NetLDI complications), and that the problem was with the Gem-to-Stone connection. I assume that this problem was solved when you set an environment variable GS_MAKE_EVENTS_GLOBAL=1.

James

On Feb 25, 2014, at 10:08 AM, Normand Mongeau <[hidden email]> wrote:

Here’s the matching gem log :
 
Here’s the matching gem log :
 
_____________________________________________________________________________
|               GemStone Object-Oriented Data Management System               |
|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |
|                            All rights reserved.                             |
+-----------------------------------------------------------------------------+
|    PROGRAM: GEM, GemStone Session Process                                   |
|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |
|  BUILT FOR: Pentium/Windows_NT                                              |
| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|
| 3                                                                           |
| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |
|_____________________________________________________________________________|
_____________________________________________________________________________
|                             Configuration Files                             |
|                                                                             |
| System File: C:/GemStone61/data/system.conf                                 |
|                                                                             |
| Executable File: C:/users/default/gem.conf                                  |
| Warning:  File not found (The system cannot find the file specified.)       |
|           using defaults.                                                   |
|_____________________________________________________________________________|
_____________________________________________________________________________
|                Gem Configuration Options for process id 3308                |
|_____________________________________________________________________________|
 
GEM_DETACH_PAGES_ON_COMMIT = TRUE;
GEM_DETACH_PAGES_ON_ABORT = TRUE;
DUMP_OPTIONS = TRUE;
GEM_DBF_FILE_LOCK = TRUE;
GEM_GCI_LOG_ENABLED = FALSE;
GEM_FREE_FRAME_LIMIT = -1;
GEM_HALT_ON_ERROR = 0;
GEM_IO_LIMIT = 5000;
GEM_MAX_SMALLTALK_STACK_DEPTH = 1000;
GEM_NATIVE_CODE_MAX = 8192;
GEM_NATIVE_CODE_THRESHOLD = 6;
GEM_NOT_CONNECTED_DELTA = 300;
GEM_NOT_CONNECTED_THRESHOLD = 2000;
GEM_PGSVR_FREE_FRAME_LIMIT = -1;
GEM_PRIVATE_PAGE_CACHE_KB = 200;
GEM_RPCGCI_TIMEOUT = 0;
GEM_TEMPOBJ_CACHE_SIZE = 600;
LOG_WARNINGS = TRUE;
SHR_NUM_FREE_FRAME_SERVERS = 1;
SHR_PAGE_CACHE_SIZE_KB = 10000;
SHR_PAGE_CACHE_NUM_PROCS = 256;
SHR_TARGET_FREE_FRAME_COUNT = -1;
 
[Info]: RPC client/gem/minimum GCI levels = 33/33/30
Error connecting to stone:
Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------
GemStone: Error         Fatal
["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo
nnectionRefused  Nonblocking connect(MyIP,port=10657) failed
to complete.]
Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10
 
 
*****************************************************
****** GemStone Abnormal Shutdown
*****************************************************
-----------------------------------------------------
GemStone: Error         Fatal
["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo
nnectionRefused  Nonblocking connect(MyIP,port=10657) failed
to complete.]
Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau-2
In reply to this post by James Foster-9

No I still have the same problem. Even though netldi is configured to use ports 7001 to 7006, I still get errors for ports outside that range (for example below, port 10657).

 

 

From: James Foster [mailto:[hidden email]]
Sent: mardi, 25 février 2014 13:15
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

This confirms that the Gem started (so we got through all the NetLDI complications), and that the problem was with the Gem-to-Stone connection. I assume that this problem was solved when you set an environment variable GS_MAKE_EVENTS_GLOBAL=1.

 

James

On Feb 25, 2014, at 10:08 AM, Normand Mongeau <[hidden email]> wrote:



Here’s the matching gem log :

 

Here’s the matching gem log :

 

_____________________________________________________________________________

|               GemStone Object-Oriented Data Management System               |

|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |

|                            All rights reserved.                             |

+-----------------------------------------------------------------------------+

|    PROGRAM: GEM, GemStone Session Process                                   |

|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |

|  BUILT FOR: Pentium/Windows_NT                                              |

| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|

| 3                                                                           |

| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                             Configuration Files                             |

|                                                                             |

| System File: C:/GemStone61/data/system.conf                                 |

|                                                                             |

| Executable File: C:/users/default/gem.conf                                  |

| Warning:  File not found (The system cannot find the file specified.)       |

|           using defaults.                                                   |

|_____________________________________________________________________________|

_____________________________________________________________________________

|                Gem Configuration Options for process id 3308                |

|_____________________________________________________________________________|

 

GEM_DETACH_PAGES_ON_COMMIT = TRUE;

GEM_DETACH_PAGES_ON_ABORT = TRUE;

DUMP_OPTIONS = TRUE;

GEM_DBF_FILE_LOCK = TRUE;

GEM_GCI_LOG_ENABLED = FALSE;

GEM_FREE_FRAME_LIMIT = -1;

GEM_HALT_ON_ERROR = 0;

GEM_IO_LIMIT = 5000;

GEM_MAX_SMALLTALK_STACK_DEPTH = 1000;

GEM_NATIVE_CODE_MAX = 8192;

GEM_NATIVE_CODE_THRESHOLD = 6;

GEM_NOT_CONNECTED_DELTA = 300;

GEM_NOT_CONNECTED_THRESHOLD = 2000;

GEM_PGSVR_FREE_FRAME_LIMIT = -1;

GEM_PRIVATE_PAGE_CACHE_KB = 200;

GEM_RPCGCI_TIMEOUT = 0;

GEM_TEMPOBJ_CACHE_SIZE = 600;

LOG_WARNINGS = TRUE;

SHR_NUM_FREE_FRAME_SERVERS = 1;

SHR_PAGE_CACHE_SIZE_KB = 10000;

SHR_PAGE_CACHE_NUM_PROCS = 256;

SHR_TARGET_FREE_FRAME_COUNT = -1;

 

[Info]: RPC client/gem/minimum GCI levels = 33/33/30

Error connecting to stone:

Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

*****************************************************

****** GemStone Abnormal Shutdown

*****************************************************

-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 

 

 

From: James Foster [[hidden email]] 
Sent: mardi, 25 février 2014 00:17
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

This suggests that the Gem has started so it should have created a log file as well. That would be the next place to look.

On Feb 24, 2014, at 8:00 PM, Normand Mongeau <[hidden email]> wrote:




Yes to all of those questions…

 

I’m doing an RPC login.

 

For starters, here’s a sample of netldi in debug mode:

 

Summary of netldi parameters:

   The host name is "phatboy".

   GEMSTONE is: "C:\GemStone61".

   System password authorization is permitted.

   Clients are not authenticated.

   Process creation is permitted through user's HOME directory.

   Pool of ports is "7001:7006".

   Created processes belong to the account named "SYSTEM".

   The default directory for log files is 'C:\users\default\'.

Entering Service Loop

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc application.

     '!@MyIP#encrypted:Claude!gemnetobject'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Successful fork; Child's Pid: 3308 command is:

    'C:/GemStone61/bin/gem.exe TCP 10806 30'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Now reading reply from child

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  7001'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Attempting accept...

     ...succeeded accepting client from 192.168.0.1, connection = 2

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Finished reading client request:

     Client is a rpc gem or a linked application.

     '!@MyIP#encrypted:SYSTEM#server!icp1'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Reply to client started:

    'SUCCESS  10657'

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Done writing reply to client.

0: Mon 24 Feb 2014 15:42:02 Eastern Standard Time

    Disposed. elapsed time = 0

 

At this point the client gets the error:

 

GS Server Error - GbsNetErrConnectionRefused - ["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrConnectionRefused  Nonblocking connect(my IP Address,port=10657) failed to complete.]

 

 

From: James Foster [[hidden email]] 
Sent: 24 février 2014 22:50
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Good work verifying that the initial connection from the GCI client to the NetLDI is working. Reading the error message more closely I see that the problem claims to be connecting to the stone. Are you doing a linked login or an RPC login? I think it will be much more difficult to do a linked login from outside a firewall. Can you start the NetLDI in debug mode (/d)? Can you track down the various log files? Is there a gemnetobject log file?

 

James

On Feb 24, 2014, at 7:42 PM, Normand Mongeau <[hidden email]> wrote:





Proof that 10088 is configured correctly, I just closed that port in the firewall and the error message is different:

 

GS Server Error - GbsHostErrCantSpawn - Unable to create a GemStone session.

NetLDI service 'netldi61' not found on node 'MyIP:

Nonblocking connect(MyIP,port=10088) failed to complete.

 

From: Normand Mongeau [[hidden email]] 
Sent: 24 février 2014 22:34
To: 'James Foster'
Subject: RE: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

Hi James,

 

I should have mentioned that port 10088 is already configured and functional, and the firewall already lets it through.

 

There is something missing and I don’t know what, but this is extremely frustrating.

 

Here’s where I am:

 

-netldi61 10088/tcp is configured in the services file

-port 10088 is open in the firewall

-the netldi service was created with a port range (I now changed it to 7001:7006)

-ports 7001 to 7006 are also open in the firewall

 

When I connect using the LAN ip address, it works, but when I try using the public WAN address,  I always get an error message, and the port is always outside the 7001 to 7006 range.

 

Normand

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
The current problem is not directly related to NetLDI but is between the Gem and the Stone, although since the Gem is started by the NetLDI it could be influenced by how the NetLDI was started. One approach to take when debugging login problems with GBS is to try a login with Topaz. See http://programminggems.wordpress.com/2012/11/28/using-topaz-on-windows/.

How did you set the environment variable GS_MAKE_EVENTS_GLOBAL?

What do you see when you do a gslist -c -v -l?


On Feb 25, 2014, at 10:19 AM, Normand Mongeau <[hidden email]> wrote:

No I still have the same problem. Even though netldi is configured to use ports 7001 to 7006, I still get errors for ports outside that range (for example below, port 10657).
 
 
From: James Foster [[hidden email]] 
Sent: mardi, 25 février 2014 13:15
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)
 
This confirms that the Gem started (so we got through all the NetLDI complications), and that the problem was with the Gem-to-Stone connection. I assume that this problem was solved when you set an environment variable GS_MAKE_EVENTS_GLOBAL=1.
 

James

On Feb 25, 2014, at 10:08 AM, Normand Mongeau <[hidden email]> wrote:


Here’s the matching gem log :
 
_____________________________________________________________________________
|               GemStone Object-Oriented Data Management System               |
|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |
|                            All rights reserved.                             |
+-----------------------------------------------------------------------------+
|    PROGRAM: GEM, GemStone Session Process                                   |
|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |
|  BUILT FOR: Pentium/Windows_NT                                              |
| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|
| 3                                                                           |
| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |
|_____________________________________________________________________________|
...
 
[Info]: RPC client/gem/minimum GCI levels = 33/33/30
Error connecting to stone:
Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------
GemStone: Error         Fatal
["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo
nnectionRefused  Nonblocking connect(MyIP,port=10657) failed
to complete.]
Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10
 

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau

Gslist –c –v –l shows this :

 

C:\GemStone61\bin>gslist -c -v -l

Status   Version      Owner      Pid   Port   Started     Type  Name

-------- --------- ------------- ----- ----- ------------ ------ ----

running  6.1.2     SYSTEM         3408 10088 Feb 25 09:09 Netldi netldi61

  OK     6.1.2     SYSTEM         3696  1260 Feb 25 09:08 cache  icp1@phatboy

running  6.1.2     SYSTEM         3588  1270 Feb 25 09:08 Stone  icp1

 

I set the environment variable through the Windows GUI (computer properties). It has worked since gslist no longer reports processes as being killed.

 

And login with Topaz works fine. Everything works fine, except trying to connect using the WAN address instead of the LAN address. Even in my IDE (VA), I can connect using the GemStone Session Browser via the LAN address, but not the WAN address.

 

 

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of James Foster
Sent: mardi, 25 février 2014 13:29
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

The current problem is not directly related to NetLDI but is between the Gem and the Stone, although since the Gem is started by the NetLDI it could be influenced by how the NetLDI was started. One approach to take when debugging login problems with GBS is to try a login with Topaz. See http://programminggems.wordpress.com/2012/11/28/using-topaz-on-windows/.

 

How did you set the environment variable GS_MAKE_EVENTS_GLOBAL?

 

What do you see when you do a gslist -c -v -l?

 

On Feb 25, 2014, at 10:19 AM, Normand Mongeau <[hidden email]> wrote:



No I still have the same problem. Even though netldi is configured to use ports 7001 to 7006, I still get errors for ports outside that range (for example below, port 10657).

 

 

From: James Foster [[hidden email]] 
Sent: mardi, 25 février 2014 13:15
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

This confirms that the Gem started (so we got through all the NetLDI complications), and that the problem was with the Gem-to-Stone connection. I assume that this problem was solved when you set an environment variable GS_MAKE_EVENTS_GLOBAL=1.

 

James

On Feb 25, 2014, at 10:08 AM, Normand Mongeau <[hidden email]> wrote:




Here’s the matching gem log :

 

_____________________________________________________________________________

|               GemStone Object-Oriented Data Management System               |

|               Copyright (C) GemStone Systems, Inc. 1986-2004.               |

|                            All rights reserved.                             |

+-----------------------------------------------------------------------------+

|    PROGRAM: GEM, GemStone Session Process                                   |

|    VERSION: 6.1.2, Wed Feb 25 15:46:30 US/Pacific 2004                      |

|  BUILT FOR: Pentium/Windows_NT                                              |

| RUNNING ON: 2-CPU phatboy: Intel CPU, Windows NT 5.1 build 2600 Service Pack|

| 3                                                                           |

| PROCESS ID: 3308      DATE: Mon 24 Feb 2014 15:42:02 Eastern Standard Time  |

|_____________________________________________________________________________|

...

 

[Info]: RPC client/gem/minimum GCI levels = 33/33/30

Error connecting to stone:

Nonblocking connect(MyIP,port=10657) failed to complete.-----------------------------------------------------

GemStone: Error         Fatal

["The connection to the Stone Repository monitor was refused:\n" errmsg.netErrCo

nnectionRefused  Nonblocking connect(MyIP,port=10657) failed

to complete.]

Error Category: 3613 [GemStone] Number: 4136 Arg Count: 0 Context : 10

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
On Feb 25, 2014, at 10:41 AM, Normand Mongeau <[hidden email]> wrote:

Gslist –c –v –l shows this :
 
C:\GemStone61\bin>gslist -c -v -l
Status   Version      Owner      Pid   Port   Started     Type  Name
-------- --------- ------------- ----- ----- ------------ ------ ----
running  6.1.2     SYSTEM         3408 10088 Feb 25 09:09 Netldi netldi61
  OK     6.1.2     SYSTEM         3696  1260 Feb 25 09:08 cache  icp1@phatboy
running  6.1.2     SYSTEM         3588  1270 Feb 25 09:08 Stone  icp1
 
I set the environment variable through the Windows GUI (computer properties). It has worked since gslist no longer reports processes as being killed.
 
And login with Topaz works fine. Everything works fine, except trying to connect using the WAN address instead of the LAN address. Even in my IDE (VA), I can connect using the GemStone Session Browser via the LAN address, but not the WAN address. 

If you tell the Gem to connect to a local Stone, then it makes a local connection (internal) and does not raise any firewall issues. If you tell the Gem to connect to a remote Stone, then it makes a remote connection (external) and that connection can be blocked by a firewall. There are a number of connections needed between various processes and this has been made a bit easier over the years. For example, in 64-bit 3.0 and later you can set STN_WELL_KNOWN_PORT_NUMBER and SHR_WELL_KNOWN_PORT_NUMBER in the config file and that port will be used. Otherwise (and in your case) each time the stone and cache monitor start they pick a random port and note it in the locks file.

Is there a reason you need to use the WAN address? If things work with the LAN address why not use it?

James

P.S. When doing some of this research I found that 32-bit version 6.1.2 was built on 25-Feb-2004, exactly ten years ago today!


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau

I need to give access to our database to someone who is offsite.

 

So in essence you’re saying that this is not possible, unless I open all ports on my firewall?

 

 

 

From: James Foster [mailto:[hidden email]]
Sent: mardi, 25 février 2014 13:58
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

On Feb 25, 2014, at 10:41 AM, Normand Mongeau <[hidden email]> wrote:



Gslist –c –v –l shows this :

 

C:\GemStone61\bin>gslist -c -v -l

Status   Version      Owner      Pid   Port   Started     Type  Name

-------- --------- ------------- ----- ----- ------------ ------ ----

running  6.1.2     SYSTEM         3408 10088 Feb 25 09:09 Netldi netldi61

  OK     6.1.2     SYSTEM         3696  1260 Feb 25 09:08 cache  icp1@phatboy

running  6.1.2     SYSTEM         3588  1270 Feb 25 09:08 Stone  icp1

 

I set the environment variable through the Windows GUI (computer properties). It has worked since gslist no longer reports processes as being killed.

 

And login with Topaz works fine. Everything works fine, except trying to connect using the WAN address instead of the LAN address. Even in my IDE (VA), I can connect using the GemStone Session Browser via the LAN address, but not the WAN address. 

 

If you tell the Gem to connect to a local Stone, then it makes a local connection (internal) and does not raise any firewall issues. If you tell the Gem to connect to a remote Stone, then it makes a remote connection (external) and that connection can be blocked by a firewall. There are a number of connections needed between various processes and this has been made a bit easier over the years. For example, in 64-bit 3.0 and later you can set STN_WELL_KNOWN_PORT_NUMBER and SHR_WELL_KNOWN_PORT_NUMBER in the config file and that port will be used. Otherwise (and in your case) each time the stone and cache monitor start they pick a random port and note it in the locks file.

 

Is there a reason you need to use the WAN address? If things work with the LAN address why not use it?

 

James

 

P.S. When doing some of this research I found that 32-bit version 6.1.2 was built on 25-Feb-2004, exactly ten years ago today!

 


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
On Feb 25, 2014, at 11:30 AM, Normand Mongeau <[hidden email]> wrote:

I need to give access to our database to someone who is offsite.
 
So in essence you’re saying that this is not possible, unless I open all ports on my firewall?

This is certainly possible, and in fact is the most common use case for an enterprise client/server application. The confusion rests in selecting the hostname (or IP address) for the Gem vs. for the Stone. The connection from the GCI client to the Gem can be over the WAN (even the Internet). In that case you need to have two well-known ports open on your Gem host (as we have discussed). Once you have a Gem then you tell the Gem how to connect to the Stone.

The tricky part (that makes sense when you understand it but is initially quite confusing) is that the address you give for the Stone is from the perspective of the Gem, not from the perspective of the GCI client. So, in the following screenshot (taken from the Jade login window for 6.1.x), the Gem is addressed externally (“myGemHost.gemtalksystems.com") while the Stone is addressed internally (“localhost"). If you are going to run the Gem and the Stone on the same machine, then localhost is just the right thing to use! This will be the Gem host, not the GCI client host.

Note that the name lookup done by the Gem need not make sense to the GCI client. So if I had multiple machines in my data center, I could have a public hostname mapped to the Gem host, and a private hostname mapped to the Stone host. So the Gem could be at seaside.gemtalksystems.com (with the name lookup done by the GCI client OS), while the Stone could be at myStone.local (and the Gem host will do a name lookup on ‘myStone.local’). Also, you could use a local address range (e.g., 192.168.1.x for the Stone). 

Just remember that the GCI client is not responsible for connecting to the Stone, it just tells the Gem where to find the Stone—and the most common location is localhost.

Does that make sense?

James

[smaller graphic attached to see if the mailing list is satisfied]


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Normand Mongeau
In reply to this post by Normand Mongeau

Yes that makes perfect sense. And what just enlightened me was the “from the perspective of the Gem”. That’s what was missing in the equation here.

 

Many thanks for your help, now if I point to the WAN address for gemnetobject, and the local address for the server, I can log on remotely.

 

Normand

 

 

From: James Foster [[hidden email]]
Sent: mardi, 25 février 2014 15:14
To: Normand Mongeau
Cc: [hidden email]
Subject: Re: [GemStone-Smalltalk] How to configure GS/S 6.1.2 through a firewall (blast from the past)

 

On Feb 25, 2014, at 11:30 AM, Normand Mongeau <[hidden email]> wrote:



I need to give access to our database to someone who is offsite.

 

So in essence you’re saying that this is not possible, unless I open all ports on my firewall?

 

This is certainly possible, and in fact is the most common use case for an enterprise client/server application. The confusion rests in selecting the hostname (or IP address) for the Gem vs. for the Stone. The connection from the GCI client to the Gem can be over the WAN (even the Internet). In that case you need to have two well-known ports open on your Gem host (as we have discussed). Once you have a Gem then you tell the Gem how to connect to the Stone.

 

The tricky part (that makes sense when you understand it but is initially quite confusing) is that the address you give for the Stone is from the perspective of the Gem, not from the perspective of the GCI client. So, in the following screenshot (taken from the Jade login window for 6.1.x), the Gem is addressed externally (“myGemHost.gemtalksystems.com") while the Stone is addressed internally (“localhost"). If you are going to run the Gem and the Stone on the same machine, then localhost is just the right thing to use! This will be the Gem host, not the GCI client host.

 

Note that the name lookup done by the Gem need not make sense to the GCI client. So if I had multiple machines in my data center, I could have a public hostname mapped to the Gem host, and a private hostname mapped to the Stone host. So the Gem could be at seaside.gemtalksystems.com (with the name lookup done by the GCI client OS), while the Stone could be at myStone.local (and the Gem host will do a name lookup on ‘myStone.local’). Also, you could use a local address range (e.g., 192.168.1.x for the Stone). 

 

Just remember that the GCI client is not responsible for connecting to the Stone, it just tells the Gem where to find the Stone—and the most common location is localhost.

 

Does that make sense?

 

James

 

cid:image001.png@01CF323C.FA7C2420


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

James Foster-9
Glad you were able to work through it. Telling people to put ‘localhost’ for the stone location is sure to generate a quizzical reaction (and I do it often).

Now, what can we do to help you upgrade!?

James

On Feb 25, 2014, at 12:58 PM, Normand Mongeau <[hidden email]> wrote:

Yes that makes perfect sense. And what just enlightened me was the “from the perspective of the Gem”. That’s what was missing in the equation here.
 
Many thanks for your help, now if I point to the WAN address for gemnetobject, and the local address for the server, I can log on remotely.
 
Normand

_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: How to configure GS/S 6.1.2 through a firewall (blast from the past)

Richard Sargent
Administrator
In reply to this post by Normand Mongeau
This graphic may help with visualizing the relationships.

Depcition of GCI Client, Net LDI, Gem, and Stone
Reply | Threaded
Open this post in threaded view
|

Constraint violation on RcQueueElement

Normand Mongeau-2
In reply to this post by James Foster-9

Another hurdle : GbsObjErrContraintViolation – Attempt to store 605031930 of class LargePositiveInteger into an instance variable of aRcQueueElement constrained to be a SmallInteger

 

Is there an official workaround for this issue?

 

It’s an older GS/S version 6.1.2 system.

 

Thanks,

 

Normand


_______________________________________________
GemStone-Smalltalk mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
12