Configuring a Host to be Multi-Homed
In a multiple installation of the same Communications Suite product on the same host, the different instances of the product are initially configured to use the same ports. If you run both instances of the product simultaneously, the ports will conflict.
One solution is to use a different IP address for each installation and configure the host to be multi-homed (accepting multiple IP addresses).
To Change the IP Address for Each Installation
Run the ha_ip_config utility. Note that you must configure each installation to use a specific IP address, since the out-of-the-box default is to respond to any IP address (INADDR_ANY).
Note: The ENS service that needs a separate step in order to change the IP address it responds to. A workaround for now is to either disable the ENS server for one of the installations (use local.ens.enable), or to change the port used by the ENS server. If you don't do this, one of the ENS servers will not start up. This may not be a huge issue at this time since the other ENS server will handle requests.
To Configure the Host to be Multi-Homed
My guess is to edit /etc/hosts. For Solaris 10, also edit /etc/inet/ipnodes. Next, plumb the IP addresses to the ethernet addresses by using (ifconfig). This procedure would be similar on Linux systems.
Next, update your naming service (/etc/hosts, /etc/inet/ipnodes, NIS, and/or DNS) to recognize the new IP address.
For more information, see the Solaris 2 FAQ.
To Configure Multiple Addresses Per Interface
Solaris 2.x provides a feature in ifconfig that allows having more than one IP address per interface. This feature is undocumented but prior to Solaris 2.5 but it exists; it is documented in versions 2.5 and later.
Syntax
# This command is only required in later releases ifconfig IF:N plumb ifconfig IF:N ip-address up
where "IF" is an interface (for example, le0) and N is a number between 1 and .
To remove the pseudo interface and associated address, perform the following:
ifconfig IF:N 0.0.0.0 down # In newer release you must use the following command, but # beware that this unplumbs your real interface on older # releases, so try the above command first. ifconfig IF:N unplumb
As with physical interfaces, all you need to do is make the appropriate /etc/hostname.IF:X file.
The maximum number of virtual interfaces, above, is 255 in Solaris releases prior to 2.6. Solaris 2.6 and Solaris 2.5.1 with the Solaris Internet Server Supplement (SISS) allow you to set this value with ndd, up to a hard maximum of 8192.
/usr/sbin/ndd -set /dev/ip ip_addrs_per_if 4000
There is no limit inspired by the code; so if you bring out adb you can increase the maximum even further.
Multi-Home Example
In the following example creates a multi-home on the host myhost.
Begin by creating the new interface:
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.1.110.114 netmask ffffff80 broadcast 10.1.110.127
ether 0:c:f1:8e:fb:4
# ifconfig e1000g0:1 plumb
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.1.110.114 netmask ffffff80 broadcast 10.1.110.127
ether 0:c:f1:8e:fb:4
e1000g0:1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 0.0.0.0 netmask 0
# ifconfig e1000g0:1 10.1.110.16 up
Set the IP address for the Messaging Server on the alternate root (on /var/tmp/altroot/opt/SUNWmsg2 in the following example):
# cd /var/tmp/altroot/opt/SUNWmsg2
# sbin/ha_ip_config
Please specify the IP address assigned to the HA logical host name. Use
dotted decimal form, a.b.c.d
Logical IP address: 10.1.110.16
Please specify the path to the top level directory in which iMS is
installed.
iMS server root: /var/tmp/altroot/opt/SUNWmsg2
The iMS server root directory does not contain any slapd-* subdirectories.
Skipping configuration of LDAP servers.
Logical IP address: 10.1.110.16
iMS server root: /var/tmp/altroot/opt/SUNWmsg2
Do you wish to change any of the above choices (yes/no) [no]?
Updating the file /var/tmp/altroot/opt/SUNWmsg2/config/dispatcher.cnf
Updating the file /var/tmp/altroot/opt/SUNWmsg2/config/job_controller.cnf
Setting the service.listenaddr configutil parameter
Setting the service.http.smtphost configutil parameter
Setting the local.watcher.enable configutil parameter
Setting the local.autorestart configutil parameter
Configuration successfully updated
Do the same for the Messaging Server on the default root.
# cd /opt/SUNWmsg
# sbin/ha_ip_config
Please specify the IP address assigned to the HA logical host name. Use
dotted decimal form, a.b.c.d
Logical IP address: 10.1.110.114
Please specify the path to the top level directory in which iMS is
installed.
iMS server root: /opt/SUNWmsg
The iMS server root directory does not contain any slapd-* subdirectories.
Skipping configuration of LDAP servers.
Logical IP address: 10.1.110.114
iMS server root: /opt/SUNWmsg
Do you wish to change any of the above choices (yes/no) [no]?
Updating the file /opt/SUNWmsg/config/dispatcher.cnf
Updating the file /opt/SUNWmsg/config/job_controller.cnf
Setting the service.listenaddr configutil parameter
Setting the service.http.smtphost configutil parameter
Setting the local.watcher.enable configutil parameter
Setting the local.autorestart configutil parameter
Configuration successfully updated
Disable the ENS server on one of the installation by setting local.ens.enable to 0:
sbin/configutil -o local.ens.enable -v 0
Configure the netmask and broadcast on the new IP address:
# ifconfig e1000g0:1 down
# ifconfig e1000g0:1 netmask 0xffffff80
# ifconfig e1000g0:1
e1000g0:1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.1.110.16 netmask ffffff80 broadcast 10.255.255.255
# ifconfig e1000g0:1 broadcast 10.1.110.127
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.1.110.114 netmask ffffff80 broadcast 10.1.110.127
ether 0:c:f1:8e:fb:4
e1000g0:1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.1.110.16 netmask ffffff80 broadcast 10.1.110.127
# ifconfig e1000g0:1 up
Edit /etc/hosts to add the new IP address 10.1.110.16 to it:
# cat /etc/hosts 127.0.0.1 localhost 10.1.110.114 myhost.west.sesta.com myhost loghost 10.1.110.4 elegit.west.sesta.com # multi-home - second IP address on ethernet port 10.1.110.16 myhost2.west.sesta.com myhost2
