Устранение проблем маршрутизации с Azure vSocket

Обзор

Эта статья охватывает проблемы, связанные с маршрутизацией, которые касаются vSocket, развернутых в виртуальных сетях Microsoft Azure (VNet). Статья акцентирует внимание на том, как программно-определённая сетевая модель Azure влияет на потоки трафика между LAN-интерфейсами vSocket, подсетями, подключенными VNet и внешними сетями. Неправильное понимание системных маршрутов Azure, эффективных маршрутов или поведения пересылки IP может привести к асимметричной маршрутизации, потерянным пакетам или недоступности ресурсов.

Симптомы

Проблемы маршрутизации с Azure vSocket часто проявляются через следующие наблюдаемые симптомы:

  • Трафик не достигает внутренних ВМ ни в той же подсети, что и ЛВС, ни в другой подсети или VNet.
  • Исходящий трафик от внутренних ресурсов не достигает своей цели.
  • Развертывания с высокой доступностью (HA) не маршрутизируют трафик через активный vSocket.

Возможные причины

  • Системные маршруты Azure, переопределяющие ожидаемые пути трафика.
  • Пользовательские маршруты отсутствуют или некорректно настроены.
  • Пересылка IP отключена на сетевом интерфейсе LAN vSocket.
  • Неправильная конфигурация плавающего IP в развертываниях HA.
  • Правила группы сетевой безопасности (NSG), блокирующие входящий или исходящий трафик.
  • Неправильное толкование поведения маршрутизации внутри подсетей Azure.

Устранение проблемы

ВАЖНО: Прежде чем начинать устранение неполадок, проверьте все предварительные условия для развертывания Azure vSocket. Смотрите Развертывание Azure vSockets из Marketplace.

Используйте приведенные ниже шаги для изоляции проблем с маршрутизацией по симптомам. 

Определение внутренней топологии

Чтобы лучше понять потоки пакетов и поведение маршрутизации в Azure, сначала определите сетевую топологию между VNet Azure, LAN-интерфейсом vSocket и внутренними подсетями и виртуальными машинами.

Обратитесь к диаграмме топологии ниже для получения руководства.

Устранение проблем с трафиком, не достигающим внутренних ресурсов

  1. Убедитесь, что внутренние подсети правильно определены в CMA в разделе Настройки сайта > Сети. Некоренные подсети должны иметь шлюз, установленный на первый доступный IP-адрес ЛВС (коренной) подсети.
  2. Просмотрите таблицу маршрутизации ЛВС:
    • Подтвердите, что маршрут 0.0.0.0/0 настроен со следующим переходом, установленным на IP-адрес ЛВС или, в развертывании HA, на плавающий IP-адрес.
    • Если доступны только определённые префиксы через vSocket, определите явные маршруты для этих префиксов с одинаковой конфигурацией следующего перехода.
    • Убедитесь, что все обязательные внутренние подсети присутствуют в таблице маршрутизации.
    • Если маршруты или подсети отсутствуют, смотрите Устранение отсутствующих или неверных маршрутов.
  3. Проверьте эффективные маршруты для интерфейса ЛВС.
    • Выберите интерфейс ЛВС, затем перейдите к Помощь > Эффективные маршруты.
    • Эффективные маршруты включают как системные (по умолчанию) маршруты, так и пользовательские маршруты (UDR).
    • Определите, какой маршрут имеет приоритет для префикса назначения. Непредпочтительные маршруты будут показываться как "недействительные".
    • Если системный (по умолчанию) маршрут переопределяет пользовательский маршрут, смотрите Устранение отсутствующих или неверных маршрутов.
  4. Проверьте правила Группы сетевой безопасности:
    • Подтвердите, что существуют явные правила разрешения для входящего и исходящего трафика.
    • Обратите особое внимание на приоритет и направление правил.
    • Выберите интерфейс ЛВС и проверьте эффективные правила безопасности. Убедитесь, что все связанные с NSG правила разрешают ожидаемый трафик.
    • Если правило NSG блокирует трафик, смотрите Устранение блокировок трафика, связанных с NSG.
  5. Проверьте статус пересылки IP на сетевом интерфейсе LAN vSocket. Этот параметр должен быть включен, чтобы разрешить LAN vSocket принимать трафик, направленный на другие назначения.
  6. Запустите захваты PCAP на LAN через WebUI vSocket при генерации активного трафика. Продолжайте с следующими шагами для их анализа.

Анализирование внутренних захватов PCAP

  1. Просмотрите захваты пакетов, взятые с LAN vSocket.
  2. Подтвердите следующее поведение маршрутизации Azure:
    • Когда трафик покидает LAN-интерфейс vSocket, MAC-адрес назначения будет виртуальным маршрутизатором Azure (12:34:56:78:9a:bc). Это происходит, потому что Azure направляет весь трафик через свой внутренний виртуальный маршрутизатор, даже когда устройства находятся в одной подсети.

    • Возвращающиеся пакеты обычно показывают источниковый MAC-адрес внутренней ВМ. Azure удаляет MAC-адрес маршрутизатора, прежде чем доставить пакет в vSocket.

