Подесити
ИП конфигурација
БИРД Цонфигуратион
Проверите БГП повезаност
Тестирање
Употреба у производњи
ИПв6 подешавање
Вултр вам омогућава да комбинујете две наше функције (плутајуће ИП адресе и БГП) како бисте постигли високу доступност.
Подесити
Требаће вам две инстанце на истој локацији и плутајућа ИП адреса. Такође ћете морати да отворите тикет са захтевом да се БГП подеси на приватном АСН-у за плутајуће ИП адресе. (Ову функцију можете користити и ако користите БГП са нама на јавном АСН-у)
Требаће вам и БГП демон, препоручујемо БИРД. БИРД је обично доступан преко менаџера пакета вашег оперативног система.
Користићемо 192.0.2.10/32као наш пример плутајућу 198.51.100.99ИП адресу и као ИП адресу једне од наших инстанци.
Напомена: Не би требало да прикачите плутајућу ИП адресу ниједној одређеној инстанци преко контролне табле. Ако је ИП повезан преко контролне табле, висока доступност неће функционисати исправно.
ИП конфигурација
Користићемо Линук "лажни" интерфејс за повезивање ИП адресе. Ово можете креирати помоћу следећих команди:
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32
Потврдите да је ово исправно конфигурисано:
# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
inet 192.0.2.10/32 scope global dummy1
БИРД Цонфигуратион
Затим ћемо конфигурисати БИРД. Ова упутства се незнатно разликују између оперативних система домаћина, погледајте фусноте на дну овог одељка.
Направите /etc/bird.confдатотеку:
log "/var/log/bird" all;
router id 198.51.100.99;
protocol device
{
scan time 60;
}
protocol direct
{
interface "dummy1";
}
protocol bgp vultr
{
local as <<YOURAS>>;
source address 198.51.100.99;
import none;
export all;
graceful restart on;
next hop self;
multihop 2;
neighbor 169.254.169.254 as 64515;
password "<<YOURPASSWORD>>";
}
Мораћете да ажурирате YOURASи YOURPASSWORDса АС бројем и БГП лозинком додељеним вашем налогу. Ове информације се могу наћи на картици БГП на страници инстанце на Вултр контролној табли .
Ова конфигурациона датотека ће рећи БИРД-у да потражи интерфејс думми1 и да рекламира све ИП адресе које пронађе нашој инфраструктури преко БГП-а. То значи да чим ваша инстанца буде покренута, ви ћете почети да примате саобраћај, а ако се икада сруши саобраћај ће престати.
ФрееБСД конфигурација
Ако користите ФрееБСД као хост уместо Линука, постоји неколико разлика.
Кернел треба поново компајлирати за подршку ТЦП МД5 потписа. Ова упутства су ван оквира овог чланка. Ако ваше БСД кернел не подржава ТЦП МД5 потписе, видећете следећи излаз у БИРД дневнику.
$ cat /var/log/bird
2017-12-15 01:35:00 <INFO> Started
2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
Конфигурациони фајл БИРД налази се /usr/local/etc/bird.confна БСД-у.
Проверите БГП повезаност
Покрените услугу БИРД service bird startи сачекајте неколико секунди. Проверите да ли је БГП сесија успостављена:
# birdc show proto all vultr
BIRD 1.5.0 ready.
name proto table state since info
vultr BGP master up 2016-01-15 Established
Preference: 100
Input filter: REJECT
Output filter: ACCEPT
Routes: 0 imported, 1 exported, 0 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 255919581 0 255919581 0 0
Import withdraws: 1905513 0 --- 257825094 0
Export updates: 1 0 0 --- 1
Export withdraws: 0 --- --- --- 0
BGP state: Established
Neighbor address: 169.254.169.254
Neighbor AS: YOURAS
Neighbor ID: x.x.x.x (Host IP)
Neighbor caps: refresh enhanced-refresh restart-able AS4
Session: external multihop AS4
Source address: 198.51.100.99
Hold timer: 184/240
Keepalive timer: 30/80
Ако све ради како треба, требало би да видите „Успостављено“ поред БГП стања. Уобичајени проблем овде је да заштитни зид блокира БГП порт (ТЦП 179). Такође, ако је ова инстанца била распоређена пре него што је Вултр подесио вашу БГП сесију, мораће да се поново покрене преко контролне табле пре него што БГП буде доступан. Ако и даље имате проблема, погледајте /var/log/birdдодатне детаље.
Тестирање
Можете се уверити да БИРД рекламира руту до вашег плутајућег ИП-а на следећи начин:
# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32 dev dummy1 [direct1 2015-12-29] * (240)
Да бисте потврдили да ово ради исправно, можете да онемогућите интерфејс думми1 (са ip link set dummy1 down), а затим поновите show routeкоманду. БИРД ће приметити да је интерфејс нестао и повући ће руту.
Употреба у производњи
Да бисте били сигурни да ваша веб локација остаје отворена, желели бисте више од једног сервера који користи исту БГП конфигурацију. Ако било која од инстанци падне, саобраћај би се динамички преусмерио на једну од других инстанци. Не постоји ограничење броја инстанци које можете покренути са овом конфигурацијом на одређеној локацији, али ће само једна од њих бити активна у било ком тренутку.
На неким од наших локација, саобраћај ће бити распоређен насумично између свих инстанци које сте конфигурисали на овај начин. На крају ће све локације бити конфигурисане на овај начин. Ако желите да једна инстанца добије сав саобраћај осим ако није ван мреже, требало би да користите препендове да бисте управљали саобраћајем.
На пример, ако имате две инстанце:
- Инстанца А - главна инстанца, треба нормално да прима сав саобраћај
- Инстанца Б – резервна инстанца, треба да прима саобраћај само ако инстанца А не ради
Да бисте то постигли, додајте следећи одељак вашој БИРД конфигурацији на инстанци Б на следећи начин:
export filter {
bgp_path.prepend(YOURAS);
accept;
};
Ово би осигурало да ће саобраћај увек ићи на инстанцу А, осим ако није у прекиду.
Ако имате инстанцу Ц, која би требало да прима саобраћај само када А и Б не раде, можете једноставно додати још једну линију 'бгп_патх.препенд' да бисте то постигли.
ИПв6 подешавање
Овај процес ће такође функционисати са ИПв6 резервисаним подмрежама, иако ћете користити „бирд6“ уместо „бирд“ и „бирдц6“ уместо „бирдц“.