Manage bird.conf on l4lb machines
Currently just add basic template
This commit is contained in:
parent
fb956e4198
commit
d331797c95
2 changed files with 117 additions and 0 deletions
|
@ -79,4 +79,18 @@ class cdn::l4lb(
|
||||||
content => template('cdn/l4lb/bird-override.conf.erb'),
|
content => template('cdn/l4lb/bird-override.conf.erb'),
|
||||||
notify => [Class['sunet::systemd_reload']]
|
notify => [Class['sunet::systemd_reload']]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file { '/etc/bird/bird.conf':
|
||||||
|
ensure => file,
|
||||||
|
owner => 'bird',
|
||||||
|
group => 'bird',
|
||||||
|
mode => '0640',
|
||||||
|
content => template('cdn/l4lb/bird.conf.erb'),
|
||||||
|
notify => Service['bird'],
|
||||||
|
}
|
||||||
|
|
||||||
|
service { 'bird':
|
||||||
|
ensure => 'running',
|
||||||
|
enable => true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
# Configure logging
|
||||||
|
log syslog all;
|
||||||
|
|
||||||
|
# Set router ID. It is a unique identification of your router, usually one of
|
||||||
|
# IPv4 addresses of the router. It is recommended to configure it explicitly.
|
||||||
|
router id <%= @facts['networking']['interfaces']['default']['ip'] %>;
|
||||||
|
|
||||||
|
# The Device protocol is not a real routing protocol. It does not generate any
|
||||||
|
# routes and it only serves as a module for getting information about network
|
||||||
|
# interfaces from the kernel. It is necessary in almost any configuration.
|
||||||
|
protocol device {
|
||||||
|
}
|
||||||
|
|
||||||
|
# The direct protocol is not a real routing protocol. It automatically generates
|
||||||
|
# direct routes to all network interfaces. Can exist in as many instances as you
|
||||||
|
# wish if you want to populate multiple routing tables with direct routes.
|
||||||
|
protocol direct {
|
||||||
|
ipv4;
|
||||||
|
ipv6;
|
||||||
|
interface "dummy0";
|
||||||
|
}
|
||||||
|
|
||||||
|
# The Kernel protocol is not a real routing protocol. Instead of communicating
|
||||||
|
# with other routers in the network, it performs synchronization of BIRD
|
||||||
|
# routing tables with the OS kernel. One instance per table.
|
||||||
|
protocol kernel {
|
||||||
|
ipv4 {
|
||||||
|
import none;
|
||||||
|
export filter { if source = RTS_DEVICE then { reject; } accept; };
|
||||||
|
};
|
||||||
|
# Create ECMP routes in kernel table from multiple paths
|
||||||
|
merge paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol kernel {
|
||||||
|
ipv6 {
|
||||||
|
import none;
|
||||||
|
export filter { if source = RTS_DEVICE then { reject; } accept; };
|
||||||
|
};
|
||||||
|
# Create ECMP routes in kernel table from multiple paths
|
||||||
|
merge paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol bgp tug_r11_v4 {
|
||||||
|
description "tug-r11-v4";
|
||||||
|
local 130.242.64.233 as 65443;
|
||||||
|
neighbor 130.242.64.232 as 1653;
|
||||||
|
hold time 90;
|
||||||
|
|
||||||
|
ipv4 {
|
||||||
|
import all;
|
||||||
|
export filter {
|
||||||
|
if net ~ [ 188.240.152.0/24{32,32} ] then
|
||||||
|
accept; else reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol bgp tug_r11_v6 {
|
||||||
|
description "tug-r12-v6";
|
||||||
|
local 2001:6b0:2006:74::1 as 65443;
|
||||||
|
neighbor 2001:6b0:2006:74:: as 1653;
|
||||||
|
hold time 90;
|
||||||
|
|
||||||
|
ipv6 {
|
||||||
|
import all;
|
||||||
|
export filter {
|
||||||
|
if net ~ [ 2001:6b0:2100::/48{128,128} ] then
|
||||||
|
accept; else reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protocol bgp tug_r12_v4 {
|
||||||
|
description "tug-r12-v4";
|
||||||
|
local 130.242.64.235 as 65443;
|
||||||
|
neighbor 130.242.64.234 as 1653;
|
||||||
|
hold time 90;
|
||||||
|
|
||||||
|
ipv4 {
|
||||||
|
import all;
|
||||||
|
export filter {
|
||||||
|
if net ~ [ 188.240.152.0/24{32,32} ] then
|
||||||
|
accept; else reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol bgp tug_r12_v6 {
|
||||||
|
description "tug-r12-v6";
|
||||||
|
local 2001:6b0:2006:75::1 as 65443;
|
||||||
|
neighbor 2001:6b0:2006:75:: as 1653;
|
||||||
|
hold time 90;
|
||||||
|
|
||||||
|
ipv6 {
|
||||||
|
import all;
|
||||||
|
export filter {
|
||||||
|
if net ~ [ 2001:6b0:2100::/48{128,128} ] then
|
||||||
|
accept; else reject;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue