How does the IEM Client select an Interface to use?

If I have a machine, connected to multiple networks via multiple NIC’s, how does the IEM client determine which Interface to use?

The simplest example I can think of is a Windows Laptop connecting to a WiFi network, and to a Wired network. How does the IEM client select which Interface to use to register with the Main BES Server?

1 Like

I don’t have an answer, but I like the question.

A similar situation is if you have a client connected to a VPN back to your main office. This could mean 3 separate IPs, one LAN, one WiFi, and one VPN.

It should be that for the client’s outgoing communication it would use any available connection to try to reach the relays/root, but as for which one it would register with the relay to receive UDP command packets and WoL packets on does not have an obvious answer.

I would recommend setting Command Polling on clients likely to move about and have IP info change often, but that still doesn’t address WoL. I wonder if WoL packets are attempted on all of the subnets that the client is on, not just the one it is registered with? (seems unlikely)

My first thought would be to prefer wired connections for registering for the sake of WoL, but I’m not certain how that would be determined, especially if you have a 100mb wired connection and a "450"mb wireless one.


Some tasks related to command polling:

http://bigfix.me/fixlet/details/3798
http://bigfix.me/fixlet/details/3801
http://bigfix.me/fixlet/details/3799

My theory is the PC and OS decides based on which connection was made first and the BESClient follows suit based on where the rest of the traffic is flowing.

1 Like

The OS picks the route through the hardware interfaces for us. We have had requests for binding to specific interfaces and I believe recent relays can do this but the client does not. The OS rules apply to our traffic.

This doesn’t answer the question of which IP will be selected to register with the relay, but you can cause relay reselection to happen automatically in some situations.

Like for instance, if you have a laptop on a wired or VPN connection that is registered with the relay, but is then disconnected:

RELEVANCE:
not exists addresses whose(it = registration address of client) of ipv4or6 interfaces whose(up of it) of network

ACTION:
relay reselect

This could repeat once an hour or whatever interval you choose until it is satisfied using the settings in the take action dialog. You could similarly cause reselection if a VPN is connected.

So you can prevent some relay selections that happen automatically but if you have an action that does this the action still seems valid. One case which we do have the ability to help with with a setting is when you are walking around a large campus and your wifi remains up but is getting new IP’s as you move.

The action mentioned here says that the connection you made the relay selection with is now down and the relay can no longer send UDP messages to you through it so re-selecting might be the right thing to do.

Note that clients will automatically re-register with a relay if they can’t reach the previous relay to send reports to after a failure period so this type of auto reselect shouldn’t be needed.

1 Like

I am not actually using an action like this, it was just a simple example I could think of.

A better example would be doing something to detect if a user is behind NAT and they connect to a VPN, then do reselection, or if they are on WiFi and connect to Ethernet, do reselection. This is a bit more complicated and specific to figure out.

I do use actions that trigger when a VPN is connected, but I have not considered relay reselection as something to trigger at that moment.

The client will actually automatically reselect if it notices the list of IP’s have changed at certain points during its work. The assumption is that the ability to reach the relay selected may have changed so we need to at least validate that we still can reach it. Only if the old relay can no longer be reached or is no longer “valid” will we perform a full relay selection. Registration though will occur as the path we have taken to get to this relay may no longer be the same.

1 Like

That is good to know that the client does handle this automatically. I never investigated it to figure out one way or the other. Is this behavior and similar ones documented anywhere?

You have made an excellent question! In IBM Tivoli Monitoring you can “tell” the agent to use a specific IP address using a variable configuration