В отличие от традиционных сетей уровня 2, Azure не позволяет прямого обмена данными между хостами в пределах одной подсети. Весь трафик проходит через виртуальный маршрутизатор Azure. Такое поведение может сделать захваты пакетов асимметричными.

Устранение проблем маршрутизации к некоренным подсетям

Если трафик не может достичь ресурсов в некоренных подсетях:

  1. Следуйте шагам, объясненным в Устранение проблем с трафиком, не достигающим внутренних ресурсов.
  2. Убедитесь, что некоренная подсеть существует в CMA. Убедитесь, что шлюз установлен на первый доступный IP-адрес ЛВС (коренной) подсети.
  3. Подтвердите, что некоренная подсеть отображается в таблице маршрутизации LAN vSocket

Устранение проблем маршрутизации между VNet и VNet

При маршрутизации между подключенными VNet убедитесь в следующем:

  1. Убедитесь, что соединение VNet и таблицы маршрутов настроены, как объяснено в Как использовать vSocket в множественной среде VNets Azure.
  2. Следуйте шагам, объясненным в Устранение проблем с трафиком, не достигающим внутренних ресурсов.
  3. Подтвердите, что подсеть назначения (в спицевом VNet) существует в CMA. Убедитесь, что шлюз установлен на первый доступный IP-адрес ЛВС (коренной) подсети.
  4. Проверьте эффективные маршруты на LAN-интерфейсе vSocket. Он должен включать подсеть назначения со следующим переходом, установленным на соединение VNet.
  5. Проверьте эффективные маршруты на интерфейсе внутренней ВМ. Он должен включать коренную подсеть со следующим переходом, установленным на соединение VNet, а также маршрут 0.0.0.0/0 со следующим переходом, установленным на IP-адрес ЛВС, или, в развертывании HA, на плавающий IP-адрес.

Устранение проблем маршрутизации HA

В развертываниях HA убедитесь в следующем:

  1. Перейдите к LAN-интерфейсу ГЛАВНОГО vSocket, Настройки > Конфигурация IP, и подтвердите, что плавающий IP настроен как вторичный IP-адрес.
  2. Убедитесь, что в таблице маршрутизации LAN на vSocket добавлен плавающий IP как следующий переход маршрута 0.0.0.0/0. Если нет, смотрите Устранение проблем с плавающим IP для HA
  3. Убедитесь, что во время сбоя плавающий IP перенаправляется на новый ГЛАВНЫЙ vSocket, как и ожидалось при смене роли.

Для получения дополнительной информации об устранении неисправностей в средах HA, смотрите Устранение неисправностей Azure HA vSocket

Устранение обнаруженных проблем

Примените соответствующее решение в зависимости от основной причины, выявленной во время устранения неполадок.

Устранение отсутствующих или неверных маршрутов

  1. Создайте или обновите пользовательские маршруты в таблице маршрутизации ЛВС, чтобы переопределить системные маршруты Azure при необходимости.
  2. Ассоциируйте таблицу маршрутов с правильной подсетью.
  3. Выберите интерфейс ЛВС, затем перейдите к Помощь > Эффективные маршруты. Повторно подтвердите, что ожидаемый путь теперь имеет приоритет.

Устранение блокировок трафика, связанных с NSG

  1. Добавьте явные правила разрешения для требуемых протоколов, портов и источниковых/целевых префиксов.
  2. Убедитесь, что правила разрешения имеют более высокий приоритет, чем правила отказа.
  3. Повторно протестируйте поток трафика после обновления правил.
  4. Выберите интерфейс ЛВС, затем перейдите к Помощь > Эффективные правила безопасности. Повторно подтвердите, что ожидаемые правила разрешения теперь предпочтительны.

Устранение проблем с плавающим IP для HA

  1. Следуйте шагам из Устранение неисправностей Azure HA vSocket, чтобы решить проблему назначения плавающего IP-адреса ГЛАВНОМУ vSocket.
  2. Обновите таблицу маршрутизации ЛВС, если необходимо, чтобы указать следующий переход как плавающий IP.
  3. Проверьте контролируемое тестирование отказа, чтобы подтвердить поведение.

Поднятие случаев в поддержку Cato

Эскалация в Поддержку Cato, если поведение маршрутизации остается несогласованным после проверки конфигурации. Предоставьте следующую информацию для ускорения анализа основной причины.

  • Описание внутренней топологии.
  • Скриншоты таблиц маршрутизации подсети.
  • Скриншоты эффективных маршрутов.
  • Правила входящего и исходящего трафика группы сетевой безопасности.
  • Подтверждение статуса пересылки IP на LAN-интерфейсе vSocket.
  • Захваты пакетов от vSocket и затронутых ВМ.

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 0

0 комментариев