Bird

Vm Template: Centos 7, 64bits

Cisco

Interface Config

interface Vlan<vlan id>
 ip address <ip> <mask>
 ip ospf 1 area 10
 ip ospf authentication message-digest # Optional
 ip ospf message-digest-key 1 md5 <cleartext passwd> #Optional
 ip ospf hello-interval 2
 ipv6 ospf 1 area 10
 ipv6 ospf hello-interval 2

Router Config

router ospf 1
 area <area id> stub
 area <area id> authentication message-digest
 maximum-paths 32
!
router ospfv3 1
  log-adjacency-changes detail
  area <area id> stub
  !
  address-family ipv6 unicast
  exit-address-family
!

Bird

Install

Install bird with v4 and v6 support.

yum install -y wget flex bison readline-devel
cd /usr/local/src
wget ftp://bird.network.cz/pub/bird/bird-1.6.3.tar.gz
tar -zxvf bird-1.6.3.tar.gz
cd bird-1.6.3
./configure
make
make install
./configure --enable-ipv6
make
make install

Systemd service

/etc/systemd/system/bird.service

[Unit]
Description=BIRD Internet Routing Daemon
After=network-online.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/bird
ExecReload=/usr/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

/etc/systemd/system/bird.service

[Unit]
Description=BIRD Internet Routing Daemon IPv6
After=network-online.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/bird6
ExecReload=/usr/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

Config

/usr/local/etc/bird.conf

log syslog all;
log "/var/log/bird.log" all;

router id <v4 ip>;

#debug protocols all;

protocol kernel {
  import none;
  scan time 20;
  export all;
}

protocol device {
        scan time 10;
}

protocol ospf BIRD {
  tick 2;
  rfc1583compat yes;
  import none;
  area 10 {
    stub yes;
    interface "eth0" { priority 0; hello 2; };
    interface "dummy*" { stub; };
    };
}

/usr/local/etc/bird6.conf

log syslog all;
log "/var/log/bird.log" all;

router id <v4 ip>;

#debug protocols all;

protocol kernel {
  import none;
  scan time 20;
  export all;
}

protocol device {
        scan time 10;
}

protocol ospf BIRD {
  tick 2;
  rfc1583compat yes;
  import none;
  area 10 {
    stub yes;
    interface "eth0" { priority 0; hello 2; };
    interface "dummy*" { stub; };
    };
}

Server config

/etc/sysconfig/network

NETWORKING_IPV6=yes

Dummy Network

/etc/modules-load.d/dummy.conf

# Load dummy interface
dummy
# Set to how many dummy devices you want
options dummy numdummies=1

Interface config

/etc/sysconfig/network-scripts/ifcfg-dummy0

DEVICE=dummy0
TYPE=Ethernet
ONBOOT=yes
IPADDR=172.16.13.129
NETMASK=255.255.255.255
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:DB8:A:c1::1337/128

Services

Enable the services

systemctl daemon-reload
systemctl enable bird
systemctl enable bird6
systemctl start bird
systemctl start bird6