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

Рекламируйте маршрут подсети с помощью radvd

мы создали небольшую тестовую сеть IPv6. Настройка выглядит так:

    ::/0
+----------+
| Firewall | Router to the public net
+----------+
     |           2001:...::/106
     |       +----------+
     +-------|  SIT GW  | sit Tunnel gatway to the some test users
     |       +----------+
     |
+----------+
| Test Sys |  Testsystem
+----------+

Идея состоит в том, чтобы объявить маршрут по умолчанию от брандмауэра и маршрут для подсетей SIT от шлюза SIT. Конфигурации для radvd:

# Firewall
interface eth0
{
   AdvSendAdvert on;
   route ::/0 
   {
   };
};


# SIT Gatway
interface eth0
{
   AdvSendAdvert on;
   route 2001:...::/106
   {
   };
};

Мы зафиксировали адв. пакеты с tcpdump и пакеты выглядят хорошо. Мы видим маршрут по умолчанию из fw и маршрут подсети из SIT gatway.

Но если мы посмотрим на систему тестирования, есть два маршрута по умолчанию через оба шлюза. Нет маршрута к подсети. Маршрутизация конечно не работает. Вот маршруты, которые мы получаем:

2001:.....::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::baac:6fff:fe8e:XXXX dev eth0  proto kernel  metric 1024  expires 0sec mtu 1500 advmss 1440 hoplimit 64
default via fe80::e415:aeff:fe12:XXXX dev eth0  proto kernel  metric 1024  expires 0sec mtu 1500 advmss 1440 hoplimit 64

Любая идея?

Я нашел проблему.

По умолчанию ядро ​​Linux принимает только маршруты по умолчанию через параметры объявления маршрутизатора в icmpv6.

Чтобы исправить это, необходимо установить правильный параметр ядра:

net.ipv6.conf.all.accept_ra_rt_info_max_plen = 128

Из документации ядра:

accept_ra_rt_info_max_plen - INTEGER Максимальная длина префикса информации о маршруте в RA.

    Route Information w/ prefix larger than or equal to this
    variable shall be ignored.

    Functional default: 0 if accept_ra_rtr_pref is enabled.
                        -1 if accept_ra_rtr_pref is disabled.