Skip to main content

Summary This article clarifies details around the Orbix configuration in a multi-homed environment.
Environment

Orbix 6.3

All Supported Operating Systems

Question/Problem Description How can an Orbix server be configured to listen only on specific network interfaces on a multi-homed machine?
Clarifying Information A multi-homed machine is a machine with multiple network interfaces. By default an Orbix server will listen on all the network interfaces of the machine.
Error Message
Defect/Enhancement Number
Cause
Resolution

Using the following configuration variable one can configure specific network interfaces on which an Orbix server will listen:

policies:well_known_addressing_policy:iiop:addr_list

The above variable specifies a list of server host names and associated IIOP ports in the format:

["PublishAddress(ListenAddress):Port"]

Each element in the list defines an address specification that conforms to the following syntax:

Addr_Spec := Publish_Only_Addr | Complete_Addr
Publish_Only_Addr := Addr [:Port]
Complete_Addr := [Addr] [(Listen_Addr_List)] [:Port]
Listen_Addr_List := Addr [,Addr]
Addr := Hostname | IP_Addr
Port := 0 - 65535

Following are some examples:

- Listen to and publish red.acme.com, on port 5040:
policies:well_known_addressing_policy:iiop:addr_list="red.acme.com:5040";

- Publish, but do not listen to blue.acme.com, on port 5055:
policies:well_known_addressing_policy:iiop:addr_list=" blue.acme.com:5055";

- Publish black.acme.com on port 1024, but listen to 63.65.133.2 on port 1024 and 63.65.133.4 on port 1024:
policies:well_known_addressing_policy:iiop:addr_list="black.acme.com(63.65.133.2,63.65.133.4):1024";

- Listen to, but do not publish localhost on port 1024:
policies:well_known_addressing_policy:iiop:addr_list="(localhost):1024";

- Publish green.acme.com, but listen to 0.0.0.0, using a kernel port:
policies:well_known_addressing_policy:iiop:addr_list="green.acme.com(0.0.0.0):0";

If all defaults are set and the local interface IP is for example, 192.168.1.2, the result is equivalent to the following setting:
policies:well_known_addressing_policy:iiop:addr_list = ["192.168.1.2(0.0.0.0):0"];

The above specifies to publish the local IP kernel-assigned port, and listen on all interfaces and/or kernel-assigned port. This default can be inappropriate for multi-home machines if more than one interface hostname and/or IP need to be published.

Further:
1) If iiop:addr_list is not specified, the value specified by iiop:host is used.

2) iiop:host specifies the published IIOP hostname.
If iiop:addr_list and iiop:host are not specified, Orbix uses the value specified by policies:iiop:server_address_mode_policy:local_hostname

3) server_address_mode_policy:local_hostname specifies the server hostname that is advertised by the locator daemon and/or configuration repository.
By default, the local_hostname variable is unspecified. Servers use the default hostname configured for the machine with the Orbix configuration tool (itconfigure).

Workaround
Notes
Attachment

#Orbix
#KnowledgeDocs