Все тесты будут вестись на CentOS 6 :)
Итак, установим Bird:
Откроем его конфиг:
И закомментируем там все, что нам не закомментировано дабы избежать конфликтов.
После этого забиваем следующий конфиг:
После этого применяем изменения (в лоб, потому что тесты. В продакшене нужно делать через birdc):
Убеждаемся, что BGP сессия поднялась:
Все! :)
Итак, установим Bird:
yum install -y bird
Откроем его конфиг:
vim /etc/bird.conf
И закомментируем там все, что нам не закомментировано дабы избежать конфликтов.
После этого забиваем следующий конфиг:
protocol kernel {Данный конфиг приводит к тому, что будет установлена BGP сессия с заданным узлом и в нее будут проанонсированы все маршруты из локальной таблицы Linux (в моем случае это маршруты до OpenVZ VPS).
persist; # Don't remove routes on bird shutdown
learn; # Learn all alien routes from the kernel
export none; # Default is export none
import all;
scan time 20; # Scan kernel routing table every 20 seconds
device routes yes;
}
protocol device {
scan time 10; # Scan interfaces every 10 seconds
}
filter test_filter {
# filter out private subnets
if net ~ 10.0.0.0/8 then reject;
if net ~ 192.168.0.0/16 then reject;
if net ~ 172.16.0.0/12 then reject;
# filter link local for IPv4
if net ~ 169.254.0.0/16 then reject;
accept;
}
protocol bgp {
local as 65000;
source address 10.0.131.2;
# do not connect to remote peers, work as route server now!
# passive;
import all;
export filter test_filter;
neighbor 10.0.129.2 as 65000;
}
После этого применяем изменения (в лоб, потому что тесты. В продакшене нужно делать через birdc):
/etc/init.d/bird restart
Убеждаемся, что BGP сессия поднялась:
show protocols all bgp1
name proto table state since info
bgp1 BGP master up 15:07:32 Established
Preference: 100
Input filter: ACCEPT
Output filter: test_filter
Routes: 0 imported, 27 exported, 0 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 0 0 0 0 0
Import withdraws: 0 0 --- 0 0
Export updates: 29 0 2 --- 27
Export withdraws: 0 --- --- --- 0
BGP state: Established
Neighbor address: 10.0.129.2
Neighbor AS: 65000
Neighbor ID: 10.0.129.2
Neighbor caps: AS4
Session: internal multihop AS4
Source address: 10.0.131.2
Hold timer: 109/180
Keepalive timer: 2/60
Все! :)