From f1ca03bf8ac2316234ec59fd082e502fceb874a5 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Fri, 26 Aug 2022 17:27:28 +0300 Subject: [PATCH] =?utf8?q?BIRD=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D0=BE?= =?utf8?q?=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit С настройкой BIRD-а (982b29ed90d9c1e8e39ebb4398e0a4b0f26ad927) у меня изначально были мысли о том, что как-то многовато строчек в его конфигурационном файле для такой простой задачи как у меня. Но в документации хорошо описана его архитектура и всё встало на свои места и пришло понимание почему kernel и direct являются протоколами точно так же наравне с BGP и остальными. И особо то ничего лишнего уже и не видно в нём. Комментарий о range снова подтолкнул разобраться почему он у меня не сработал и оказалось что у меня просто недостаточно свежая версия демона была. С range-ем можно избавиться от явно заданного link-local адреса на стороне "клиентов". В итоге туннельные интерфейсы на клиентах делаются просто указывая автоматическое создание link-local-а: ifconfig iface inet6 -ifdisabled auto_linklocal Конфиг на моём NUC сейчас выглядит так: protocol kernel { ipv6 { import none; export filter { if proto = "direct1" then reject; accept; }; }; learn; } protocol direct direct1 { ipv6; interface "lo0"; } define our_as = 4200000000; template bgp gwpeers { local as our_as; neighbor fe80::1 as our_as; direct; ipv6 { import all; export filter { if net ~ [2000::/3+] then accept; reject; }; }; } protocol bgp gwwg from gwpeers { interface "wg0"; } protocol bgp gwipsec from gwpeers { interface "gif0"; } А на сервере так: [...] protocol direct direct1 { ipv6; interface "lo0"; interface "igb_lan"; } template bgp peers { local as our_as; local fe80::1; neighbor range fe80::/64 as our_as; direct; passive on; ipv6 { import all; export filter { if net ~ [2000::/3+] then accept; reject; }; }; } protocol bgp nukewg from peers { interface "wg0"; } protocol bgp nukeipsec from peers { interface "gif_nuke"; } protocol bgp beta from peers { interface "gif_beta"; } -- 2.48.1