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

Windows Server 2008 игнорирует постоянный маршрут с более низкой метрикой

У меня есть три машины Windows Web Server 2008 SP2 в подсети 10.100.20 / 24. Мне нужно настроить постоянное правило маршрутизации, чтобы исходящий трафик в ту же подсеть проходил через аппаратное устройство балансировки нагрузки.

В Server 2003 это так же просто, как добавить постоянный маршрут с помощью команды:

route add -p 10.100.20.0 mask 255.255.255.0 10.100.20.157

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

Вот вывод Server 2008 из route print:

IPv4 Route Table

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric

          0.0.0.0          0.0.0.0    10.100.20.157    10.100.20.178    276
      10.100.20.0    255.255.255.0         On-link     10.100.20.178    276
      10.100.20.0    255.255.255.0    10.100.20.157    10.100.20.178     21
    10.100.20.178  255.255.255.255         On-link     10.100.20.178    276
    10.100.20.179  255.255.255.255         On-link     10.100.20.178    276
    10.100.20.255  255.255.255.255         On-link     10.100.20.178    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
    127.255.255.255 255.255.255.255        On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     10.100.20.178    276
    255.255.255.255 255.255.255.255        On-link         127.0.0.1    306
    255.255.255.255 255.255.255.255        On-link     10.100.20.178    276

Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric

      10.100.20.0    255.255.255.0    10.100.20.157       1
          0.0.0.0          0.0.0.0    10.100.20.157  Default

Чтобы проиллюстрировать проблему, вот результат трассировки маршрута в Server 2008:

Tracing route to 10.100.20.1 over a maximum of 30 hops

  1)    <1 ms    <1 ms    <1 ms  10.100.20.1

Trace complete.

Как видите, правило с меньшей метрикой 21 игнорируется, и маршрут идет прямо к машине в подсети 10.100.20 / 24. Маршрутизация должна была пройти через 10.100.20.157, прежде чем перейти на 10.100.20.1. В Server 2003 это работает правильно, но Server 2008, похоже, игнорирует правило с более низкой метрикой. Если я вручную удалю маршрут по умолчанию, чтобы моя пользовательская запись маршрутизации была единственной для 10.100.20.0, то она правильно маршрутизируется через машину балансировки нагрузки.

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

Если есть способ заставить Server 2008 придерживаться правил метрики или создать сценарий для обработки события каждый раз, когда стек TCP инициализируется для удаления маршрута по умолчанию, или отредактируйте реестр, чтобы удалить маршрут по умолчанию при инициализации TCP, На мой взгляд, любое из этих решений было бы лучше.

Если IP-адрес назначения находится в сети с прямым подключением, Windows никогда не будет искать потенциальные маршруты.

Это так просто.

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

Я думаю, что если сеть 10.100.20.0/24 подключена напрямую, сервер игнорирует таблицу маршрутов и просто использует эту ссылку независимо от метрики.

Это помогает? https://superuser.com/a/455968/253137

Вкратце: Центр управления сетями и общим доступом, Изменить настройки адаптера, Дополнительно, Дополнительные настройки, а затем изменить порядок адаптера.

Я только что столкнулся с аналогичной (идентичной?) Проблемой с проблемой маршрутизации VPN. VPN-соединение имеет подсеть 192.168.152.0/22 ​​на другой стороне, поэтому я добавил постоянный маршрут с низкой метрикой, чтобы попасть в эту сеть. Этот маршрут постоянно игнорировался. Я решил проблему, добавив все 4 подсети класса C в качестве постоянных маршрутов, которые работали должным образом, даже без игнорирования маршрутов по умолчанию.