BGP для самых маленьких

Статическая и динамическая, протоколы

BGP для самых маленьких

Сообщение freelsd » 09 дек 2009, 16:13

Доброго времени суток. Кто на деле сталкивался с настройкой BGP маршрутизации. Нигде не могу найти решений для конечной а не транзитной системы. Поставлена задача сделать минимальным время простоя на время переезда пачки серверов из одного ДЦ в другой. Купили AS и диапазон адресов. Поставили в каждый из ДЦ по серверу с FreeBSD и quagga.

Планируется следующее: Есть подсеть x.x.x.x, выданная провайдером, есть свои айпишники y.y.y.y. Сначала в I ДЦ аннонсируем своим маршрутизатором сеть y.y.y.y и меняем все адреса серваков в ДНС на y.y.y.y . Пока зона расползется, то да се - через час все серваки пингуются уже по своим айпишникам. Через день в охапку все серваки и бегом в II ДЦ, где стоит такой же маршрутизатор, но в состоянии мёртвый. Приходим, выключаем тот, что в ДЦ I, включаем тот что в ДЦ II - теперь нашу подсеть y.y.y.y аннонсирует маршрутизатор в ДЦ II, так как предыдущий оказался в статусе мёртв. Профит.
--------
Сейчас установлена quagga
/usr/local/etc/quagga]# cat bgpd.conf
Код: Выделить всё
hostname AS*мой_номер_AS*                                   
password pass                                 
enable password pass                         
log file /usr/local/etc/quagga/bgpd.log           
!                                                 
router bgp *номер_нашей_AS*                                   
bgp router-id *адрес моего сервера, выданный провайдером*                       
bgp log-neighbor-changes                           
no synchronization                                 
network *аннонсируемая_сеть*/19                             
neighbor *адрес_сервера провайдера* remote-as *номер_AS_провайдера*               
neighbor *адрес_сервера провайдера* description #Provider#         
neighbor *адрес_сервера провайдера* next-hop-self               
neighbor *адрес_сервера провайдера* route-map #Provider#-in in     
neighbor *адрес_сервера провайдера* route-map #Provider#-out out   
!                                                 
ip prefix-list bogons description bogus nets       
ip prefix-list bogons seq 15 permit 0.0.0.0/8 le 32
ip prefix-list bogons seq 20 permit 127.0.0.0/8 le 32
ip prefix-list bogons seq 30 permit 10.0.0.0/8 le 32
ip prefix-list bogons seq 35 permit 172.16.0.0/12 le 32
ip prefix-list bogons seq 40 permit 192.168.0.0/16 le 32
ip prefix-list bogons seq 45 permit 169.254.0.0/16 le 32
ip prefix-list bogons seq 50 permit 224.0.0.0/4 le 32 
ip prefix-list bogons seq 55 permit 240.0.0.0/4 le 32 
ip prefix-list default description default route       
ip prefix-list default seq 10 permit 0.0.0.0/0         
ip prefix-list our-CIDR-blocks seq 5 permit *аннонсируемая_сеть*/19 le 32
ip prefix-list upstream-out seq 10 permit *аннонсируемая_сеть*/19       
!                                                             
ip as-path access-list 1 permit _6451[2-9]_                   
ip as-path access-list 1 permit _645[2-9][0-9]_
ip as-path access-list 1 permit _64[6-9][0-9][0-9]_
ip as-path access-list 1 permit _65[0-9][0-9][0-9]_
!
route-map #Provider#-in deny 100
match as-path 1
!
route-map #Provider#-in deny 110
match ip address prefix-list bogons
!
route-map #Provider#-in deny 115
match ip address prefix-list default
!
route-map #Provider#-in deny 120
match ip address prefix-list our-CIDR-blocks
!
route-map #Provider#-in permit 200
set local-preference 100
!
route-map #Provider#-out permit 100
match ip address prefix-list upstream-out
!
route-map #Provider#-out deny 200
!
line vty
!
freelsd
проходил мимо
 
Сообщения: 1
Зарегистрирован: 09 дек 2009, 16:12

Re: BGP для самых маленьких

Сообщение root » 09 дек 2009, 17:34

насколько я понял:
1. сервера будут физически перемещаться
2. в момент переноса серверов сервис все равно не будет работать

посему:
а) полностью переезжай на свои IP из подсети y.y.y.y

когда все будет работать тока на твоих ипах в ДЦ I приступаем к след. пункту:
б) когда сервера вырубят и начнут перевозить выключаешь роутер в ДЦ I и включаешь роутер в ДЦ II и если роутер ДЦ II может достучаться до прова и установить BGP сессию, то все будет ровно и твой подсеть y.y.y.y будет и дальше анонсироваться и когда ты смонтируешь свои сервера в ДЦ II все будет работать.

Вообщем я проблем не вижу.

freelsd писал(а):Поставлена задача сделать минимальным время

и эту задачу уже должны будут выполнять те что переносят сервера физически :) чем быстрее перенесут, тем быстрее заработает сервис для клиента

твой bgpd.conf похож на правду и все должно заработать
можно еще добавить:
Код: Выделить всё
neighbor *адрес_сервера провайдера* soft-reconfiguration inbound

что бы можно было софтово ресетить сессию

ну и стартовать quagga с ключами:
Код: Выделить всё
 cat /etc/rc.conf | grep qua

quagga_enable="YES"
quagga_flags="-d -A 127.0.0.1"
quagga_daemons="zebra bgpd"


чтобы кроме localhost никто не мог к нем цепануться telnet`ом ;)

З.Ы. ну и если на ДЦ I и ДЦ II провы разные (те к которым ты устанавливаешь BGP сессию), то не забудь заранее поправить инфу по своей AS`ке в БД RIPE (import/export)
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: BGP для самых маленьких

Сообщение zaikini » 10 дек 2009, 11:11

Можно сэкономить в вашей схеме несколько минут. Роутер в ДЦ2 не обязательно отключать, можно переговорить с провайдером чтобы этот канал работал как резервный, т.е. при исчезновении ваших анонсов от других провайдеров этот канал начнет работать. Когда вы выключите оборудование в ДЦ1, ваша сеть будет анонсироваться из ДЦ2, пока доедите уже все будут знать где ваша сеть. Другой вариант если вы укажите схему вашей адресации и размещение сервисов по серверам, можно подумать о плавном переезде из ДЦ1 в ДЦ2.
Аватара пользователя
zaikini
новичок
 
Сообщения: 50
Зарегистрирован: 15 май 2009, 11:32

Re: BGP для самых маленьких

Сообщение root » 11 дек 2009, 10:37

zaikini писал(а):Можно сэкономить в вашей схеме несколько минут

можно :)
но тока смысл если сервера будут физически переносить :) за две минуты они явно не успеют этого сделать.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia


Вернуться в Маршрутизация / Routing

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

cron