Исправление Vlad-76, (текущая версия) :
Поднимайте linux, настраивайте сетевые интерфейсы - к оператору и в ЦОД , качайте bird компилите
в /etc/sysctl.conf нужно разрешить Linux форвардить пакеты с интерфейса на интерфейс
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Собрал конфиг для bird, может с ошибками, тестить надо. Но суть попытался отразить.
# решетка в начале строки - отключает действие строки в конфиге, получается типа комментарий
log syslog all;
#router id 192.168.1.5;
protocol device {
scan time 10;
}
debug commands 2;
timeformat route "%F %T";
#здесь поправите на интерфейсы какие необходимы для работы bird c учетом того какой и куда смотрит интерфейс в системе. Возможно у Вас будут интерфейсы в linux которые не нужно здесь указывать вовсе
protocol direct {
interface "eth0"; # Допустим этот интерфейс к провайдеру
interface "eth1"; # Допустим этот интерфейс к физическому порту в ЦОД
# interface "eth2.120"; # это для пирмера если будете использовать VLANы
# interface "eth2.121";
}
protocol kernel {
export all; # Запихнем все маршруты известные bird (в таблице master) в TM linux в т.ч. default
scan time 15;
}
protocol static static1 {
# disabled; # Disable by default
# table testable; # Connect to a non-default table
preference 254; # Default preference of routes
# debug { states, routes, filters, interfaces, events, packets };
# debug all;
route 192.168.200.1.0/24 via "lo"; # В таблицу с маршрутами master (которая внутри bird) будет воткнут маршрут
}
filter BGP_ISP1_in {
if net = 0.0.0.0/0 then {# Разрешаем получать default route
print "BGP_ISP1 : default route accepted:", net;
accept;
}
reject; # остальные маршруты отбрасываем
};
filter BGP_ISP1_out {
if net = 192.168.200.1.0/24 then { # Разрешаем объявить сеть
accept;
}
reject; #остальные маршруты отбрасываем
};
protocol bgp BGP-ISP1{ # BGP-ISP1 - имя оператора внутри bird
table master; # Таблица с маршрутами внутри bird с которой будет взаимодействовать данный протокол. Вообще master это название по умолчанию в bird если не указывать
router id 192.168.1.5;
# disabled;
description "BGP-ISP1";
local as 50500; # AS Ваша
neighbor W.X.Y.Z as YYYY; # IP провайдера и AS Провайдера
# bfd;
hold time 240;
startup hold time 240;
connect retry time 120;
keepalive time 80; # defaults to hold time / 3
# keepalive time 10; # defaults to hold time / 3
connect delay time 5; # How long do we wait before initial connect
error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
# errors occur, we increase the delay exponentially ...
error forget time 300; # ... until this timeout expires)
# disable after error; # Disable the protocol automatically when an error occurs
next hop self; # Disable next hop processing and always advertise our local address as nexthop
path metric 1; # Prefer routes with shorter paths (like Cisco does)
default bgp_med 0; # MED value we use for comparison when none is defined
# default bgp_local_pref 100; # The same for local preference
source address 192.168.1.5; # What local address we use for the TCP connection
export filter BGP_ISP1_out; # фильтр на объявление маршрутов оператору
import filter BGP_ISP1_in; # фильтр на получение маршрутов от оператора
}
Исправление Vlad-76, :
Поднимайте linux, настраивайте сетевые интерфейсы - к оператору и в ЦОД , качайте bird компилите
Собрал конфиг для bird, может с ошибками, тестить надо. Но суть попытался отразить.
# решетка в начале строки - отключает действие строки в конфиге, получается типа комментарий
log syslog all;
#router id 192.168.1.5;
protocol device {
scan time 10;
}
debug commands 2;
timeformat route "%F %T";
#здесь поправите на интерфейсы какие необходимы для работы bird c учетом того какой и куда смотрит интерфейс в системе. Возможно у Вас будут интерфейсы в linux которые не нужно здесь указывать вовсе
protocol direct {
interface "eth0"; # Допустим этот интерфейс к провайдеру
interface "eth1"; # Допустим этот интерфейс к физическому порту в ЦОД
# interface "eth2.120"; # это для пирмера если будете использовать VLANы
# interface "eth2.121";
}
protocol kernel {
export all; # Запихнем все маршруты известные bird (в таблице master) в TM linux в т.ч. default
scan time 15;
}
protocol static static1 {
# disabled; # Disable by default
# table testable; # Connect to a non-default table
preference 254; # Default preference of routes
# debug { states, routes, filters, interfaces, events, packets };
# debug all;
route 192.168.200.1.0/24 via "lo"; # В таблицу с маршрутами master (которая внутри bird) будет воткнут маршрут
}
filter BGP_ISP1_in {
if net = 0.0.0.0/0 then {# Разрешаем получать default route
print "BGP_ISP1 : default route accepted:", net;
accept;
}
reject; # остальные маршруты отбрасываем
};
filter BGP_ISP1_out {
if net = 192.168.200.1.0/24 then { # Разрешаем объявить сеть
accept;
}
reject; #остальные маршруты отбрасываем
};
protocol bgp BGP-ISP1{ # BGP-ISP1 - имя оператора внутри bird
table master; # Таблица с маршрутами внутри bird с которой будет взаимодействовать данный протокол. Вообще master это название по умолчанию в bird если не указывать
router id 192.168.1.5;
# disabled;
description "BGP-ISP1";
local as 50500; # AS Ваша
neighbor W.X.Y.Z as YYYY; # IP провайдера и AS Провайдера
# bfd;
hold time 240;
startup hold time 240;
connect retry time 120;
keepalive time 80; # defaults to hold time / 3
# keepalive time 10; # defaults to hold time / 3
connect delay time 5; # How long do we wait before initial connect
error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
# errors occur, we increase the delay exponentially ...
error forget time 300; # ... until this timeout expires)
# disable after error; # Disable the protocol automatically when an error occurs
next hop self; # Disable next hop processing and always advertise our local address as nexthop
path metric 1; # Prefer routes with shorter paths (like Cisco does)
default bgp_med 0; # MED value we use for comparison when none is defined
# default bgp_local_pref 100; # The same for local preference
source address 192.168.1.5; # What local address we use for the TCP connection
export filter BGP_ISP1_out; # фильтр на объявление маршрутов оператору
import filter BGP_ISP1_in; # фильтр на получение маршрутов от оператора
}
Исправление Vlad-76, :
Поднимайте linux, настраивайте сетевые интерфейсы - к оператору и в ЦОД , качайте bird компилите
Собрал конфиг для bird, может с ошибками, тестить надо. Но суть попытался отразить.
# решетка в начале строки - отключает действие строки в конфиге, получается типа комментарий
log syslog all;
#router id 192.168.1.5;
protocol device {
scan time 10;
}
debug commands 2;
timeformat route "%F %T";
#здесь поправите на интерфейсы какие необходимы для работы bird c учетом того какой и куда смотрит интерфейс в системе. Возможно у Вас будут интерфейсы в linux которые не нужно здесь указывать вовсе
protocol direct {
interface "eth0"; # Допустим этот интерфейс к провайдеру
interface "eth1"; # Допустим этот интерфейс к физическому порту в ЦОД
# interface "eth2.120"; # это для пирмера если будете использовать VLANы
# interface "eth2.121";
}
protocol kernel {
export all; # Запихнем все маршруты известные bird (в таблице master) в TM linux в т.ч. default
scan time 15;
}
protocol static static1 {
# disabled; # Disable by default
# table testable; # Connect to a non-default table
preference 254; # Default preference of routes
# debug { states, routes, filters, interfaces, events, packets };
# debug all;
route 192.168.200.1.0 via "lo"; # В таблицу с маршрутами master (которая внутри bird) будет воткнут маршрут
}
filter BGP_ISP1_in {
if net = 0.0.0.0/0 then {# Разрешаем получать default route
print "BGP_ISP1 : default route accepted:", net;
accept;
}
reject; # остальные маршруты отбрасываем
};
filter BGP_ISP1_out {
if net = 192.168.200.1.0/24 then { # Разрешаем объявить сеть
accept;
}
reject; #остальные маршруты отбрасываем
};
protocol bgp BGP-ISP1{ # BGP-ISP1 - имя оператора внутри bird
table master; # Таблица с маршрутами внутри bird с которой будет взаимодействовать данный протокол. Вообще master это название по умолчанию в bird если не указывать
router id 192.168.1.5;
# disabled;
description "BGP-ISP1";
local as 50500; # AS Ваша
neighbor W.X.Y.Z as YYYY; # IP провайдера и AS Провайдера
# bfd;
hold time 240;
startup hold time 240;
connect retry time 120;
keepalive time 80; # defaults to hold time / 3
# keepalive time 10; # defaults to hold time / 3
connect delay time 5; # How long do we wait before initial connect
error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
# errors occur, we increase the delay exponentially ...
error forget time 300; # ... until this timeout expires)
# disable after error; # Disable the protocol automatically when an error occurs
next hop self; # Disable next hop processing and always advertise our local address as nexthop
path metric 1; # Prefer routes with shorter paths (like Cisco does)
default bgp_med 0; # MED value we use for comparison when none is defined
# default bgp_local_pref 100; # The same for local preference
source address 192.168.1.5; # What local address we use for the TCP connection
export filter BGP_ISP1_out; # фильтр на объявление маршрутов оператору
import filter BGP_ISP1_in; # фильтр на получение маршрутов от оператора
}
Исправление Vlad-76, :
Поднимайте linux, настраивайте сетевые интерфейсы - к оператору и в ЦОД , качайте bird компилите
Собрал конфиг для bird, может с ошибками, тестить надо. Но суть попытался отразить.
# решетка в начале строки - отключает действие строки в конфиге, получается типа комментарий
log syslog all;
#router id 192.168.1.5;
protocol device {
scan time 10;
}
debug commands 2;
timeformat route "%F %T";
#здесь поправите на интерфейсы какие необходимы для работы bird c учетом того какой и куда смотрит интерфейс в системе
protocol direct {
interface "eth0"; # Допустим этот интерфейс к провайдеру
interface "eth1"; # Допустим этот интерфейс к физическому порту в ЦОД
# interface "eth2.120"; # это для пирмера если будете использовать VLANы
# interface "eth2.121";
}
protocol kernel {
export all; # Запихнем все маршруты известные bird (в таблице master) в TM linux в т.ч. default
scan time 15;
}
protocol static static1 {
# disabled; # Disable by default
# table testable; # Connect to a non-default table
preference 254; # Default preference of routes
# debug { states, routes, filters, interfaces, events, packets };
# debug all;
route 192.168.200.1.0 via "lo"; # В таблицу с маршрутами master (которая внутри bird) будет воткнут маршрут
}
filter BGP_ISP1_in {
if net = 0.0.0.0/0 then {# Разрешаем получать default route
print "BGP_ISP1 : default route accepted:", net;
accept;
}
reject; # остальные маршруты отбрасываем
};
filter BGP_ISP1_out {
if net = 192.168.200.1.0/24 then { # Разрешаем объявить сеть
accept;
}
reject; #остальные маршруты отбрасываем
};
protocol bgp BGP-ISP1{ # BGP-ISP1 - имя оператора внутри bird
table master; # Таблица с маршрутами внутри bird с которой будет взаимодействовать данный протокол. Вообще master это название по умолчанию в bird если не указывать
router id 192.168.1.5;
# disabled;
description "BGP-ISP1";
local as 50500; # AS Ваша
neighbor W.X.Y.Z as YYYY; # IP провайдера и AS Провайдера
# bfd;
hold time 240;
startup hold time 240;
connect retry time 120;
keepalive time 80; # defaults to hold time / 3
# keepalive time 10; # defaults to hold time / 3
connect delay time 5; # How long do we wait before initial connect
error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
# errors occur, we increase the delay exponentially ...
error forget time 300; # ... until this timeout expires)
# disable after error; # Disable the protocol automatically when an error occurs
next hop self; # Disable next hop processing and always advertise our local address as nexthop
path metric 1; # Prefer routes with shorter paths (like Cisco does)
default bgp_med 0; # MED value we use for comparison when none is defined
# default bgp_local_pref 100; # The same for local preference
source address 192.168.1.5; # What local address we use for the TCP connection
export filter BGP_ISP1_out; # фильтр на объявление маршрутов оператору
import filter BGP_ISP1_in; # фильтр на получение маршрутов от оператора
}
Исходная версия Vlad-76, :
Поднимайте linux, настраивайте сетевые интерфейсы - к оператору и в ЦОД , качайте bird компилите
Собрал конфиг для bird, может с ошибками, тестить надо. Но суть попытался отразить.
# решетка в начале строки - отключает действие строки в конфиге, получается типа комментарий
log syslog all;
#router id 192.168.1.5;
protocol device {
scan time 10;
}
debug commands 2;
timeformat route "%F %T";
#здесь поправите на интерфейсы какие необходимы для работы bird c учетом того какой и куда смотрит интерфейс в системе
protocol direct {
interface "eth0"; # Допустим этот интерфейс к провайдеру
interface "eth1"; # Допустим этот интерфейс к физическому порту в ЦОД
# interface "eth2.120"; # это для пирмера если будете использовать VLANы
# interface "eth2.121";
}
protocol kernel {
export all; # Запихнем все маршруты известные bird (в таблице master) в TM linux в т.ч. default
scan time 15;
}
protocol static static1 {
# disabled; # Disable by default
# table testable; # Connect to a non-default table
preference 254; # Default preference of routes
# debug { states, routes, filters, interfaces, events, packets };
# debug all;
route 192.168.200.1.0 via "lo"; # В таблицу с маршрутами master (которая внутри bird) будет воткнут маршрут
}
filter BGP_ISP1_in {
if net = 0.0.0.0/0 then {# Разрешаем получать default route
print "BGP_ISP1 : default route accepted:", net;
accept;
}
reject; # остальные маршруты отбрасываем
};
filter BGP_ISP1_out {
if net = 192.168.200.1.0/24 then { # Разрешаем объявить сеть
accept;
}
reject; # остальные маршруты отбрасываем
};
protocol bgp BGP-ISP1{ # BGP-ISP1 - имя оператора внутри bird
table master; # Таблица с маршрутами внутри bird с которой будет взаимодействовать данный протокол. Вообще master это название по умолчанию в bird если не указывать
router id 192.168.1.5;
# disabled;
description "BGP-ISP1";
local as 50500; # AS Ваша
neighbor W.X.Y.Z as YYYY; # IP провайдера и AS Провайдера
# bfd;
hold time 240;
startup hold time 240;
connect retry time 120;
keepalive time 80; # defaults to hold time / 3
# keepalive time 10; # defaults to hold time / 3
connect delay time 5; # How long do we wait before initial connect
error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
# errors occur, we increase the delay exponentially ...
error forget time 300; # ... until this timeout expires)
# disable after error; # Disable the protocol automatically when an error occurs
next hop self; # Disable next hop processing and always advertise our local address as nexthop
path metric 1; # Prefer routes with shorter paths (like Cisco does)
default bgp_med 0; # MED value we use for comparison when none is defined
# default bgp_local_pref 100; # The same for local preference
source address 192.168.1.5; # What local address we use for the TCP connection
export filter BGP_ISP1_out; # фильтр на объявление маршрутов оператору
import filter BGP_ISP1_in; # фильтр на получение маршрутов от оператора
}