Home|Stats|RSS

AS10779

· 295 words · 2 min read

This is a small network, no external services will be provided.

You can find more information about our network on Hurricane Electric BGP Toolkit.

Peering

Peering is open to anyone meeting following criteria:

Nix + Bird2

Since nixpkgs has Bird2 options, it's relatively simple to make a config that can be reused for multiple peers:

{ ... }:

{
  services.bird2.config =
    let
      peer = [
        {
          name = "<Peer Name>";
          asn = "<Peer ASN>";
          ipv4 = "<Peer IPv4>";
          ipv6 = "<Peer IPv6>";
          multihop = "<Multihop>";
          password = "<BGP Password>";
        }
        { ... }
      ];
    in
    ''
      ${lib.concatMapStringsSep "\n" (p: ''
        protocol bgp ${p.name}4 {
          // own ipv4, asn
          graceful restart on;
          multihop ${p.multihop};
          neighbor ${p.ipv4}
          as ${p.asn};
          password "${p.password}";
          ipv4 {
            import filter {
              // import filters
              accept;
            };
            export filter {
              // export filters
              accept;
            };
          };
        }
      '') peer}

      ${lib.concatMapStringsSep "\n" (p: ''
        protocol bgp ${p.name}6 {
          // own ipv6, asn
          graceful restart on;
          multihop ${p.multihop};
          neighbor ${p.ipv6}
          as ${p.asn};
          password "${p.password}";
          ipv6 {
            import filter {
              // import filters
              accept;
            };
            export filter {
              // export filters
              accept;
            };
          };
        }
      '') peer}
    '';
}