Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice Storm and NAT

Do I have to use Glacier2 to use IceStorm through NAT. I am trying to send updates from a server on a private network to another private network. I can connect to Ice server ok and subscribe( I see the subscription in the output from IceBox ), but the published messages do not reach my client. I see that if I use Glacier2 I could have a Proxy server outputing messages to the client.

Comments

  • bernard
    bernard Jupiter, FL
    Hi Tim,

    You can often use Ice through a NAT without Glacier2, see:
    http://www.zeroc.com/faq/configurationForNAT.html

    If some messages can't be delivered, I'd recommend to first understand why; running the your client, server and IceStorm with --Ice.Trace.Network=2 should help.

    Cheers,
    Bernard
  • Thanks for the response.

    I am getting regular Ice servers to work fine. The problem I am is that the IceStorm is trying sending messages to the client's NAT'ed private IP address (192.168.x.x) instead of the NAT'ed host IP address (10.3.X.X). IceStorm sees the 10.3 Ip address, but it is posting to the 192.168.xx IP address. At least that is what it looks like to me.

    It looks to us that the problem we are having is the opposite of the the one in the FAQ. The IceStorm tries to connect to 192.168.x.x at a port, but it is not reachable.

    I was having the same problems with CORBA( mico and omniORB4 ) and was looking to ICE for a solution.
  • bernard
    bernard Jupiter, FL
    When you use IceStorm, a subscriber is a server, not a client.

    Did you forward ports and configure PublishedEndpoints for your subscriber's object adapter?

    Best regards,
    Bernard
  • Bernard,

    I am not. I am now and I configured my firewall and it now works.


    Thanks alot
  • If I am using Glacier2 through NAT, do I still have to use the Published Endpoints? It seems Like I do, but I under the impression that Glacier2 would handle this for me.

    Tim
  • bernard
    bernard Jupiter, FL
    Hi Tim,

    If you use Glacier2, you don't need to do anything special in your servers (in particular no PublishedEndpoints configuration).

    Depending on your setup, you may need to configure PublishedEndpoints for some of your Glacier2 router adapters. See the Glacier2 chapter in the Ice manual for details.

    Best regards,
    Bernard
  • I have that sort of working now. I have 2 subscribers to an IceStorm. Do I need 2 sessions, one for each adaptor or can I use one. It seems that when I define the router for the 2 subscribers it fails to start up and I get an Already defined error. Each Subscriber object adaptor is getting different data and different topics.
  • matthew
    matthew NL, Canada
    You may only associate a given router with a single object adapter (hence the exception). Why do you want to create more than one adapter? Typically this is not necessary. See http://www.zeroc.com/faq/multipleOA.html for details.
  • I agree Matthew. I was not setting up my system correctly. I am now just using one object adapter and it is working verry good.

    Thanks

    Tim
  • matthew
    matthew NL, Canada
    Excellent! Let us know if you have further problems!