Multi-Homed Hosts
A multi-homed host is a computer that has multiple IP addresses to connected networks (it is physically connected to multiple data links that can be on the same or different networks).
In situations where the server hosting SuperSTAR is multi-homed (has more than one network adapter, and thus more than one IP address), some additional configuration steps are necessary to ensure that SuperSTAR clients can communicate with SuperSERVER:
Example Architecture
The following steps demonstrate how to configure SuperSTAR for a multi-homed host, using the following example system architecture:
- The SuperSTAR host runs Windows Server 2008. It hosts SuperADMIN, SuperSERVER and the Metadata server.
- SuperSTAR is installed to the default locations (C:\Program Files\STR and C:\ProgramData\STR).
The SuperSTAR host has two ethernet adaptors:
BASHWindows IP Configuration Ethernet adapter private: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 10.181.97.31 Subnet Mask . . . . . . . . . . . : 255.255.224.0 Ethernet adapter public: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 184.106.79.23 Subnet Mask . . . . . . . . . . . : 255.255.255.0
The metadata repository is hosted in an Oracle schema located on a CentOS virtual machine.
- Oracle Instant Client is installed on the SuperSTAR host to enable use of the Oracle ODBC driver for connection to the metadata repository.
Step 1 - Check IP Addresses
IP addresses are associated with network adaptors. To determine which IP addresses are in use on a particular machine, open a Windows command prompt and use the command ipconfig /all
In the following example, there are two physical adaptors: one is designated as private and has the address 10.181.97.31; the other adaptor is designated as public and has the address 184.106.79.23.
Step 2 - Configure the IP Address for SuperADMIN
Once you have confirmed the IP addresses, you need to set up the SuperADMIN IP addresses in the SuperADMIN batch file (located at C:\ProgramData\STR\SuperADMIN\server\server.bat by default) and in the configuration file jacorb.properties. (located at C:\ProgramData\STR\SuperADMIN\server\config\etc\jacorb.properties by default).
- Open C:\ProgramData\STR\SuperADMIN\server\server.bat in a text editor.
- Add the public IP address of the SuperSERVER host to the Java command that starts SuperADMIN:
Locate the following section, which is the Java command that starts SuperADMIN:
CODEif %waccess% EQU 1 ( "%JAVA_CMD%" ^ "-Dstr.config.server.jasdb.location=%JASDB_HOME%" ^ "-Dpidfile.path=%SA_PROGRAM_DATA%\data\play\play.pid" ^ "-Dhttp.port=9000" ^ "-Djacorb.home=%SA_PROGRAM_DATA%\config" ^ "-Djava.endorsed.dirs=%SA_PROGRAM_FILES%\lib\endorsed" ^ -Dfile.encoding=UTF8 ^ ...
As shown here, there are a series of parameters that are passed to SuperADMIN.
Add the following parameter on its own line in this list:"-Djava.rmi.server.hostname=<ip_address>" ^
Replace<ip_address>
with the public IP address of the SuperSERVER host.
For example:CODEif %waccess% EQU 1 ( "%JAVA_CMD%" ^ "-Dstr.config.server.jasdb.location=%JASDB_HOME%" ^ "-Dpidfile.path=%SA_PROGRAM_DATA%\data\play\play.pid" ^ "-Dhttp.port=9000" ^ "-Djacorb.home=%SA_PROGRAM_DATA%\config" ^ "-Djava.endorsed.dirs=%SA_PROGRAM_FILES%\lib\endorsed" ^ "-Djava.rmi.server.hostname=184.106.79.23" ^ -Dfile.encoding=UTF8 ^ ...
- Save your changes.
- Open C:\ProgramData\STR\SuperADMIN\server\config\etc\jacorb.properties in a text editor.
Locate the following section of the file:
PERL#jacorb.ior_proxy_host=1.2.3.4 #jacorb.ior_proxy_port=4711 ########################################### # # # The Object Adapter Internet Address # # # ########################################### # IP address on multi-homed host (this gets encoded in # object references). NOTE: Adresses like 127.0.0.X # will only be accessible from the same machine! #OAIAddr=1.2.3.4 #OAPort=4711
- Remove the initial # character and set the value of
jacorb.ior_proxy_host
to the public IP address. - Remove the initial # character and set the value of
jacorb.ior_proxy_port
to the CORBA registry port for SuperSTAR (set this to your chosen value if you have changed it from the default, 9230). Remove the initial # character and set the value of
OAIAddr
to the public IP address.PERLjacorb.ior_proxy_host=184.106.79.23 jacorb.ior_proxy_port=9230 ########################################### # # # The Object Adapter Internet Address # # # ########################################### # IP address on multi-homed host (this gets encoded in # object references). NOTE: Adresses like 127.0.0.X # will only be accessible from the same machine! OAIAddr=184.106.79.23 #OAPort=4711
If you set
OAIAddr
to 0.0.0.0, this implies all IP addresses.
- Save your changes.
Step 3 - Configure SuperSERVER and Metadata Server
The following settings are used below in network.properties and mdserver_network.properties:
Option | Description |
---|---|
bind=<address> | The address to bind on. This may be set to a specific address or hostname that resolves to this machine, or to any of the wildcard addresses: * (IPv4 and 6), 0.0.0.0 (IPv4 only), :: (IPv4 and 6). The default value of this is 0.0.0.0 / :: (the IPv4/IPv6) bind any addresses. |
port=<port> | The port used for incoming connections. |
proxy=<host:port> | The address used by external clients to access this instance. This address is also reported as the SuperSERVER address to SuperADMIN and will show up when you run the
|
For more information and alternative command line connection setting options, see IPv6 Support.
SuperSERVER
Create a configuration file called network.properties in C:\ProgramData\STR\SuperSERVER SA and add the following text to the file.
network.properties
CODE# Which local IP address to bind to. This can be a IPv4 or IPv6 address. If you wish to bind to all local addresses, use "0.0.0.0"or "::" bind=<address> port=<port> # Tell clients that your machine address is my-machine-name:9232 when constructing IORs proxy=<host>:<port> corba-log-file=C:\SuperSERVER_log.txt corba-log-level=Info
For example:
CODE# Which local IP address to bind to. This can be a IPv4 or IPv6 address. If you wish to bind to all local addresses, use "0.0.0.0" or "::" bind=184.106.79.23 port=9232 # Tell clients that your machine address is my-machine-name:9232 when constructing IORs proxy=184.106.79.23:9232 corba-log-file=C:\SuperSERVER_log.txt corba-log-level=Info
Restart SuperSERVER to ensure all configuration changes are applied.
Metadata Server
The following metadata configuration is only required if you are using metadata data sources. If not, skip to Step 4 - Check Firewall Ports.
Create a configuration file called mdserver_network.properties in C:\ProgramData\STR\SuperSERVER SA and add the following text to the file.
mdserver_network.properties
CODE# Which local IP address to bind to. This can be a IPv4 or IPv6 address. If you wish to bind to all local addresses, use "0.0.0.0" or "::" bind=<address> port=<port> # Tell clients that your machine address is my-machine-name:8005 when constructing IORs proxy=<host>:<port> corba-log-file=C:\MDCorba_log.txt corba-log-level=Info
For example:
CODE# Which local IP address to bind to. This can be a IPv4 or IPv6 address. If you wish to bind to all local addresses, use "0.0.0.0" or "::" bind=184.106.79.23 port=8005 # Tell clients that your machine address is my-machine-name:8005 when constructing IORs proxy=184.106.79.23:8005 corba-log-file=C:\MDCorba_log.txt corba-log-level=Info
- Create a file called micorc-mdsa.txt in C:\Program Files\STR\SuperSERVER SA.
Add the following lines to the file (8005 is the port used by the Metadata server):
CODE-ORBIIOPAddr inet:<public_ip_address>:8005 -ORBIIOPProxy inet:<public_ip_address>:8005
- Create a batch file called MetadataServer.bat in C:\Program Files\STR\SuperSERVER SA.
Add the following lines to the file:
CODESETLOCAL set MICORC=%~dp0micorc-mdsa.txt mdcorbaserver_sa.exe
- Configure the ODBC connection to the Oracle repository if you have not already done so.
Configure the connection to the Metadata server by editing the SuperADMINConnection section of C:\ProgramData\STR\SuperSERVER SA\metadata.config.xml (see the instructions for configuring metadata for help with this step).
XML<KEY name="SuperAdminConnection"> <!-- Setup for mdcorbaserver --> <STRING name="SA_HOST">184.106.79.23</STRING> <!-- SuperADMIN host machine --> <NUMBER name="SA_PORT" value="9230"/> <!-- SuperADMIN port number machine --> <NUMBER name="MDServer_PORT" value="8005"/> <!-- Port number for mdcorbaserver --> </KEY>
- Restart Metadata Server to ensure all configuration changes are applied.
Step 4 - Check Firewall Ports
Ensure that the relevant ports are open on the firewall. For more information, see Port Usage.
Step 5 - Check the SuperCROSS to SuperADMIN Connection
The final step is to check the connection between SuperCROSS and SuperADMIN:
- When SuperCROSS is connecting to a host that has a single IP address (the normal case), you can use either the domain name or the IP address to connect to SuperADMIN.
- When SuperCROSS is connecting to a multi-homed host, you must use the public IP address of the host.
Check the connection setting in SuperCROSS by selecting File > SuperADMIN Connection. If the connection is using the domain name, change it to the public IP address.