[О блоге]
[наверх]
[пред]
[2022-08-26 17:27:28+03:00]
[f1ca03bf8ac2316234ec59fd082e502fceb874a5]
Темы: [bgp][ipv6]
BIRD простота конфига
С настройкой 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";
}
[оставить комментарий]