update bird.conf, add chaosvpn

This commit is contained in:
Martin Schuette 2014-05-04 23:58:28 +02:00
parent 819f0a5374
commit 9b1ba85f2a

View file

@ -26,7 +26,6 @@ function is_dn42() {
195.160.168.0/23+, 195.160.168.0/23+,
91.204.4.0/22+, 91.204.4.0/22+,
193.43.220.0/23+, 193.43.220.0/23+,
83.133.178.0/23+,
87.106.29.254/32, 87.106.29.254/32,
85.25.246.16/28+, 85.25.246.16/28+,
46.4.248.192/27+, 46.4.248.192/27+,
@ -47,13 +46,30 @@ function is_dn42() {
]; ];
} }
# chaosvpn ranges
function is_chaos() {
return net ~ [ 10.4.0.0/16+,
10.32.0.0/16+,
10.100.0.0/14+,
10.104.0.0/14+,
172.31.0.0/16+,
83.133.178.0/23+,
172.26.0.0/15+,
176.9.52.58/32+,
193.103.159.0/24+,
193.103.160.0/23+,
212.12.50.208/29+,
213.238.61.128/26+
];
}
### kernel ### ### kernel ###
# synchronize from bird to main kernel routing table # synchronize from bird to main kernel routing table
# nothing in the other direction # nothing in the other direction
protocol kernel k_mast { protocol kernel k_mast {
scan time 10; scan time 10;
import none; import where is_chaos();
export filter { export filter {
krt_prefsrc = <%= @own_ipv4 %>; krt_prefsrc = <%= @own_ipv4 %>;
accept; accept;
@ -97,13 +113,13 @@ protocol pipe p_ibgptbl {
export where !is_self_net(); export where !is_self_net();
}; };
# sync routes (freifunk and dn42) from ibgp to freifunk # sync routes (freifunk, dn42 and chaosvpn) from ibgp to freifunk
# sync nothing from freifunk to ibgp # sync nothing from freifunk to ibgp
protocol pipe p_freitbl { protocol pipe p_freitbl {
table ibgp; table ibgp;
peer table freifunk; peer table freifunk;
import none; import none;
export where (is_freifunk() || is_dn42()); export where (is_freifunk() || is_dn42() || is_chaos());
}; };
### static routes ### ### static routes ###
@ -146,8 +162,8 @@ template bgp peers {
table ebgp; table ebgp;
local as ownas; local as ownas;
# ignore routes for our own network # ignore routes for our own network
import where ((is_freifunk() || is_dn42()) && !is_self_net()); import where ((is_freifunk() || is_dn42() || is_chaos()) && !is_self_net());
export where (is_freifunk() || is_dn42()); export where (is_freifunk() || is_dn42() || is_chaos());
route limit 10000; route limit 10000;
}; };