AS10779
· 299 words · 1 min readThis 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 (PeeringDB) is open to anyone meeting following criteria:
- All peers must maintain a 24/7 contactable NOC
- We reserve the right to suspend peering for an indefinite period of time for any kind of abuse, DDoS, etc.
- Peers are encouraged to provide access to a Looking Glass to facilitate troubleshooting
- Peers should not point a gateway of last resort or default route directed towards our session
- The use of a mutually agreed BGP session password is encouraged but not required
- All announced routes must be covered by a valid ROA
# 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.name4 {
// 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.name6 {
// 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
'';
}