How does ARServer determine which network interface connection to use in multiple network interface environment? |
This knowledge article may contain information that does not apply to version 21.05 or later which runs in a container environment. Please refer to Article Number 000385088 for more information about troubleshooting BMC products in containers. Legacy ID:KA298188 The application makes a JAVA API call to the OS to get the list of available Host IDs.
The code which makes the call is: .............. Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); .............. This results on a list of available Network Interface present and configured in the OS. After having retrieved this list the next call that the application's code does is: .............. byte[] macBytes = networkInterface.getHardwareAddress(); .............. which basically is to get the macBytes value or the HardwareAddress which is the MAC Address ( networkInterface.getHardwareAddress ). The HostID / MacAddress resulting in the Add/Remove License form is the first the OS provides when performing the above call(s). The code does not "choose" which one to use but to display the first value being received when querying the OS. Upon restart the application the same call(s) are made and whatever is received first after querying the OS will be the one displayed in the form as the HostID. For env. with multiple Network Interfaces and since the application does not control which one to use but to query the OS and as done since earlier versions, the best approach is to ensure that an AR Server License does exist in the Add/Remove Licenses form for each existing Network Interface in the OS so when querying the OS and the OS providing with the HostID a valid License will be present. Example of an env. with multiple NIC where a License exists for only one specific MAC Address / Host ID: .................. */ CGJ:validateServerLicenseKey: licenseKey: ABC-12345 */ CGJ:validateServerLicenseKey: serverHostIds: [aaaaaaaaaaaa, bbbbbb, ccccccccc, dddddddd, eeeeeeeee] */ CGJ:validateServerLicenseKey: Validating aaaaaaaaaaaa for license key ABC-12345 */ CGJ:validateServerLicenseKey: Validating bbbbbb for license key ABC-12345 */ CGJ:validateServerLicenseKey: Validating ccccccccc for license key ABC-12345 */ CGJ:validateServerLicenseKey: Validating dddddddd for license key ABC-12345 */ CGJ:validateServerLicenseKey: Validating eeeeeeeee for license key ABC-12345 */ CGJ:validateServerLicenseKey: Validated ccccccccc for license key ABC-12345 */ Getting all groups present in the system. .................. Some queries: 1. By default, will ARServer listen for client connections on every network interface in the server? The ARSystem server will listen for connections over the TCP port on which it is running.
2. Can ARServer be configured to limit or specify the network interfaces on which it will listen for client connections? The ARSystem server connects to the interface for a given connection as determined by the return from the O/S to the JAVA API calls at the time of the connection.
3. Does ARServer use the IP-Name parameter to identify the interfaces on which it should listen for client connections?
The IP-Name parameter does not identify the interfaces on which ARServer will listen for client connections.
This configuration option provides ARServer the ability to have multiple names and is especially viable in server group configuration and in multiple network interface environment. 4. Can I limit ARServer to accept client connections on only certain interfaces by specifying those in the IP-Name parameter?
No; reference #3 above.
5. Can I limit ARServer to specific interfaces by any mechanism?
No; reference #2 above.
6. Can ARServer be configured to accept client connections over two different network interfaces? The port numbers would be the same but the access would come over two separate ethernet cards depending on the location of the client.
No; reference #2 above. 7. Can ARServer be configured to prevent connections on any interface except a single given interface? No; reference #2 above. Related Information: Remedy - Server - Will changing the IP address of the Server where Remedy runs require a new AR Server License? |