diff options
| -rw-r--r-- | ansible/group_vars/all/ipam.yml | 4 | ||||
| -rw-r--r-- | ansible/host_vars/lhn2pi/all.yml | 1 | ||||
| -rw-r--r-- | ansible/plays/host-lhn2pi.yml | 1 | ||||
| -rw-r--r-- | ansible/plays/templates/lhn2pi/systemd/network/20-wifi.network | 9 | ||||
| -rw-r--r-- | config/lhn2ix.txt | 13 | ||||
| -rw-r--r-- | terraform/dns/dn42.tf | 14 | ||||
| -rw-r--r-- | terraform/ipam6/ipam6.tf | 20 | ||||
| -rw-r--r-- | terraform/unifi-controller/.terraform.lock.hcl | 33 | ||||
| -rw-r--r-- | terraform/unifi-controller/main.tf | 9 | ||||
| -rw-r--r-- | tnet/group_vars/all/bird.sops.yml | 5 | ||||
| -rw-r--r-- | tnet/host_vars/hash/bird.yml | 2 | ||||
| -rw-r--r-- | tnet/host_vars/hash/wg.yml | 6 | ||||
| -rw-r--r-- | tnet/host_vars/knot/bird.yml | 2 | ||||
| -rw-r--r-- | tnet/host_vars/knot/wg.yml | 6 | ||||
| -rw-r--r-- | tnet/host_vars/lhn2pi/bird.yml | 5 | ||||
| -rw-r--r-- | tnet/host_vars/lhn2pi/wg.yml | 7 | ||||
| -rw-r--r-- | tnet/templates/hash/bird-tnet.conf | 8 | ||||
| -rw-r--r-- | tnet/templates/knot/bird-tnet.conf | 10 | ||||
| -rw-r--r-- | tnet/templates/lhn2pi/bird-tnet-pre.conf | 20 | ||||
| -rw-r--r-- | tnet/templates/lhn2pi/bird-tnet.conf | 48 |
20 files changed, 82 insertions, 141 deletions
diff --git a/ansible/group_vars/all/ipam.yml b/ansible/group_vars/all/ipam.yml index fafe119..4249e07 100644 --- a/ansible/group_vars/all/ipam.yml +++ b/ansible/group_vars/all/ipam.yml @@ -36,6 +36,7 @@ ipam6: netbox: "fdb1:4242:3538:2006:be24:11ff:febb:5c7f/64" kjell: "fdb1:4242:3538:2006:2f0:cbff:fefe:d98c/64" nextcloud: "fdb1:4242:3538:2006:be24:11ff:fe56:770/64" + sdr: "fdb1:4242:3538:2006:be24:11ff:fe0b:cb99/64" hash_dn42: range: "fdb1:4242:3538:2007::/64" hosts: @@ -46,7 +47,8 @@ ipam6: range: "fdb1:4242:3538:2008::/64" hosts: lhn2ix: "fdb1:4242:3538:2008::1" - lhn2pi: "fdb1:4242:3538:2008::ffff" + lhn2pi: "fdb1:4242:3538:2008::ffff/64" + lhn2pi-wifi: "fdb1:4242:3538:2008:da3a:ddff:fe39:3669/64" lhn2-z2m: "fdb1:4242:3538:2008:9aed:e460:1711:07dd" ha-lhn2: "fdb1:4242:3538:2008:9c59:926f:1dc9:89db" conflatorio: "fdb1:4242:3538:2008:8042:32ff:fe0c:7161" diff --git a/ansible/host_vars/lhn2pi/all.yml b/ansible/host_vars/lhn2pi/all.yml index 447906a..1a14858 100644 --- a/ansible/host_vars/lhn2pi/all.yml +++ b/ansible/host_vars/lhn2pi/all.yml @@ -1,2 +1,3 @@ systemd_networkd__files: - lhn2pi/systemd/network/10-eth0.network + - lhn2pi/systemd/network/20-wifi.network diff --git a/ansible/plays/host-lhn2pi.yml b/ansible/plays/host-lhn2pi.yml index 551c3dd..2a96f73 100644 --- a/ansible/plays/host-lhn2pi.yml +++ b/ansible/plays/host-lhn2pi.yml @@ -2,5 +2,4 @@ - lhn2pi roles: - systemd-networkd - - prometheus-bird-exporter - prometheus-node-exporter diff --git a/ansible/plays/templates/lhn2pi/systemd/network/20-wifi.network b/ansible/plays/templates/lhn2pi/systemd/network/20-wifi.network new file mode 100644 index 0000000..75b4587 --- /dev/null +++ b/ansible/plays/templates/lhn2pi/systemd/network/20-wifi.network @@ -0,0 +1,9 @@ +[Match] +Type=wlan +WLANInterfaceType=station + +[Network] +DHCP=yes + +[IPv6AcceptRA] +DHCPv6Client=no diff --git a/config/lhn2ix.txt b/config/lhn2ix.txt index b05d5d9..b69dd36 100644 --- a/config/lhn2ix.txt +++ b/config/lhn2ix.txt @@ -103,7 +103,6 @@ set interfaces ethernet eth0 dhcpv6-pd rapid-commit enable set interfaces ethernet eth0 duplex auto set interfaces ethernet eth0 firewall in ipv6-name WANv6_IN set interfaces ethernet eth0 firewall local ipv6-name WANv6_LOCAL -set interfaces ethernet eth0 ipv6 address set interfaces ethernet eth0 ipv6 dup-addr-detect-transmits 1 set interfaces ethernet eth0 poe output off set interfaces ethernet eth0 speed auto @@ -134,15 +133,12 @@ set interfaces switch switch0 description Local set interfaces switch switch0 ipv6 dup-addr-detect-transmits 1 set interfaces switch switch0 ipv6 router-advert cur-hop-limit 64 set interfaces switch switch0 ipv6 router-advert link-mtu 0 -set interfaces switch switch0 ipv6 router-advert managed-flag true +set interfaces switch switch0 ipv6 router-advert managed-flag false set interfaces switch switch0 ipv6 router-advert max-interval 600 set interfaces switch switch0 ipv6 router-advert other-config-flag false -set interfaces switch switch0 ipv6 router-advert prefix '2a06:2240:f002:9900::0/64' autonomous-flag true -set interfaces switch switch0 ipv6 router-advert prefix '2a06:2240:f002:9900::0/64' on-link-flag true -set interfaces switch switch0 ipv6 router-advert prefix '2a06:2240:f002:9900::0/64' valid-lifetime 2592000 -set interfaces switch switch0 ipv6 router-advert prefix 'fdb1:4242:3538:2008::0/64' autonomous-flag true -set interfaces switch switch0 ipv6 router-advert prefix 'fdb1:4242:3538:2008::0/64' on-link-flag true -set interfaces switch switch0 ipv6 router-advert prefix 'fdb1:4242:3538:2008::0/64' valid-lifetime 2592000 +set interfaces switch switch0 ipv6 router-advert prefix '::/64' autonomous-flag true +set interfaces switch switch0 ipv6 router-advert prefix '::/64' on-link-flag true +set interfaces switch switch0 ipv6 router-advert prefix '::/64' valid-lifetime 2592000 set interfaces switch switch0 ipv6 router-advert reachable-time 0 set interfaces switch switch0 ipv6 router-advert retrans-timer 0 set interfaces switch switch0 ipv6 router-advert send-advert true @@ -196,6 +192,7 @@ set service dhcp-server static-arp disable set service dhcp-server use-dnsmasq disable set service dns forwarding cache-size 1000 set service dns forwarding listen-on switch0 +set service dns forwarding name-server 8.8.8.8 set service gui http-port 80 set service gui https-port 443 set service gui older-ciphers enable diff --git a/terraform/dns/dn42.tf b/terraform/dns/dn42.tf index 8798fc5..ea66493 100644 --- a/terraform/dns/dn42.tf +++ b/terraform/dns/dn42.tf @@ -91,6 +91,13 @@ resource "linode_domain_record" "dn42-lhn2pi" { target = "fdb1:4242:3538:2008::ffff" } +resource "linode_domain_record" "dn42-lhn2pi-wifi" { + domain_id = linode_domain.root.id + name = "lhn2pi-wifi.dn42" + record_type = "AAAA" + target = "fdb1:4242:3538:2008:da3a:ddff:fe39:3669" +} + resource "linode_domain_record" "dn42-netbox" { domain_id = linode_domain.root.id name = "netbox.dn42" @@ -119,6 +126,13 @@ resource "linode_domain_record" "dn42-node2" { target = "fdb1:4242:3538:2003::ffff" } +resource "linode_domain_record" "dn42-sdr" { + domain_id = linode_domain.root.id + name = "sdr.dn42" + record_type = "AAAA" + target = "fdb1:4242:3538:2006:be24:11ff:fe0b:cb99" +} + resource "linode_domain_record" "dn42-unifi" { domain_id = linode_domain.root.id name = "unifi.dn42" diff --git a/terraform/ipam6/ipam6.tf b/terraform/ipam6/ipam6.tf index 60eb602..88625f0 100644 --- a/terraform/ipam6/ipam6.tf +++ b/terraform/ipam6/ipam6.tf @@ -90,6 +90,10 @@ output "networks" { address : "fdb1:4242:3538:2006:be24:11ff:fe56:770" prefix : "64" } + sdr = { + address : "fdb1:4242:3538:2006:be24:11ff:fe0b:cb99" + prefix : "64" + } } } hash_dn42 = { @@ -121,7 +125,11 @@ output "networks" { } lhn2pi = { address : "fdb1:4242:3538:2008::ffff" - prefix : "128" + prefix : "64" + } + lhn2pi-wifi = { + address : "fdb1:4242:3538:2008:da3a:ddff:fe39:3669" + prefix : "64" } lhn2-z2m = { address : "fdb1:4242:3538:2008:9aed:e460:1711:7dd" @@ -218,6 +226,10 @@ output "hosts" { address : "fdb1:4242:3538:2006:be24:11ff:fe56:770" prefix : "64" } + sdr = { + address : "fdb1:4242:3538:2006:be24:11ff:fe0b:cb99" + prefix : "64" + } hash = { address : "fdb1:4242:3538:2007::ffff" prefix : "128" @@ -228,7 +240,11 @@ output "hosts" { } lhn2pi = { address : "fdb1:4242:3538:2008::ffff" - prefix : "128" + prefix : "64" + } + lhn2pi-wifi = { + address : "fdb1:4242:3538:2008:da3a:ddff:fe39:3669" + prefix : "64" } lhn2-z2m = { address : "fdb1:4242:3538:2008:9aed:e460:1711:7dd" diff --git a/terraform/unifi-controller/.terraform.lock.hcl b/terraform/unifi-controller/.terraform.lock.hcl index e61b376..84ffd81 100644 --- a/terraform/unifi-controller/.terraform.lock.hcl +++ b/terraform/unifi-controller/.terraform.lock.hcl @@ -24,24 +24,23 @@ provider "registry.terraform.io/cyrilgdn/postgresql" { } provider "registry.terraform.io/kreuzwerker/docker" { - version = "3.0.2" - constraints = "3.0.2" + version = "3.6.2" + constraints = "3.6.2" hashes = [ - "h1:cT2ccWOtlfKYBUE60/v2/4Q6Stk1KYTNnhxSck+VPlU=", - "zh:15b0a2b2b563d8d40f62f83057d91acb02cd0096f207488d8b4298a59203d64f", - "zh:23d919de139f7cd5ebfd2ff1b94e6d9913f0977fcfc2ca02e1573be53e269f95", - "zh:38081b3fe317c7e9555b2aaad325ad3fa516a886d2dfa8605ae6a809c1072138", - "zh:4a9c5065b178082f79ad8160243369c185214d874ff5048556d48d3edd03c4da", - "zh:5438ef6afe057945f28bce43d76c4401254073de01a774760169ac1058830ac2", - "zh:60b7fadc287166e5c9873dfe53a7976d98244979e0ab66428ea0dea1ebf33e06", - "zh:61c5ec1cb94e4c4a4fb1e4a24576d5f39a955f09afb17dab982de62b70a9bdd1", - "zh:a38fe9016ace5f911ab00c88e64b156ebbbbfb72a51a44da3c13d442cd214710", - "zh:c2c4d2b1fd9ebb291c57f524b3bf9d0994ff3e815c0cd9c9bcb87166dc687005", - "zh:d567bb8ce483ab2cf0602e07eae57027a1a53994aba470fa76095912a505533d", - "zh:e83bf05ab6a19dd8c43547ce9a8a511f8c331a124d11ac64687c764ab9d5a792", - "zh:e90c934b5cd65516fbcc454c89a150bfa726e7cf1fe749790c7480bbeb19d387", - "zh:f05f167d2eaf913045d8e7b88c13757e3cf595dd5cd333057fdafc7c4b7fed62", - "zh:fcc9c1cea5ce85e8bcb593862e699a881bd36dffd29e2e367f82d15368659c3d", + "h1:1K3j0xUY2D0+E+DBDQc6k1u6Al9MkuNWrIC9rnvwFSM=", + "zh:22b51a8fb63481d290bdad9a221bc8c9e45d66d1a0cd45beed3f3627bf1debd8", + "zh:2b902eb80a1ae033af1135cc165d192668820a7f8ea15beb5472f811c18bea1f", + "zh:57815dcea28aedb86ed33924cd186aaee8bd31670bd78437a2a2daf2b00ce2ae", + "zh:583af9c6fe7e3bfc04f50aec046a9b4f98b7eddd6d1e143454e5d06a66afcf87", + "zh:80f8cba54f639a53c4d7714edb7246064b7f4f48ba93a70f18c914d656d799db", + "zh:894709f0c393c4ee91fdb849128e7f0bce688f293cd1643a6d4e39c842367278", + "zh:a91b41dbcb203d6dae2bb72b98c4c21c41255026b35df01895882784c4650071", + "zh:aec40a8157aae093412a1fb9a71ab2bea370db152e285c2d81e37ed378444b9c", + "zh:b87d7def2485dde6e57723c1265158f371440a8a84954c9fdb0580cf89de66bf", + "zh:b9dc243200ad9cd00250cb8c793ecea4ee3c57a121faf8efdb289f30008b5778", + "zh:dcb103831db6d3ef95468685cd104be3928793996542a1f675dc34a2ce67951d", + "zh:e59b4a0f2b5881016896d4417b1ab2fb87f34450663efeb01f3bcf7c3606fbbb", + "zh:fbd068c01114f0712578cf02f363b5521338ab1befedddf7090da532298b43d0", ] } diff --git a/terraform/unifi-controller/main.tf b/terraform/unifi-controller/main.tf index f93bc78..cc3ab98 100644 --- a/terraform/unifi-controller/main.tf +++ b/terraform/unifi-controller/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { docker = { source = "kreuzwerker/docker" - version = "3.0.2" + version = "3.6.2" } linode = { source = "linode/linode" @@ -29,7 +29,12 @@ locals { public_ip = module.ipam.hosts.unifi.address # docker_image_controller = "lscr.io/linuxserver/unifi-controller:8.0.24-mongoless" - docker_image_controller = "lscr.io/linuxserver/unifi-network-application:8.5.6-ls68" +# unifi_version = "8.6.9-ls73" +# unifi_version = "8.5.6-ls68" +# unifi_version = "9.0.108-ls74" +# unifi_version = "9.5.21-ls109" + unifi_version = "10.0.162-ls114" + docker_image_controller = "lscr.io/linuxserver/unifi-network-application:${local.unifi_version}" docker_image_mongo = "mongo:7.0" mongo_database = "unifi" diff --git a/tnet/group_vars/all/bird.sops.yml b/tnet/group_vars/all/bird.sops.yml index 334634f..c87f3c4 100644 --- a/tnet/group_vars/all/bird.sops.yml +++ b/tnet/group_vars/all/bird.sops.yml @@ -3,7 +3,6 @@ bgp_password: coregonus-knot: ENC[AES256_GCM,data:WgO2B0FQVQ==,iv:zhaCbX6M7fMMHr63KgIrOcpnI9dmPJLTOlXJVqYkFb0=,tag:Y2H+RjuPGBMUFJJFEeL5Yw==,type:str] hash-knot: ENC[AES256_GCM,data:SI2yYLIepg==,iv:Icky8rMsLQj77zu5vdqCZBWoHiYlNbIwlAvD5m+DH7A=,tag:9PImx9SXYuusNhZeWVPV7g==,type:str] knot-kv24ix: ENC[AES256_GCM,data:z7SG+zuQ7g==,iv:APPjOs+MH9c0xfxmGEMoAQq00i847jGdbpoSkgwbpY0=,tag:jkgb7PlAF/kb50+i+3WEGw==,type:str] - knot-lhn2pi: ENC[AES256_GCM,data:k/pQyjnQyA==,iv:oW9t8Pruu/k/qIG6uG8Ex61QHerYhU09Ns0AI8NKkJA=,tag:H0A4jr/hBcGTuKeNV2zB1Q==,type:str] knot-node1: ENC[AES256_GCM,data:rY0x5yu9zw==,iv:TyyhW1IwtkcU2q2y6ACgEqNEqMJ64PyMQ/kkkyCJB8E=,tag:fepqIEhEbrNFUr9f1iOMAQ==,type:str] knot-node2: ENC[AES256_GCM,data:EE/JkIj23g==,iv:Gv1kd+lOFPir3z0TTlRdeOMffCQreBA5HiCHHwOUu+M=,tag:hwmABQCkbvQ6kSVchUZ6+g==,type:str] sops: @@ -39,8 +38,8 @@ sops: VzVzNmtJampuZ2tKQnU3Y3FTZFFhdkUKej0Hy9kOYDqg+8B+slMdGE2Krcvqr4uJ X7GxDCdLV7sllK6OlHe2aQkXb16oT0iGG7N61LCzWBDOfx0hzdyFPA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-10-19T18:22:33Z" - mac: ENC[AES256_GCM,data:Gm09oBu15JksqrK3H1TabhshiOShqwZLYFon6aqd8MmNQU0ufItZARU2K32Gu09dmDerE5Kbrq5u5U4fJXDkFRVYcFktIlD5FcCN2DlG7pB9rbpMZEHUt89wMAX6uvFat+66PUbE56Cio3Hlv88sB98VIKSratK2E0mlFB0oqYY=,iv:QaG4djyDGv+bpSz3+q6BTWAZyuUtNSkdG79/HciQlVE=,tag:TZ/qUmvWadnHYW/B00oEmQ==,type:str] + lastmodified: "2025-12-28T08:18:39Z" + mac: ENC[AES256_GCM,data:imlEN3/KxgOfZ8PKJHE6V6+1eMIVAZCTuGPMkocTgEqoKacpUbP6ap4lT3tm5I/YdeSJuRSYV3z89PPmkXXa31+c57RFewgX0bpvMYijEzI780xN4TXybETRqOKhUtv01RgAo2nZvmtVl7xi4tvr1NC22Af1ZzeheFI5rZt30vo=,iv:Zq7S3H+aBu1iuNdMw4AkvnjDh0spJJ3jLuJ0NVE3s5I=,tag:ClHvPDrAFfYNrppouOJJSw==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.1 diff --git a/tnet/host_vars/hash/bird.yml b/tnet/host_vars/hash/bird.yml index 2b4bb51..663f8e1 100644 --- a/tnet/host_vars/hash/bird.yml +++ b/tnet/host_vars/hash/bird.yml @@ -4,8 +4,6 @@ tnet_bird_peers: interface: tnet-confltrio knot: rr_client: true - lhn2pi: - rr_client: true node1: rr_client: true node2: diff --git a/tnet/host_vars/hash/wg.yml b/tnet/host_vars/hash/wg.yml index 5754f57..31707c9 100644 --- a/tnet/host_vars/hash/wg.yml +++ b/tnet/host_vars/hash/wg.yml @@ -7,9 +7,9 @@ tnet_wg: akili: port: 51002 address: fdb1:4242:3538:ffff:ca85:f812:3935:5fba - lhn2pi: - port: 51003 - address: fe80:6195:1d43:9655:35f7:9dba:798c:26b8 +# lhn2pi: +# port: 51003 +# address: fe80:6195:1d43:9655:35f7:9dba:798c:26b8 astyanax: port: 51004 address: fe80:a0fd:89e4:42c6:f617:7398:abf4:b516 diff --git a/tnet/host_vars/knot/bird.yml b/tnet/host_vars/knot/bird.yml index 94c610a..107df4c 100644 --- a/tnet/host_vars/knot/bird.yml +++ b/tnet/host_vars/knot/bird.yml @@ -12,8 +12,6 @@ tnet_bird_peers: rr_client: true node2: rr_client: true - lhn2pi: - rr_client: true routedbits_lon1: policy: dn42 as: 4242420207 diff --git a/tnet/host_vars/knot/wg.yml b/tnet/host_vars/knot/wg.yml index e64a4a6..fa91acb 100644 --- a/tnet/host_vars/knot/wg.yml +++ b/tnet/host_vars/knot/wg.yml @@ -14,9 +14,9 @@ tnet_wg: akili: port: 51004 address: fdb1:4242:3538:ffff:59d7:cf77:8b5d:761a - lhn2pi: - port: 51005 - address: fe80:d83a:350b:2162:6eda:1cc1:9cd7:80e8 +# lhn2pi: +# port: 51005 +# address: fe80:d83a:350b:2162:6eda:1cc1:9cd7:80e8 astyanax: port: 51006 address: fe80:6728:53fc:fc81:40b3:9beb:8336:ba56 diff --git a/tnet/host_vars/lhn2pi/bird.yml b/tnet/host_vars/lhn2pi/bird.yml deleted file mode 100644 index 564c993..0000000 --- a/tnet/host_vars/lhn2pi/bird.yml +++ /dev/null @@ -1,5 +0,0 @@ -tnet_bird_peers: - hash: - knot: - -birdv: 2008 diff --git a/tnet/host_vars/lhn2pi/wg.yml b/tnet/host_vars/lhn2pi/wg.yml deleted file mode 100644 index c94745c..0000000 --- a/tnet/host_vars/lhn2pi/wg.yml +++ /dev/null @@ -1,7 +0,0 @@ -tnet_wg: - knot: - endpoint: knot.inamo.no:51005 - address: fe80:d83a:350b:2162:6eda:1cc1:9cd7:80e9 - hash: - endpoint: hash.trygvis.io:51003 - address: fe80:6195:1d43:9655:35f7:9dba:798c:26b9 diff --git a/tnet/templates/hash/bird-tnet.conf b/tnet/templates/hash/bird-tnet.conf index d9c52b0..9a0eed0 100644 --- a/tnet/templates/hash/bird-tnet.conf +++ b/tnet/templates/hash/bird-tnet.conf @@ -51,14 +51,6 @@ protocol bgp tnet_knot from tnet_tpl { rr client; } -protocol bgp tnet_lhn2pi from tnet_tpl { - neighbor fe80:6195:1d43:9655:35f7:9dba:798c:26b9; - interface "tnet-lhn2pi"; - password "{{ bgp_password['hash-lhn2pi'] }}"; - - rr client; -} - protocol bgp tnet_node1 from tnet_tpl { neighbor fe80:a026:6ec2:b356:21c5:b51:22b9:a1df; interface "tnet-node1"; diff --git a/tnet/templates/knot/bird-tnet.conf b/tnet/templates/knot/bird-tnet.conf index 699c0f2..2cbbb75 100644 --- a/tnet/templates/knot/bird-tnet.conf +++ b/tnet/templates/knot/bird-tnet.conf @@ -60,21 +60,13 @@ protocol bgp tnet_hash from tnet_tpl { } protocol bgp tnet_kv24ix from tnet_tpl { - neighbor fe80:fef1:078a:5b64:efd3:ae7b:d286:d7cf; + neighbor fdb1:4242:3538:2f02::b/64; interface "tnet-kv24ix"; password "{{ bgp_password['knot-kv24ix'] }}"; rr client; } -protocol bgp tnet_lhn2pi from tnet_tpl { - neighbor fe80:d83a:350b:2162:6eda:1cc1:9cd7:80e9; - interface "tnet-lhn2pi"; - password "{{ bgp_password['knot-lhn2pi'] }}"; - - rr client; -} - protocol bgp tnet_node1 from tnet_tpl { neighbor fe80:58eb:3930:1815:2a6d:8918:70c9:96f3; interface "tnet-node1"; diff --git a/tnet/templates/lhn2pi/bird-tnet-pre.conf b/tnet/templates/lhn2pi/bird-tnet-pre.conf deleted file mode 100644 index 74c981d..0000000 --- a/tnet/templates/lhn2pi/bird-tnet-pre.conf +++ /dev/null @@ -1,20 +0,0 @@ -define tnet = fdb1:4242:3538:2000::/52; - -function is_tnet() -{ - return net ~ tnet; -} - -roa6 table dn42_roa; - -protocol static { - roa6 { table dn42_roa; }; - include "/etc/bird/dn42_roa_bird2_6.conf"; -}; - -function dn42_is_valid_network() -{ - return net ~ [ - fd00::/8{44,64} # ULA address space as per RFC 4193 - ]; -} diff --git a/tnet/templates/lhn2pi/bird-tnet.conf b/tnet/templates/lhn2pi/bird-tnet.conf deleted file mode 100644 index f755c3b..0000000 --- a/tnet/templates/lhn2pi/bird-tnet.conf +++ /dev/null @@ -1,48 +0,0 @@ -# Set to true if this peer is directly connected to a dn42 peer -define is_dn42_peer = true; -# If we are connected directly to dn42, we don't want the dn42 routes from others -define import_dn42 = !is_dn42_peer; -define export_dn42 = is_dn42_peer; - -template bgp tnet_tpl { - local as 4242423538; - neighbor internal; - - direct; - - ipv6 { - next hop self; - import filter { - if is_tnet() then { - accept proto, ": (tnet) import accept, net=", net, ", from=", from, ", gw=", gw; - } else if import_dn42 && dn42_is_valid_network() then { - accept proto, ": (dn42) import accept, net=", net, ", from=", from, ", gw=", gw; - } else { - reject proto, ": import reject, reason=not tnet"; - } - }; - # newer bird's only - # import keep filtered; - export filter { - if is_tnet() then { - accept proto, ": (tnet) export accept, net=", net, ", from=", from, ", gw=", gw; - } else if export_dn42 && dn42_is_valid_network() then { - accept proto, ": (dn42) import accept, net=", net, ", from=", from, ", gw=", gw; - } else { - reject proto, ": export reject, reason=not tnet"; - } - }; - }; -} - -protocol bgp tnet_hash from tnet_tpl { - neighbor fe80:6195:1d43:9655:35f7:9dba:798c:26b8; - interface "tnet-hash"; - password "{{ bgp_password['hash-lhn2pi'] }}"; -} - -protocol bgp tnet_knot from tnet_tpl { - neighbor fe80:d83a:350b:2162:6eda:1cc1:9cd7:80e8; - interface "tnet-knot"; - password "{{ bgp_password['knot-lhn2pi'] }}"; -} |
