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

Работает ли многопутевая маршрутизация IPv6 с равной стоимостью в ядрах Linux?

Конечная цель - получить балансировку нагрузки ipv6 udp для каждого пакета за счет наличия нескольких серверов с одинаковым / 128, установленным на интерфейсе lo. Для начала просто попытайтесь заставить его работать со статическими маршрутами, а затем начните исследовать BGP с помощью Quagga или другого подобного пакета. Это должно быть сделано в 100% виртуальной среде.

Судя по моим поискам, в примечаниях к выпуску говорится, что он был добавлен в Linux Kernel 3.6. Но мне не удалось установить успешную демонстрацию этой функции.

Используя команду ip, я смогу добавить несколько маршрутов в одну подсеть IPv6 с равными весами. Например: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 nexthop via badd:badd:badd:2::2

Мой сервер подключен к badd: badd: badd: 2 :: / 64 и может подключаться как к badd: badd: badd: 2 :: 1, так и badd: badd: badd: 2 :: 2. Два других сервера имеют badd: badd: badd: 1 :: 1/128 на интерфейсе lo. То, что я вижу, происходит каждый раз, это пакеты маршрутизируются только через последнюю запись в таблице маршрутизации. Если я продублирую эту настройку с IPv4, я вижу, что пакеты маршрутизируются через обе записи в таблице, переключаются все остальные пакеты.

Я пробовал использовать несколько ядер 3.10, 4.4, 4.6, но получил одинаковый результат для каждого. Я что-то не так делаю или это еще не поддерживается? Спасибо!

Вы можете попробовать 2 вещи:

  1. Настройте другой интерфейс для каждого из следующих шагов, чтобы ваша команда ip изменилась на: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 dev eth0 ... dev eth1
  2. Попробуйте использовать произвольные адреса маршрутизатора подсети: Ссылка на сайт, который можно отключить на маршрутизаторе с помощью ip -6 route del badd:badd:badd:2:: table local