aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsbjørn Sloth Tønnesen <asbjorn@labitat.dk>2025-04-27 13:12:52 +0000
committerAsbjørn Sloth Tønnesen <asbjorn@labitat.dk>2025-04-27 13:45:05 +0000
commit5d056091199e780dfe376339c65fedfd11aeb55a (patch)
tree2935d8e6a096c27c1057c3511f8a4629cfe255c6
parent0c6341baa2f0268ba6d491b42cabc16532f9c1c1 (diff)
downloadlabitat-ansible-5d056091199e780dfe376339c65fedfd11aeb55a.tar.gz
labitat-ansible-5d056091199e780dfe376339c65fedfd11aeb55a.tar.xz
labitat-ansible-5d056091199e780dfe376339c65fedfd11aeb55a.zip
space_server: bird: duplicate customer sessions
Duplicate all customer BGP sessions, so that there is one with the old prefix, and one with the new one. This enables everyone to migrate to the new IP addresses at their own pace. Once the migration has been completed, we will remove the old sessions. Applied on 2025-04-25. Signed-off-by: Asbjørn Sloth Tønnesen <asbjorn@labitat.dk>
-rw-r--r--roles/space_server/files/bird.conf100
1 files changed, 100 insertions, 0 deletions
diff --git a/roles/space_server/files/bird.conf b/roles/space_server/files/bird.conf
index b05b807..2746100 100644
--- a/roles/space_server/files/bird.conf
+++ b/roles/space_server/files/bird.conf
@@ -257,6 +257,19 @@ protocol bgp fiberby_inx_v6 from bgp_transit_v6 {
# BGP customer: asbjorn
protocol bgp asbjorn_ipv4 from bgp_customer {
+ local 45.145.93.65 as local_asn;
+ neighbor 45.145.93.75 as asbjorn_asn;
+ ttl security;
+ ipv4 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(asbjorn_asn, asbjorn_prefixes_v4); };
+ export filter { customer_export_default_only(); };
+ };
+}
+
+protocol bgp asbjorn_ipv4_old from bgp_customer {
local 185.38.175.65 as local_asn;
neighbor 185.38.175.75 as asbjorn_asn;
ttl security;
@@ -270,6 +283,19 @@ protocol bgp asbjorn_ipv4 from bgp_customer {
}
protocol bgp asbjorn_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:20::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:20::75 as asbjorn_asn;
+ ttl security;
+ ipv6 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(asbjorn_asn, asbjorn_prefixes_v6); };
+ export filter { customer_export_default_only(); };
+ };
+}
+
+protocol bgp asbjorn_ipv6_old from bgp_customer {
local 2a01:4262:1ab:20::1 as local_asn;
neighbor 2a01:4262:1ab:20::75 as asbjorn_asn;
ttl security;
@@ -284,6 +310,19 @@ protocol bgp asbjorn_ipv6 from bgp_customer {
# BGP customer: svenne
protocol bgp svenne_ipv4 from bgp_customer {
+ local 45.145.93.97 as local_asn;
+ neighbor 45.145.93.111 as svenne_asn;
+ ttl security;
+ ipv4 {
+ import limit 50 action block;
+ receive limit 50 action disable;
+ import keep filtered on;
+ import filter { customer_import(svenne_asn, svenne_prefixes_v4); };
+ export filter { customer_export_default_only(); };
+ };
+}
+
+protocol bgp svenne_ipv4_old from bgp_customer {
local 185.38.175.97 as local_asn;
neighbor 185.38.175.111 as svenne_asn;
ttl security;
@@ -297,6 +336,19 @@ protocol bgp svenne_ipv4 from bgp_customer {
}
protocol bgp svenne_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:21::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:21::111 as svenne_asn;
+ ttl security;
+ ipv6 {
+ import limit 50 action block;
+ receive limit 50 action disable;
+ import keep filtered on;
+ import filter { customer_import(svenne_asn, svenne_prefixes_v6); };
+ export filter { customer_export_default_only(); };
+ };
+}
+
+protocol bgp svenne_ipv6_old from bgp_customer {
local 2a01:4262:1ab:21::1 as local_asn;
neighbor 2a01:4262:1ab:21::111 as svenne_asn;
ttl security;
@@ -311,6 +363,18 @@ protocol bgp svenne_ipv6 from bgp_customer {
# BGP customer: hafnium
protocol bgp hafnium_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:20::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:20::81 as hafnium_asn;
+ ipv6 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(hafnium_asn, hafnium_prefixes_v6); };
+ export filter { customer_export_and_default(); };
+ };
+}
+
+protocol bgp hafnium_ipv6_old from bgp_customer {
local 2a01:4262:1ab:20::1 as local_asn;
neighbor 2a01:4262:1ab:20::81 as hafnium_asn;
ipv6 {
@@ -324,6 +388,18 @@ protocol bgp hafnium_ipv6 from bgp_customer {
# BGP customer: olivia
protocol bgp olivia_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:20::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:20::76 as olivia_asn;
+ ipv6 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(olivia_asn, olivia_prefixes_v6); };
+ export filter { customer_export_and_default(); };
+ };
+}
+
+protocol bgp olivia_ipv6_old from bgp_customer {
local 2a01:4262:1ab:20::1 as local_asn;
neighbor 2a01:4262:1ab:20::76 as olivia_asn;
ipv6 {
@@ -337,6 +413,18 @@ protocol bgp olivia_ipv6 from bgp_customer {
# BGP customer: flummer
protocol bgp flummer_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:20::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:20::85 as flummer_asn;
+ ipv6 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(flummer_asn, flummer_prefixes_v6); };
+ export filter { customer_export_and_default(); };
+ };
+}
+
+protocol bgp flummer_ipv6_old from bgp_customer {
local 2a01:4262:1ab:20::1 as local_asn;
neighbor 2a01:4262:1ab:20::85 as flummer_asn;
ipv6 {
@@ -350,6 +438,18 @@ protocol bgp flummer_ipv6 from bgp_customer {
# BGP customer: dbras
protocol bgp dbras_ipv6 from bgp_customer {
+ local 2a00:fbe4:1ab:20::1 as local_asn;
+ neighbor 2a00:fbe4:1ab:20::82 as dbras_asn;
+ ipv6 {
+ import limit 10 action block;
+ receive limit 20 action disable;
+ import keep filtered on;
+ import filter { customer_import(dbras_asn, dbras_prefixes_v6); };
+ export filter { customer_export_and_default(); };
+ };
+}
+
+protocol bgp dbras_ipv6_old from bgp_customer {
local 2a01:4262:1ab:20::1 as local_asn;
neighbor 2a01:4262:1ab:20::82 as dbras_asn;
ipv6 {