Bird2 BGP как объявить подсети из того же ASN, но с другого маршрутизатора

Я пытаюсь узнать больше о BGP/IPv6, это моя цель:

В настоящее время для тестирования у меня есть виртуальная машина от провайдера, который предоставляет мне/44сеть

Это текущая конфигурация этой виртуальной машины:

      router id <IP of VM>;

define OWNASN = 1234;

protocol device {
    scan time 10;
}

protocol direct {
    ipv6;
    interface "dummy*";
}

# templates
template bgp AS1234v6 {
   local as OWNASN;
   ipv6 {
      import all;
      export filter {
        if net = 2a0e:87c0:620::/44 then accept;
        reject;
      };
   };
   graceful restart on;
}

protocol bgp VM1 from AS1234v6 {
   neighbor <ipv6 of provider> as 1111;
   source address <ipv6 of VM>;
}

protocol bgp VM2 from AS1234v6 {
   description "test delegation";
   neighbor <public IP ov VM2> as OWNASN;
   source address <ipv6 of VM>;
}

Если в этой виртуальной машине я добавляю псевдоним к основному интерфейсу, что-то вроде:

      ip -6 addr add 2a0e:87c0:620::1/64 dev eth0

Затем я могу пропинговать этот адрес с любого хоста, пока все хорошо, но теперь я хотел бы иметь 3 подсети:

  • 2a0e:87c0:620:1::/64
  • 2a0e:87c0:620:2::/64
  • 2a0e:87c0:620:3::/64

Для тестирования и упрощения работы я заменяю туннель и pfsense с картинки выше на другую виртуальную машину.

В этой виртуальной машине я также установил Bird2 и использую следующую конфигурацию:

      router id <public IP of VM>;

protocol device {
        scan time 10;
}

protocol direct {
        disabled;
}

protocol static my_routes {
        ipv6;
        route 2a0e:87c0:620:1::/64 reject;
}

filter export_my_routes {
        if proto = "my_routes" then {
                accept;
        }
        reject;
}

protocol bgp uplink0 {
        local as 1234;
        neighbor <public IP of VM1> as 1234;
        source address <public IPv6>;
        ipv6 {
                import all;
                export filter export_my_routes;
        };
        graceful restart on;
}

Благодаря этому мне удается установить сеанс:

      $ birdc s p
BIRD 2.0.8 ready.
Name       Proto      Table      State  Since         Info
device1    Device     ---        up     19:13:19.082
direct1    Direct     ---        down   19:13:19.082
my_routes  Static     master6    up     19:13:19.082
uplink0    BGP        ---        up     19:13:22.095  Established

Но если я добавлю псевдоним на эту новую виртуальную машину, я не смогу выполнить ping-запрос и получу эту ошибку:

      From 2001:1900:5:4::189 icmp_seq=356 Time exceeded: Hop limit

А на основной ВМ (той, что от провайдера) я вижу теперь в логах:

      Invalid NEXT_HOP attribute

Поэтому вам нужна помощь в том, как рекламировать сети от внутреннего маршрутизатора к внешнему, а также как затем настроить подсети на каждом устройстве, чтобы их можно было маршрутизировать? интересно, какой шлюз использовать? вероятноfe80::1%vtnet0?

0 ответов

Другие вопросы по тегам