Beállít
IP konfiguráció
MADÁR konfiguráció
Ellenőrizze a BGP-kapcsolatot
Tesztelés
Gyártás használat
IPv6 beállítása
A Vultr lehetővé teszi két szolgáltatásunk (lebegő IP-címek és BGP) kombinálását a magas rendelkezésre állás elérése érdekében.
Beállít
Két példányra lesz szüksége ugyanazon a helyen, és egy lebegő IP-címre. Ezenkívül meg kell nyitnia egy jegyet, amely kéri a BGP beállítását egy privát ASN-en lebegő IP-címekhez. (Ezt a funkciót akkor is használhatja, ha nyilvános ASN-en futtatja velünk a BGP-t)
Szüksége lesz egy BGP démonra is, a BIRD-et ajánljuk. A BIRD általában elérhető az operációs rendszer csomagkezelőjén keresztül.
192.0.2.10/32Példaként a lebegő IP-t és 198.51.100.99az egyik példányunk IP-címét fogjuk használni .
Megjegyzés: Meg kell nem csatolja a lebegő IP bármely adott esetben keresztül a vezérlőpulton. Ha a központon keresztül IP-cím van csatlakoztatva, a magas rendelkezésre állás nem fog megfelelően működni.
IP konfiguráció
Az IP-címet egy Linux "ál" interfésszel fogjuk használni. Ezt a következő parancsokkal hozhatja létre:
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32
Győződjön meg arról, hogy ez megfelelően lett konfigurálva:
# 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
MADÁR konfiguráció
Ezután konfiguráljuk a BIRD-et. Ezek az utasítások kissé eltérnek az egyes gazdagép operációs rendszereken, lásd a lábjegyzeteket a szakasz alján.
Hozzon létre egy /etc/bird.conffájlt:
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>>";
}
El kell frissítés YOURASés YOURPASSWORDaz AS szám és BGP jelszót a fiókjához társított. Ez az információ a Vultr vezérlőpult egyik példányoldalának BGP lapján található .
Ez a konfigurációs fájl azt fogja mondani a BIRD-nek, hogy keresse meg a dummy1 interfészt, és minden talált IP-címet hirdessen infrastruktúránknak a BGP-n keresztül. Ez azt jelenti, hogy amint a példány fut, elkezdődik a forgalom, és ha valaha is összeomlik, a forgalom leáll.
FreeBSD konfiguráció
Ha Linux helyett FreeBSD-t használsz gazdagépként, van néhány eltérés.
A rendszermagot újra kell fordítani a TCP MD5 aláírás támogatásához. Ezek az utasítások nem tartoznak a cikk hatálya alá. Ha a BSD kernel nem támogatja a TCP MD5 aláírásokat, a következő kimenetet fogja látni a BIRD naplóban.
$ 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
A BIRD konfigurációs fájl /usr/local/etc/bird.confa BSD-n található.
Ellenőrizze a BGP-kapcsolatot
Indítsa el a BIRD szolgáltatást service bird start, és várjon néhány másodpercet. Ellenőrizze, hogy létrejött-e a BGP munkamenet:
# 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
Ha minden megfelelően működik, a BGP állapot mellett a „Létrehozva” feliratot kell látnia. Gyakori probléma itt az, hogy a tűzfal blokkolja a BGP portot (TCP 179). Továbbá, ha ezt a példányt azelőtt telepítették, hogy a Vultr beállította volna a BGP-munkamenetet, akkor újra kell indítani a vezérlőpulton keresztül, mielőtt a BGP elérhető lenne. Ha továbbra is problémái vannak, tekintse meg /var/log/birda további részleteket.
Tesztelés
Győződjön meg arról, hogy a BIRD az Ön lebegő IP-címéhez vezető útvonalat hirdeti a következőkkel:
# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32 dev dummy1 [direct1 2015-12-29] * (240)
Annak ellenőrzésére, hogy ez megfelelően működik, letilthatja a dummy1 felületet (a billentyűvel ip link set dummy1 down), majd ismételje meg a show routeparancsot. A BIRD észre fogja venni, hogy az interfész eltűnt, és visszavonja az útvonalat.
Termelési használat
Annak érdekében, hogy webhelye továbbra is működőképes maradjon, egynél több szervert szeretne ugyanazt a BGP-konfigurációt futtatni. Ha valamelyik példány leáll, a forgalom dinamikusan át lesz irányítva a többi példány valamelyikére. Nincs korlátozva azon példányok száma, amelyeket ezzel a konfigurációval futtathat egy adott helyen, de ezek közül egy adott időpontban csak egy lesz aktív.
Egyes helyeinken a forgalom véletlenszerűen lesz elosztva az így konfigurált példányok között. Végül az összes helyet így konfigurálják. Ha azt szeretné, hogy egyetlen példány kapja meg a teljes forgalmat, kivéve, ha offline állapotban van, érdemes előtagokat használni a forgalom irányítására.
Például, ha két példánya van:
- „A” példány – a fő példánynak normál módon kell fogadnia az összes forgalmat
- B példány – tartalék példány, csak akkor fogadjon forgalmat, ha az A példány nem működik
Ennek eléréséhez adja hozzá a következő szakaszt a BIRD konfigurációjához a B példányon az alábbiak szerint:
export filter {
bgp_path.prepend(YOURAS);
accept;
};
Ez biztosítaná, hogy a forgalom mindig az A-példányhoz menjen, hacsak nem áll le.
Ha van egy C példánya, amely csak akkor fogad forgalmat, ha A és B nem működik, egyszerűen hozzáadhat egy másik „bgp_path.prepend” sort, hogy ezt elérje.
IPv6 beállítása
Ez a folyamat az IPv6 által fenntartott alhálózatokkal is működik, bár a „bird” helyett a „bird6”, a „birdc” helyett a „birdc6” kifejezést kell használni.