Jump to content

Bird-lg

From Official NixOS Wiki

BIRD looking glass in Go, for better maintainability, easier deployment & smaller memory footprint.

Example

Frontend

The fqdn of the routers is generated by the frontend ($server-hostname.$domain, for example fra1.noc.example.com)

≡︎ /etc/nixos/configuration.nix
services = {
  bird-lg = {
    frontend = {
      domain = noc.example.com; # domain of the routers
      enable = true;
      servers = [ "fra1" "ams1" ]; # hostnames of the routers
      protocolFilter = [
        "bgp"
        "static"
      ];
      listenAddresses = [ "[::1]:15000" ]; # listen address of the frontend
      proxyPort = 18000; # port on which the proxy servers (routers) are listening on
      navbar = {
        brand = "example networks"; # branding in the top left corner
      };
    };
  };
};

Proxy

The proxy runs on all bird router instances

≡︎ /etc/nixos/configuration.nix
services.bird-lg.proxy = {
   enable = true;
   listenAddresses = [ "18000" ]; # listen on all interfaces
};

See also