Subject Re: [firebird-support] Firebird Ver 1.5 + Events + Firewall/Router. Questions
Author Helen Borrie
At 11:05 AM 6/07/2006, Jarrod wrote:

>Everything seems to run fine when the Windows firewall is turned off
>or when the fbserver.exe is permitted in the firewall exception rules.
>However if the firewall is active with only port 3050 open for
>Firebird our application locks up and stalls when the client tries
>registering the event in step one. Sometimes this also
>stalls/crashes/locks the fbserver process as well bringing down the
>entire system. I can see from using a port monitor that fbserver.exe
>seems to start a new server on a new random port for each client that
>registers a event. No doubt this is probably for the client to connect
>and listen to for when the server posts to the event. However should
>the windows firewall be blocking these new random ports? If so what is
>the recommended way to configure a Firebird server so event work, both
>on a intranet and behind a router which I believe will have the same
>problem however most routers wont be able to allow a certain
>executable on a certain machine to open ports? Should the fbserver.exe
>not be punching holes in NAT/firewalls by sending an outgoing packet
>to the person registering the event?

The default firebird.conf setting for RemoteAuxPort is 0, which
enables the random port seeking for the events callback. As a short
answer, try to set RemoteAuxPort explicitly to a port that you have
open in your firewall and ALSO that the router's NAT knows
about. However, note that it *won't* work through an SSH
tunnel...and I'm still working on getting a "result" trying to make
it work with other kinds of VPN.

I'm currently trying to put together a white paper on using Firebird
in VPNs and port forwarding environments. It's proving harder to get
some of the answers than I had hoped, but I haven't given up trying. :-)

What I do think would be useful would be to try to condense your
question into some form that can invite a generic answer, and post it
to firebird-devel. This thread are too application-specific, so try
to extract the essence of your conditions and see whether someone
will give you (and me!) some leads to follow.

You also wrote:

>Currently our dev environment is using Delphi3 and IBObjects. Any information
>that people can provide or ideas would be of great help.

Take care to ensure that you are using the right Firebird client
library everywhere in the environment. RemoteAuxPort didn't enter
the picture until Firebird 1.5, so if you have deployed user modules
that are as ancient as what was distributed with Delphi 3, you're
sure to encounter avoidable problems.