Назад | Перейти на главную страницу

windows: заставить пользователя использовать определенный сетевой адаптер

Я ищу конфигурацию / хак, чтобы заставить конкретное приложение или весь трафик от определенного пользователя использовать конкретную сетевую карту.

У меня есть устаревшее клиент-серверное приложение, в котором есть «функция безопасности», которая ограничивает соединения на основе IP-адреса. Я пытаюсь найти способ перенести это приложение в среду терминального сервера. Простым решением для команды разработчиков является обновление кода в приложении, однако в данном случае это не вариант.

Я думал, что смогу установить сетевую карту VMware, установленную для каждого пользователя на сервере терминалов, и выполнить какой-либо тип сценариев, чтобы заставить эту учетную запись пользователя использовать конкретную сетевую карту.

У кого-нибудь есть идеи по этому поводу?

ИЗМЕНИТЬ 1: Я думаю, что у меня есть способ обойти мою конкретную проблему, однако Я бы хотел услышать более элегантное решение. Мне повезло: программа считывает IP-адрес сервера из файла конфигурации. Поэтому мне нужно будет создать файл конфигурации для каждого пользователя и файлы программ клиента для каждого пользователя. Затем добавьте сетевую карту VMware для каждого пользователя и сделайте каждый IP-адрес сервера в отдельной подсети. Это приведет к тому, что трафик для конкретного пользователя будет направлен на конкретный IP-адрес, однако это будет действительно беспорядочно, и все сетевые адаптеры виртуальной машины будут замедлять работу терминального сервера. В понедельник я установлю доказательство концепции и сообщу группе, как это влияет на производительность.

я ответил к чему-то похожему несколько месяцев назад на форумах безопасности, где используется комбинация ForceBindIP и брандмауэр Windows. Похоже, ForceBindIP может быть для вас вариантом. Ни в коем случае не элегантно, но и не та ситуация, в которой вы оказались.

Я действительно не думаю, что это возможно без каких-либо сумасшедших действий, например, написания специального драйвера.

Вы можете выполнить развертывание VDI, позволяя пользователям подключаться к RDP, но для этого потребуется много работы.

Если вам нужен только один активный сетевой адаптер, я бы предложил AutoIt. Вы можете определить пользователя, который в настоящее время вошел в систему, и отключить все, кроме сетевого адаптера, который вы хотите, чтобы этот пользователь использовал.

Возможно, я не совсем правильно понимаю, но как насчет создания виртуальных сетевых адаптеров на сервере, как вы предложили, а затем создания записей DNS для каждого IP-адреса, названного в честь каждого соответствующего пользователя? Тогда вы могли бы сказать пользователю, что он должен использовать свое имя хоста для RDP?

Что, если бы вы сделали это на сетевом уровне с NAT? Все клиенты будут маскироваться за маршрутизатором как один IP-адрес, не заставляя вас делать что-нибудь безумное с сетевыми адаптерами ...

Похоже, ваш вопрос не столько о сетевых адаптерах, сколько об IP. Вы хотите, чтобы у каждого пользователя, запускающего приложение, был правильный IP-адрес источника?

Возможно, поздно, но серверы Citrix поддерживают это, известное как виртуальный IP.

http://support.citrix.com/proddocs/index.jsp?topic=/xenapp6-w2k8-admin/ps-pub-virtual-ip-make-available.html