У меня есть размещенная служба (например, zScaler ™), которая заставляет меня отправлять трафик на нее через туннели GRE. Мне предоставлено два устройства, и я хочу сбалансировать нагрузку моего трафика между двумя туннелями.
Я всегда мог статически вырезать сеть, но я бы не стал этого делать.
Мое предлагаемое решение состоит в том, что я мог бы создать два маршрута с равной стоимостью между двумя туннелями, но не балансировал бы для каждого пакета. Поэтому часть потока пойдет через один туннель, а часть - через другой. Я хочу избежать этого, поскольку это затрудняет устранение неполадок, вызовет проблемы с устройствами, отслеживающими соединения, и, вероятно, вызовет проблемы с проверкой SSL.
Есть ли способ, основанный на устройстве или иной (я владею оборудованием безопасности и могу поставить балансировщик нагрузки перед ним), чтобы сбалансировать туннели GRE на основе исходного IP-адреса исходного клиента? Следовательно, клиент X всегда проходит через туннель GRE A, а клиент Y проходит через туннель GRE B.
Мое сетевое оборудование - стандартные коммутаторы Cisco L3 и ASA.
Использование балансировки равной стоимости на основе пакетов не работает с GRE, так как это приведет к переупорядочиванию потоков пакетов и их нарушению. Кажется, вам действительно нужна многопутевая маршрутизация на основе conntrack, которую можно легко настроить на любом маршрутизаторе / брандмауэре на базе Linux. Многопутевая маршрутизация на основе IP-адресов еще проще в настройке.