/etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
/etc/bird/bird.conf
log "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
debug protocols all;
table main;
router id 192.168.2.1;
filter lan {
if net ~ [ 192.168.2.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 192.168.2.1;
}
protocol static {
table main;
route 192.168.2.0/24 via "eth0";
export all;
import all;
}
protocol kernel {
table main;
export filter lan;
}
protocol bgp R1 {
table main;
hold time 30;
path metric 1;
local as 65000;
neighbor 192.168.2.2 as 65001;
export all;
import all;
}
protocol bgp R3 {
table main;
hold time 30;
path metric 2;
local as 65000;
neighbor 192.168.2.3 as 65002;
export all;
import all;
}
/etc/network/interfaces
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
iface eth1 inet static
address 172.16.0.1
netmask 255.255.255.252
/etc/bird/bird6.conf
log "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
router id 192.168.2.2;
debug protocols all;
table main;
filter lan {
if net ~ [ 192.168.2.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 192.168.2.2;
primary "eth1" 172.16.0.1;
}
protocol kernel {
table main;
scan time 20;
export filter lan;
}
protocol bgp C1 {
table main;
local as 65001;
neighbor 192.168.2.1 as 65000;
source address 192.168.2.2;
export all;
import all;
}
protocol bgp R2 {
table main;
hold time 30;
local as 65001;
neighbor 172.16.0.2 as 65003;
export all;
import all;
}
protocol bgp R3 {
table main;
hold time 30;
local as 65001;
neighbor 192.168.2.3 as 65002;
}
/etc/network/interfaces
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 172.16.0.5
netmask 255.255.255.252
iface eth1 inet static
address 192.168.2.3
netmask 255.255.255.0
/etc/bird/bird.conflog "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
router id 192.168.2.3;
debug protocols all;
table main;
filter lan {
if net ~ [ 192.168.2.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 172.16.0.5;
primary "eth1" 192.168.2.3;
}
protocol kernel {
table main;
scan time 20;
export filter lan;
}
protocol bgp C1 {
table main;
local as 65002;
neighbor 192.168.2.1 as 65000;
source address 192.168.2.3;
export all;
import all;
}
protocol bgp R4 {
table main;
hold time 30;
local as 65002;
neighbor 172.16.0.6 as 65004;
source address 172.16.0.5;
export all;
import all;
}
protocol bgp R1 {
table main;
hold time 30;
local as 65002;
neighbor 192.168.2.2 as 65001;
}
/etc/network/interfacesauto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.3.1
netmask 255.255.255.0
/etc/bird/bird.conflog "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
debug protocols all;
router id 192.168.3.1;
table main;
filter lan {
if net ~ [ 192.168.3.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 192.168.3.1;
}
protocol static C1 {
table main;
route 192.168.3.0/24 via "eth0";
}
protocol kernel {
table main;
export filter lan;
kernel table 254;
}
protocol bgp R2 {
table main;
hold time 30;
path metric 1;
local as 65005;
neighbor 192.168.3.2 as 65003;
source address 192.168.3.1;
export all;
import all;
}
protocol bgp R4 {
table main;
hold time 30;
path metric 2;
local as 65005;
neighbor 192.168.3.3 as 65004;
source address 192.168.3.1;
export all;
import all;
}
/etc/network/interfacesauto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 172.16.0.2
netmask 255.255.255.252
iface eth1 inet static
address 192.168.3.2
netmask 255.255.255.0
/etc/bird/bird.conflog "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
debug protocols all;
router id 192.168.3.2;
debug protocols all;
table main;
filter lan {
if net ~ [ 192.168.3.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 172.16.0.2;
primary "eth1" 192.168.3.2;
}
protocol kernel {
table main;
scan time 20;
export filter lan;
}
protocol bgp C2 {
table main;
local as 65003;
neighbor 192.168.3.1 as 65005;
source address 192.168.3.2;
export all;
import all;
}
protocol bgp R1 {
table main;
hold time 30;
local as 65003;
neighbor 172.16.0.1 as 65001;
source address 172.16.0.2;
export all;
import all;
}
protocol bgp R4 {
table main;
hold time 30;
local as 65003;
neighbor 192.168.3.3 as 65004;
}
/etc/network/interfacesauto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
iface eth1 inet static
address 172.16.0.6
netmask 255.255.255.252
/etc/bird/bird.conflog "/var/log/bird.log" { remote, warning, error, auth, fatal, bug };
log stderr { error, fatal, bug};
router id 192.168.3.3;
debug protocols all;
table main;
filter lan {
if net ~ [ 192.168.3.0/24+ ] then reject;
else accept;
}
protocol device {
scan time 10; # Scan the interfaces often
primary "eth0" 192.168.3.3;
primary "eth1" 172.16.0.6;
}
protocol kernel {
table main;
scan time 20;
export filter lan;
}
protocol bgp C2 {
table main;
local as 65004;
neighbor 192.168.3.1 as 65005;
source address 192.168.3.3;
export all;
import all;
}
protocol bgp R3 {
table main;
hold time 30;
local as 65004;
neighbor 172.16.0.5 as 65002;
source address 172.16.0.6;
export all;
import all;
}
protocol bgp R2 {
table main;
hold time 30;
local as 65004;
neighbor 192.168.3.2 as 65003;
}