My Nix Configuration
at main 1.3 kB view raw
1{ pkgs, config, ... }: 2let 3 cfg42 = config.dn42; 4in 5{ 6 imports = [ 7 ./peers 8 ]; 9 networking = { 10 interfaces.lo = { 11 ipv4.addresses = [ 12 { 13 address = "172.20.43.96"; 14 prefixLength = 32; 15 } 16 ]; 17 ipv6.addresses = [ 18 { 19 address = "fd21:1500:66b0::1"; 20 prefixLength = 128; 21 } 22 { 23 address = "fe80::1"; 24 prefixLength = 128; 25 } 26 ]; 27 }; 28 }; 29 30 environment.systemPackages = with pkgs; [ 31 dnsutils 32 mtr 33 tcpdump 34 wireguard-tools 35 ]; 36 dn42 = { 37 enable = true; 38 # ASN corresponding to DN42 PYRONET 39 as = 4242422459; 40 # Communities config 41 # https://dn42.dev/howto/BGP-communities 42 region = 42; 43 country = 1840; 44 routerId = cfg42.addr.v4; 45 # Primary IP Addresses 46 addr = { 47 v4 = "172.20.43.96"; 48 v6 = "fd21:1500:66b0::1"; 49 }; 50 # Owned IP Ranges 51 nets = { 52 v4 = [ "172.20.43.96/27" ]; 53 v6 = [ "fd21:1500:66b0::/48" ]; 54 }; 55 # Enable StayRTR 56 # https://github.com/bgp/stayrtr 57 stayrtr.enable = true; 58 # Peer with GRC 59 # https://dn42.dev/services/Route-Collector 60 collector.enable = true; 61 62 wg.tunnelDefaults = { 63 privateKeyFile = "/run/agenix/dn42-privkey"; 64 localAddrs.v4 = cfg42.addr.v4; 65 }; 66 }; 67}