Konfigurimi
Konfigurimi IP
Konfigurimi BIRD
Verifikoni lidhjen BGP
Duke testuar
Përdorimi i prodhimit
Konfigurimi i IPv6
Vultr ju lejon të kombinoni dy nga veçoritë tona (IP-të lundruese dhe BGP) në mënyrë që të arrini disponueshmëri të lartë.
Konfigurimi
Do t'ju duhen dy instanca në të njëjtin vend dhe një IP lundruese. Do t'ju duhet gjithashtu të hapni një biletë duke kërkuar që BGP të konfigurohet në një ASN private për IP-të lundruese. (Mund ta përdorni gjithashtu këtë veçori nëse jeni duke ekzekutuar BGP me ne në një ASN publike)
Do t'ju duhet gjithashtu një demon BGP, ne ju rekomandojmë BIRD. BIRD është zakonisht i disponueshëm nëpërmjet menaxherit të paketave të sistemit tuaj operativ.
Ne do të përdorim 192.0.2.10/32si shembullin tonë IP-në lundruese dhe 198.51.100.99si adresën IP të një prej rasteve tona.
Shënim: Ju nuk duhet të bashkëngjitni IP-në lundruese në ndonjë shembull të veçantë nëpërmjet panelit tuaj të kontrollit. Nëse një IP është bashkangjitur nëpërmjet panelit të kontrollit, disponueshmëria e lartë nuk do të funksionojë siç duhet.
Konfigurimi IP
Ne do të përdorim një ndërfaqe Linux "bedel" për të lidhur adresën IP. Ju mund ta krijoni këtë me komandat e mëposhtme:
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32
Konfirmoni që kjo është konfiguruar siç duhet:
# 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
Konfigurimi BIRD
Më pas, ne do të konfigurojmë BIRD. Këto udhëzime ndryshojnë pak midis sistemeve operative të hostit, shihni shënimet në fund të këtij seksioni.
Krijo një /etc/bird.confskedar:
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>>";
}
Do t'ju duhet të përditësoni YOURASdhe YOURPASSWORDme numrin AS dhe fjalëkalimin BGP të caktuar në llogarinë tuaj. Ky informacion mund të gjendet në skedën BGP të një faqe shembulli në panelin e kontrollit Vultr .
Ky skedar konfigurimi do t'i thotë BIRD të kërkojë ndërfaqen dummy1 dhe të reklamojë çdo IP që gjen në infrastrukturën tonë nëpërmjet BGP. Kjo do të thotë që sapo shembulli juaj të funksionojë, ju do të filloni të merrni trafik dhe nëse ai ndonjëherë rrëzohet, trafiku do të ndalojë.
Konfigurimi i FreeBSD
Nëse po përdorni FreeBSD si host në vend të Linux-it, ka disa dallime.
Kerneli duhet të ripërpilohet për mbështetjen e nënshkrimit TCP MD5. Këto udhëzime janë jashtë objektit të këtij neni. Nëse kerneli juaj BSD nuk mbështet nënshkrimet TCP MD5, do të shihni daljen e mëposhtme në regjistrin e BIRD.
$ 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
Skedari i konfigurimit BIRD ndodhet në /usr/local/etc/bird.confBSD.
Verifikoni lidhjen BGP
Nisni shërbimin BIRD service bird startdhe prisni disa sekonda. Kontrolloni që sesioni BGP është krijuar:
# 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
Nëse gjithçka po funksionon siç duhet, duhet të shihni "Themeluar" pranë gjendjes BGP. Një problem i zakonshëm këtu është të kesh një mur zjarri që bllokon portën BGP (TCP 179). Gjithashtu, nëse ky shembull është vendosur përpara se Vultr të konfigurojë seancën tuaj BGP, do të duhet të riniset përmes panelit të kontrollit përpara se BGP të jetë i disponueshëm. Nëse ende keni probleme, shikoni /var/log/birdpër detaje të mëtejshme.
Duke testuar
Mund të siguroheni që BIRD po reklamon rrugën drejt IP-së tuaj lundruese me sa vijon:
# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32 dev dummy1 [direct1 2015-12-29] * (240)
Për të konfirmuar që kjo po funksionon siç duhet, mund të çaktivizoni ndërfaqen dummy1 (me ip link set dummy1 down), më pas përsërisni show routekomandën. BIRD do të ketë vënë re që ndërfaqja është zhdukur dhe do të tërheqë rrugën.
Përdorimi i prodhimit
Për të siguruar që faqja juaj të mbetet e hapur, do të dëshironit që më shumë se një server të ekzekutojë të njëjtin konfigurim BGP. Nëse ndonjë prej rasteve zbret, trafiku do të ridrejtohej në mënyrë dinamike në një nga rastet e tjera. Nuk ka kufi për numrin e rasteve që mund të ekzekutoni me këtë konfigurim në një vend të caktuar, megjithatë vetëm njëri prej tyre do të jetë aktiv në çdo kohë të caktuar.
Në disa nga vendndodhjet tona, trafiku do të shpërndahet në mënyrë të rastësishme midis çdo rasti që ju keni konfiguruar në këtë mënyrë. Përfundimisht, të gjitha vendndodhjet do të konfigurohen në këtë mënyrë. Nëse dëshironi që një shembull të marrë të gjithë trafikun nëse nuk është jashtë linje, do të dëshironit të përdorni prepends për të drejtuar trafikun.
Për shembull, nëse keni dy raste:
- Instanca A - shembulli kryesor, duhet të marrë të gjithë trafikun normalisht
- Shembulli B - shembulli rezervë, duhet të marrë trafik vetëm nëse Instanca A është në funksion
Për ta arritur këtë, shtoni seksionin e mëposhtëm në konfigurimin tuaj BIRD në shembullin B si më poshtë:
export filter {
bgp_path.prepend(YOURAS);
accept;
};
Kjo do të siguronte që trafiku do të shkojë gjithmonë në Instancën A, përveç rastit kur është i paaftë.
Nëse keni një shembull C, i cili duhet të marrë trafik vetëm kur A dhe B janë në funksion, thjesht mund të shtoni një linjë tjetër 'bgp_path.prepend' për ta arritur këtë.
Konfigurimi i IPv6
Ky proces do të funksionojë gjithashtu me nënrrjetat e rezervuara IPv6, megjithëse do të përdorni "bird6" në vend të "bird" dhe "birdc6" në vend të "birdc".