Archived

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

A Tale of 2 Firewalls, Glacier2 Help

I'm evaluating Ice to replace CORBA.

I've gotten the callback example working without a firewall device, but the target application requires traversing 2 Firewall devices. One on the server side that will forward port requests to the Glacier router. And one on the client side. BOTH with NAT. Something similar to what MutableRealms requirements must have been dealing with game players and home networking devices.

I think I've tried almost every possible configuration, but have not gotten it to successfully traverse. Are there any examples that can cover this situation?

Any help appreciated,

BTW, great job. The many months I've spent slugging through CORBA felt wasted upon seeing ICE. But I'm at a Zen point now where I tell myself that it is the only way to appreciate Ice's features.

Comments

  • On the client side, you don't need to do anything special, provided that your firewall allows outgoing connections (most firewalls do). Just configure the Glacier2 firewall as router for your client, like in demo/Glacier2/callback/Client.cpp.

    On the server side, use Glacier2. You can run it *behind* the firewall, and have the firewall forward one single port to the client endpoints of Glacier2. Use the external IP address and port that the firewall forwards in order to set Glacier2.Client.PublishedEndpoints.

    You can try this with demo/Glacier2/callback. Just add the port-forwarding on the server-side firewall, and set the Glacier2.Client.PublishedEndpoints property in the configuration file config.glacier2.
  • Lost the Forest for the Endpoints

    Thanks, Marc.

    PublishedEndpoints solved the problem.

    I seem to have gotten lost in all the endpoints. I look forward to getting down to testing.