Advertise a subnet route with radvd

we have set up a small IPv6 Testing network. Настройка выглядит следующим образом:

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

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

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


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

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

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

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

Любая идея?

1 ответ

Решение

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

По умолчанию ядро ​​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.
Другие вопросы по тегам