Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for a configuration/hack to force a particular application or all traffic from a particular user to use a specific NIC.

I have an legacy client/server app that has a "security feature" that limits connections based on IP address. I'm trying to find a way to migrate this app to a terminal server environment. The simple solution is for the development team to update the code in the application, however in this case that's not an option.

I was thinking I might be able to install VMware NIC's installed for each user on the terminal server and do some type of scripting to force that user account to use a specific NIC.

Anybody have any ideas on this?

EDIT 1: I think I have a hack to work around my specific problem, however I'd love to hear of a more elegant solution. I got lucky in that the software reads the server IP address out of a config file. So I'm going to have to make a config file for each user and make a customer programs files for each user. Then add a VMware NIC for each user and make each server IP address reside on a different subnet. That will force the traffic for a particular user to a particular IP address, however its really messy and all the VM NIC's will slow down the terminal server. I'll setup a proof of concept Monday and let the group know how it affects performance.

share|improve this question
Just to ask, many legacy apps can be reconfigured on the client-side to use a specific port and then co-exist on terminal servers by giving each user a distinct fixed port but same IP, just curious if it tracks IP or IP and port. – Oskar Duveborn Sep 17 '10 at 17:19
@Oskar The Server software only tracks based on IP and neither the server software or client software can currently be modified. Long term the company is writing a web app to replace both with. – Chad Sep 17 '10 at 17:40
Check. This really reminds me of a particular questions asked in the far past... perhaps I'll find it, or someone else. – Oskar Duveborn Sep 17 '10 at 19:22

I responded to something similar a few months ago at Security-Forums that uses a combination of ForceBindIP and the Windows Firewall. It sounds like ForceBindIP might be an option for you. By no means elegant, but neither is the situaion in which you find yourself.

share|improve this answer

I really don't think this is possible without doing something crazy like writing a custom driver.

You could do a VDI deployment, allowing users to RDP in, but that would require a lot of work.

share|improve this answer
that was my fear, but was hoping for a miracle. ;) – Chad Sep 17 '10 at 15:09

If you only need one NIC active, I would suggest AutoIt. You can detect the user that is currently logged on and disable all but the network adapter you wish that user to use

share|improve this answer
I'll need all NIC's active on the terminal server, but force the user A to use NIC A and user B to user NIC B... – Chad Sep 17 '10 at 15:13

Maybe I'm not understanding quite right, but what about creating virtual NICs on the server like you suggested, and then creating DNS entries for each IP named after each respective user? Then you could tell the user that they have to use their hostname to RDP in?

share|improve this answer

What if you did it on the network layer with a NAT? All clients would masquerade behind the router as a single IP address, without forcing you to do anything crazy with NICs...

alt text

share|improve this answer

It sounds like your question is less about NIC's and just about IP's. You want each user that runs the app to have a different source IP correct?

Probabaly to late but Citrix servers support this, known as Virtual IP.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.