124 lines
1.9 KiB
Plaintext
124 lines
1.9 KiB
Plaintext
|
# router id is not required for babeld, but necessary for bird startup
|
||
|
router id 192.0.2.0;
|
||
|
|
||
|
ipv4 table fff4;
|
||
|
ipv6 sadr table fff6;
|
||
|
|
||
|
protocol device {
|
||
|
scan time 15;
|
||
|
}
|
||
|
|
||
|
# device routes for ipv4 peering address
|
||
|
protocol direct {
|
||
|
ipv4 {
|
||
|
table fff4;
|
||
|
import filter {
|
||
|
include "/tmp/bird/include/nat-filter.conf";
|
||
|
|
||
|
if (net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16) && net.len = 32 then {
|
||
|
accept;
|
||
|
}
|
||
|
reject;
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
|
||
|
# device routes on loopback interface
|
||
|
protocol direct {
|
||
|
ipv4 {
|
||
|
table fff4;
|
||
|
import filter {
|
||
|
include "/tmp/bird/include/nat-filter.conf";
|
||
|
|
||
|
if net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16 then {
|
||
|
accept;
|
||
|
}
|
||
|
reject;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ipv6 sadr {
|
||
|
table fff6;
|
||
|
import filter {
|
||
|
if net ~ fdff::/64 from ::/0 then {
|
||
|
reject;
|
||
|
}
|
||
|
|
||
|
# only import GUA + ULA addresses
|
||
|
if net !~ 2000::/3 from ::/0 || net !~ fc00::/7 from ::/0 then {
|
||
|
reject;
|
||
|
}
|
||
|
|
||
|
accept;
|
||
|
};
|
||
|
import keep filtered;
|
||
|
};
|
||
|
|
||
|
interface "lo";
|
||
|
}
|
||
|
|
||
|
# ipv6 kernel route interface
|
||
|
protocol kernel {
|
||
|
ipv6 sadr {
|
||
|
table fff6;
|
||
|
import filter {
|
||
|
# only import routes from kernel with proto static
|
||
|
if krt_source != 4 then {
|
||
|
reject;
|
||
|
}
|
||
|
|
||
|
if net ~ fdff::/64 from ::/0 then {
|
||
|
reject;
|
||
|
}
|
||
|
|
||
|
accept;
|
||
|
};
|
||
|
export all;
|
||
|
preference 200;
|
||
|
};
|
||
|
kernel table 10;
|
||
|
scan time 15;
|
||
|
learn yes;
|
||
|
}
|
||
|
|
||
|
# ipv4 kernel route interface
|
||
|
protocol kernel {
|
||
|
ipv4 {
|
||
|
table fff4;
|
||
|
import filter {
|
||
|
include "/tmp/bird/include/nat-filter.conf";
|
||
|
|
||
|
# only import routes from kernel with proto static
|
||
|
if krt_source = 4 then {
|
||
|
accept;
|
||
|
}
|
||
|
reject;
|
||
|
};
|
||
|
export all;
|
||
|
preference 200;
|
||
|
};
|
||
|
kernel table 10;
|
||
|
scan time 15;
|
||
|
learn yes;
|
||
|
}
|
||
|
|
||
|
protocol babel {
|
||
|
# required due to static configuration of global router id.
|
||
|
# also improves reconnect speed after restart.
|
||
|
randomize router id yes;
|
||
|
|
||
|
ipv4 {
|
||
|
table fff4;
|
||
|
import all;
|
||
|
export all;
|
||
|
};
|
||
|
|
||
|
ipv6 sadr {
|
||
|
table fff6;
|
||
|
import all;
|
||
|
export all;
|
||
|
};
|
||
|
|
||
|
include "/tmp/bird/include/babelpeers.conf";
|
||
|
};
|