/* * GENERAL CONFIGURATION */ # Configure logging log "/var/log/bird.log" all; # Turn on global debugging of all protocols debug protocols all; # Override router ID router id 172.20.0.1; /* * ROUTING TABLE CONFIGURATION */ # Routing Tables table CUSTOMER_1; table CUSTOMER_1; # Network interfaces used by routig protocols protocol direct { interface "eth1"; } protocol device { import all; } # Default routing table 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 all; # Default is import all export all; # Default is export none kernel table 5; # Kernel table to synchronize with (default: main) } protocol kernel kernel_CUSTOMER_2 { table CUSTOMER_2; kernel table 200; 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 all; # Default is import all export all; # Default is export none } protocol kernel kernel_CUSTOMER_1 { table CUSTOMER_1; kernel table 100; 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 all; # Default is import all export all; # Default is export none } /* * ROUTING PROTOCOLS FOR CUSTOMER_1 */ protocol ospf OSPF_CUSTOMER_1{ table CUSTOMER_1; rfc1583compat no; stub router yes; tick 1; ecmp yes limit 16; area 0 { networks { 172.20.11.0/30; }; interface "eth0" { type broadcast; authentication none; }; }; }; /* * ROUTING PROTOCOLS FOR CUSTOMER_2 */ protocol ospf OSPF_CUSTOMER_2{ table CUSTOMER_2; rfc1583compat no; stub router yes; tick 1; ecmp yes limit 16; area 0 { networks { 172.20.211.0/30; }; interface "eth1" { type broadcast; authentication none; }; }; };