[omniORB] omninames always listens on 0.0.0.0

Richard Andrews richard.andrews at symstream.com
Tue Dec 6 15:30:44 GMT 2005


I'm having trouble constraining omniNames (maybe others) to a particular
interface.

I have the following interfaces:
lo   127.0.0.1
eth0 192.168.0.35
tun0 10.9.8.7

For security reasons I want to constrain all published and listening end
points to the 10.9.8.7 interface (an openVPN tunnel).

So this is my omniORB.cfg file

----

serverTransportRule=10.9.8.7 tcp
serverTransportRule=127.0.0.1 none
serverTransportRule=192.168.0.35 none

----

When I start omniNames, it listens on two sockets - but I only want one
open so the server is not reachable through other interfaces.

ie.
$ omniNames -logdir path/to/logdir -start 2809

netstat shows it listening on:

0.0.0.0:2809    0.0.0.0:*
10.9.8.7:2809   0.0.0.0:*

catior shows that the object ref contains only 10.9.8.7:2809, but the
server is still listening on 0.0.0.0. I want it to listen only on
10.9.8.7:2809.

If I specify the endPoint on the command line:
$ omniNames -logdir path/to/logdir -start 2809 -ORBendPoint giop:tcp:10.9.8.7:2809

then omniNames fails to start because (according to strace) it attempts
to bind first to 0.0.0.0:2809 and then 10.9.8.7:2809 resulting in
EADDRINUSE on the second socket.

So how do I stop omniNames (and presumably other omniORB servers)
binding to 0.0.0.0 ?

--
System info: Fedora 2 i386 | omniORB-4.0.5

--
  Rich





More information about the omniORB-list mailing list