Anonet/BIRD
Jump to navigation
Jump to search
This normally goes in /etc/bird.conf:
log syslog { debug, trace, info, remote, error, auth, fatal, bug };
#Your router ID is formatted as an IP address. It should be unique, so you should use one of your local IP addresses.
router id 1.2.3.4;
#This filter allows prefixes in dn42, as well as the big anonet network
filter dn42 {
if net = 172.16.0.0/12 then reject;
if net = 172.22.0.0/15 then reject;
if net ~ 172.16.0.0/12 then accept;
if net = 1.0.0.0/8 then accept;
reject;
}
#This filter allows prefixes in anonet, as well as the big dn42 network
filter anonet {
if net = 1.0.0.0/8 then reject;
if net ~ 1.0.0.0/8 then accept;
if net = 172.16.0.0/12 then accept;
if net = 172.22.0.0/15 then accept;
reject;
}
protocol kernel {
# learn; # Learn all alien routes from the kernel
persist; # Don't remove routes on bird shutdown
scan time 20; # Scan kernel routing table every 20 seconds
# import none; # Default is import all
import all;
export all; # Default is export none
}
protocol device {
scan time 30; # Scan interfaces every 10 seconds
}
#This is where we define our local network. If you just use the network only
#on this host, or use individual IP addresses, use the reject statement.
#Alternatively, you can route your entire subnetwork to a specific interface.
protocol static {
route 1.2.3.0/24 reject;
# route 1.2.3.0/24 via "eth0";
}
#This is a peering with a trusted machine, we exchange all routes
#Jupiter is just a name we give this connection, for use in the
#interactive control shell 'birdc'.
#protocol bgp jupiter {
# local as 64530;
# neighbor 10.11.1.2 as 64521;
# import all; export all;
#}
#This is a peering with an anonet peer
protocol bgp as1112 {
local as 1234;
neighbor 1.82.98.2 as 1112;
export filter anonet; import filter anonet;
}
#To add another anonet peer, add another protocol block.