Маршрутизация политик IPv6 в Linux
В настоящее время моей организации доступно два активных диапазона IPv6, и мы переходим от одного к другому. Мне бы хотелось, чтобы они оба работали одновременно, но похоже, что Linux не поддерживает политику маршрутизации для IPv6. Наш маршрутизатор на базе Linux работает на Debian Lenny 2.6.26-2-686.
Вот что я хотел бы сделать:
# ip -6 rule add from 2001:388:7094:4080::/58 lookup oldv6
(политика маршрутизации старого диапазона v6 с использованием таблицы oldv6)
# ip -6 route add throw 2001:388:7094:4080::/58 table oldv6
(возврат к основной таблице маршрутизации для локальной маршрутизации)
# ip -6 route add default via 2001:388:7094:1::1 dev eth1
(в противном случае используйте "старый" маршрутизатор по умолчанию)
Однако вторая строка не работает:RTNETLINK answers: No such device
Прочитав доступную документацию, кажется, что Linux не поддерживает реальную политику маршрутизации для IPv6 ([ 2] - см. Раздел 9.2, [ 3]), а только подделывает ее, когда вы добавляете таблицы. Конечно, будучи Linux, эти документы не обновлялись более пяти лет, и поэтому мне интересно, есть ли у кого-нибудь какие-нибудь блестящие идеи - есть ли параметр или документация, которые я пропустил? Есть ветка 2007 года, предполагающая, что она не работает, но я бы хотел услышать иначе.
1 ответ
Исходя из экспериментов, ответ выглядит так: "Да, маршрутизация политик IPv6 поддерживается в Linux". Я до сих пор не уверен, почему вышеперечисленные строки терпят неудачу, но я уже взломал их.