Поддерживает ли Ubuntu 14.04 рекламу более конкретных маршрутов?
У меня есть сеть только для IPv6, где я сейчас пытаюсь добавить шлюз NAT64. NAT64 не находится на моем шлюзе по умолчанию, потому что он предназначен для использования другого провайдера, чем шлюз по умолчанию.
Шлюз по умолчанию объявляется с использованием radvd
и соединение IPv6 работает. Однако NAT64, предоставленный провайдером, ненадежен, и поэтому я хочу настроить свой собственный NAT64.
На машине, где работает мой NAT64, я создал это radvd
конфигурация:
interface enp4s0
{
AdvSendAdvert on;
AdvDefaultPreference low;
route 64:ff9b::/96 {
AdvRoutePreference high;
};
};
Но это не работает. На клиентских машинах я вижу только default
маршрут, а не 64:ff9b::/96
Маршрут к шлюзу NAT64.
1 ответ
Тот radvd
конфигурация работает, но Ubuntu 14.04 действует как то, что RFC 4191 называет хостом типа B.
Типы, определенные в RFC 4191:
- Тип A - нет поддержки предпочтений или более конкретных маршрутов
- Тип B - поддержка предпочтений, но не более конкретных маршрутов
- Тип C - поддержка как предпочтений, так и более конкретных маршрутов.
radvd
Версия в Ubuntu 14.04 может быть настроена для отправки как предпочтений, так и более конкретных маршрутов. Но когда Ubuntu 14.04 получает такие маршруты, он игнорирует более конкретные маршруты и обращает внимание только на предпочтения.
Один из способов решить эту проблему - обновить хосты до Ubuntu 16.04 (или более поздней версии), который будет действовать как хост типа C с полной поддержкой рекламы более конкретных маршрутов.
Для обратной совместимости с хостами типа A и типа B RFC 4191 рекомендует использовать сообщения перенаправления. Если все маршрутизаторы IPv6 в вашей сети имеют полную таблицу маршрутизации, они могут отправлять сообщения о перенаправлении, когда хост в сети использует неправильный шлюз для пакета.