>>1557059On Linux you can definitely get this through network namespaces (man 8 ip-netns). For example, you'd create namespace A for program A, configure it so that it accesses the main network namespace via a tunnel, and then run program A inside of namespace A.
For Windows specifically, I dunno. You could probably do all this with Docker or another container solution too if you wanted.