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

Как указать предпочтительный исходный адрес для многодомных клиентов IPv6?

Мой интернет-провайдер предоставляет делегирование префикса IPv6, но с динамическим префиксом. Мне нужен статический префикс публичной маршрутизации для некоторых локальных служб, поэтому у меня также есть настроенный туннель Hurricane Electric, что означает, что клиенты должны работать в многоадресная множественная адресация Режим. Туннель HE также требует, чтобы трафик, исходящий из статического префикса HE, маршрутизировался через туннель HE; в противном случае ответные пакеты отбрасываются перед моим маршрутизатором.

Туннель обязательно медленнее, чем собственный IPv6, поэтому я хочу, чтобы клиенты предпочитали исходные IP-адреса, которые попадают в динамический префикс ISP. Кроме при подключении напрямую к местным службам. Как мне настроить клиентов (смесь Ubuntu и Windows), чтобы они предпочитали родной (но динамический) «дом»?

Проведя дополнительные исследования, похоже, что рекомендуемый метод решения этой ситуации - включить параметры предпочтений маршрутизатора в объявление маршрутизатора. Из https://tools.ietf.org/html/rfc4191#section-5.1:

Лучший маршрутизатор для маршрута по умолчанию - это маршрутизатор с лучшим маршрутом к более широкой сети Интернет. Маршрутизатор с наименьшей вероятностью перенаправления трафика зависит от фактического использования трафика. Эти две концепции могут отличаться, когда большая часть обмена данными действительно должна проходить через какой-то другой маршрутизатор.

Например, рассмотрим ситуацию, в которой у вас есть соединение с двумя маршрутизаторами, X и Y. Маршрутизатор X является лучшим для 2002 :: / 16. (Это ваш шлюз сайта 6to4.) Маршрутизатор Y лучше всего подходит для :: / 0. (Он подключается к собственному IPv6 Интернету.) Маршрутизатор X перенаправляет собственный трафик IPv6 на маршрутизатор Y; маршрутизатор Y перенаправляет трафик 6to4 на маршрутизатор X. Если большая часть трафика с этого сайта отправляется в пункты назначения 2002: / 16, то маршрутизатор X будет перенаправлять с наименьшей вероятностью.

Чтобы хосты типа A работали хорошо, оба маршрутизатора должны объявить себя маршрутизаторами по умолчанию. В частности, если маршрутизатор Y выходит из строя, узлы типа A должны отправлять трафик на маршрутизатор X для поддержания связи 6to4, поэтому маршрутизатор X и маршрутизатор Y должны быть маршрутизаторами по умолчанию.

Чтобы хосты типа B работали хорошо, маршрутизатор X должен объявлять себя с предпочтением маршрутизатора High по умолчанию. Это приведет к тому, что хосты типа B предпочтут маршрутизатор X, минимизируя количество перенаправлений.

Чтобы хосты типа C работали хорошо, маршрутизатор X должен дополнительно анонсировать маршрут :: / 0 с предпочтением Low и маршрут 2002 :: / 16 с предпочтением Medium. Хост типа C будет иметь три маршрута в своей таблице маршрутизации: :: / 0 -> router X (Low), :: / 0 -> router Y (Medium), 2002 :: / 16 -> router X (Medium). ). Он будет отправлять трафик 6to4 на маршрутизатор X, а другой трафик - на маршрутизатор Y. Узлы типа C не будут вызывать никаких перенаправлений.

Обратите внимание, что когда хосты типа C обрабатывают объявление маршрутизатора от маршрутизатора X, предпочтение Low для :: / 0 отменяет предпочтение маршрутизатора по умолчанию High. Если конкретный маршрут :: / 0 отсутствовал, то хост типа C применил бы предпочтение маршрутизатора по умолчанию High к своему маршруту :: / 0 к маршрутизатору X.