Я реализую решение прямой маршрутизации с балансировкой нагрузки, используя Windows Server 2008 R2 в качестве внутреннего сервера. Я настроил интерфейс обратной связи с внешним IP-адресом. Это работает, я получаю пакеты с внешним IP-адресом и соответствующим образом на них отвечаю. Однако наша инфраструктура требует, чтобы трафик, который балансируется, проходил через другой шлюз, чем любой другой трафик, исходящий от сервера, т. е. обновления и т. д. Поэтому, по сути, мне нужно направлять пакеты на основе исходного адреса (внешний IP) на другой шлюз. Встроенная команда Windows «route» позволяет выполнять маршрутизацию только на основе адреса назначения. Я пробовал установить шлюз по умолчанию на интерфейсе обратной связи и искажал параметры отправки/получения слабых/сильных хостов на интерфейсах, однако это не сработало.
Есть ли способ обойти это, возможно, с помощью сторонних инструментов?
решение1
Несколько неуклюжим решением этой проблемы было бы запустить маршрутизатор/VM, например, DDWRT/OpenWRT перед коробкой Windows, чтобы добиться перемаршрутизации/искажения. Хотя я еще не использовал это, этот проект также выглядит несколько многообещающим,http://wipfw.sourceforge.net/doc.html Это почти похоже на iptables для Windows?
решение2
Вы проверили Windows Routing and Remote RAS, я думаю, что это было в последний раз? Похоже, в Win 2008 это находится в разделе Network Policy and Access Services Role.
У него было больше возможностей маршрутизации, чем у команды route - Однако это НАМНОГО более продвинутый вопрос маршрутизации, чем тот, который задают большинство людей в Windows - Linux, как правило, немного более дружелюбен к устройствам "маршрутизатора", чем Windows - Это одна из главных причин, по которой я продолжаю развивать свои навыки работы с Linux. Вы пытаетесь сделать искажение пакетов, а не изменить интерфейс / маршруты в Windows.
Мы делали это широко, чтобы приоритизировать трафик клиентов (мы продавали пропускную способность по уровням крупным клиентам, они разделяли изображения со своего основного сайта, используя images.example.com). - На Linux было довольно легко маркировать пакеты и маршрутизировать их по-другому, если у нас была низкая пропускная способность. - Мы не делали этого много лет, так как у нас есть куча доступной пропускной способности... но как только мы маркировали пакеты, мы могли маршрутизировать их любым нужным нам способом, что соответствовало тому, о чем вы просите.