MADÁR vagy Quagga?
IPv4 és IPv6
Fontos jegyzet
Hibaelhárítás
A Vultr Bring Your IP Space funkciója példátlan szabadságot tesz lehetővé saját IP-erőforrások hozzárendelésében a Vultr felhőn lévő szerverekhez. Általában a BIRD használatát javasoljuk az IP-terület bejelentésére. Van néhány szilárd alternatívája a BIRD-nek arra az esetre, ha valamit nem tud elérni a BIRD segítségével (bár ez nagyon ritka), vagy egyszerűen más szoftvert szeretne használni.
Az adminisztratív és technikai többletköltségek miatt erősen elutasítjuk a BIRD és a Quagga (vagy bármely más szoftver) használatát ugyanabban az infrastruktúrában és/vagy hálózatban. Ne feledje, hogy a következő konfiguráció SPOF-ot adna, mivel az átfedő alhálózatot bejelentő példány nem redundáns. Megjegyzendő azonban, hogy a Vultr minden rackben több BGP-útválasztót tartalmaz.
Bár ez az útmutató a CentOS 7 szem előtt tartásával készült, és csak ezen a CentOS-verzión tesztelték, valószínűleg a régebbi verziókon, például a CentOS 6-on is működik. Természetesen határozottan nem javasoljuk az elavult szoftverek használatát, és erősen javasoljuk, hogy frissítsen egy újabb, újabb (és támogatott) verzióra, például a CentOS 7-re.
Nincs gyakorlati korlát az alhálózatok számának vagy méretének, amelyet egy Quagga-t (vagy bármilyen BGP-útválasztót) futtató példányból bejelenthet, bár minden hálózati topológiában meg kell valósítani egyfajta kockázatelosztást. Ez azt jelenti, hogy létre kell hoznia egy redundáns beállítást, vagy be kell jelentenie a különböző alhálózatokat a különböző szerverekről az alábbi útmutatót követve több kiszolgálón.
Az útmutató követéséhez a következőkre lesz szüksége:
- A használni kívánt / használni kívánt ASN;
- A bejelenteni kívánt IP-terület (alhálózat);
- A BGP aktiválva van a Vultr-fiókjában
MADÁR vagy Quagga?
Kezdetnek nagyon nehéz lehet választani a BIRD vagy a Quagga között. Mindkettő jól ismert, és nagyon stabilnak és robusztusnak bizonyult számos felhasználási esetben, beleértve a nagy forgalmú környezeteket és infrastruktúrákat, ahol a megbízhatóság kulcsszerepet játszik. A fő különbség a BIRD és a Quagga között az, hogy a BIRD konfigurációja el van választva a démontól, és jobban felismerhető a kódszerű struktúra felé.
Például a BIRD esetén, ha feladatátvételi beállítást szeretne elérni, a következő blokkot kell használnia a bird.confkonfigurációs fájlban:
export filter {
bgp_path.prepend(asnumber);
accept;
};
Amint láthatja, a konfiguráció kissé kódblokknak tűnik, ahogyan egy programozási nyelv esetében is megjelenne. A Quaggával a beállításokat magában a démonban lévő program segítségével hozzáfűzheti vagy módosíthatja.
Végül ez többnyire a személyes preferenciákon múlik, és nincs „győztes” vagy szoftver, amelyet használnia kellene. Általánosságban elmondható, hogy a BIRD könnyebben beállítható a könnyen megtanulható konfigurációs módja miatt, és a közösség széles körben támogatja.
Továbbá, a Quagga javára, általában futó éles környezetben a Quagga könnyebben konfigurálható. A BIRD használatával szerkesztenie kell a megfelelő konfigurációs fájlokat, és a démonnak újra kell töltenie a beállításait. A Quaggával túl sok extra munka és felhajtás nélkül beléphet a héjába, újrakonfigurálhatja a beállításokat. A folytonosság itt nagy szerepet játszik, de a gyakorlatban a rezsi minimális. A legtöbb infrastruktúrában nem kell túlságosan újrakonfigurálnia ezeket a beállításokat, ezért valószínűleg jó ötlet a szoftver egyéb jellemzői alapján ítélni, nem csak ezen részletek alapján.
Csakúgy, mint a BIRD, a Quagga több disztribúció között is keresztkompatibilis. Ha valaha is meg akarná változtatni az útválasztókhoz használt disztribúció(ka)t, elméletileg egyszerűen átléphet a konfigurációkon, és semmit sem kell módosítani, vagy nem fog változni.
Ebben az útmutatóban a Quagga telepítésének és konfigurálásának folyamatát ismertetjük. Ha ki szeretné próbálni a BIRD-et is, kövesse a „ BGP konfigurálása Vultr-on ” útmutatót.
Mint már említettük, van néhány jó alternatíva is, de ezek nagy részének van néhány hibája, ami megakadályozza, hogy éles környezetben használják őket. Például az XORP BGP implementációja viszonylag elavult, ami általában nem jó kezdet egy vadonatúj infrastruktúra létrehozásához (bár a BGP implementációja stabil).
Sok alternatívához képest a BIRD alacsony memóriaigénnyel rendelkezik, és nem túl erőforrásigényes. Másrészről egy erősebb Vultr felhőpéldányra való felpörgetés vagy frissítés csak néhány kattintással történik a Vultr vezérlőpultján.
IPv4 és IPv6
A Vultr támogatja mind az IPv4, mind az IPv6 IP-terület bejelentését. A Quagga BGP megvalósítása viszonylag korszerű, lehetővé téve az IPv6-terület bejelentését is.
Noha ez az útmutató az IPv4-terület bejelentésére irányul, használhatja a Quagga IPv6-megvalósítását, és követheti a cikk utasításait. Ez azonban nincs kifejezetten dokumentálva, ezért kérjük, nézzen meg egy alternatív forrást.
Fontos jegyzet
Annak érdekében, hogy túlélje a forgalmat BGP-router nélkül, az IP-terület bejelentésének legjobb módja a következő:
- Jelentse be /24-ét (vagy nagyobbat) egy dedikált Quagga-példányról;
- Bejelenti, hogy az egyes példányok /32-es (vagy nagyobb) forgalmát magukhoz kell irányítani
Ily módon egy példánybeállítással bejelentheti az átfedő alhálózatot minden egyes /32-es vagy nagyobb IP-címhez. Ezzel a kialakítással gyorsan bejelentheti az IP-címeket, és a forgalmat a megfelelő példányokhoz irányíthatja.
Természetesen szabadon kísérletezhet többféle megközelítéssel annak érdekében, hogy tetszés szerint bejelentse IP-területét. Elméletileg a felhasználás korlátlan és nem ismer határokat. Vegye figyelembe, hogy a Vultr szerverei önállóan kezelhetők, és nem tudunk segíteni az esetlegesen felmerülő problémákban. Emellett nem árt a Vultr és a közösség által támogatott megoldás használata, így ha bármilyen probléma merülne fel, gyorsan meghatározhatja a kiváltó okot.
1. lépés: A SELinux letiltása
Erősen javasoljuk a SELinux letiltását, hogy ne akadályozza meg a Quagga működését. Útmutatónk van a SELinux letiltásához, kérjük, kövesse azt, és térjen vissza ehhez az oktatóanyaghoz a SELinux letiltása után: A SELinux letiltása a CentOS 7 rendszeren .
2. lépés: A Quagga telepítése
Folytathatjuk a Quagga telepítésével yum:
yum install quagga
Ha hibaüzenetet kap, különösen egy újonnan telepített példányon, próbálkozzon:
yum update
Állítsa be, systemdhogy a Zebra (a központi démon) automatikusan elinduljon rendszerindításkor:
systemctl enable zebra
Végül indítsa el a Zebrát:
systemctl start zebra
Meg kell ismételnünk a folyamatot a BGPd esetében a következőképpen:
systemctl start bgpd
systemctl enable bgpd
Zebra és BGPd
A Quagga számos démonból áll, amelyek lehetővé teszik az útválasztást. Mivel a BGP-t fogjuk használni, a Zebra és a BGPd démonokat kell használnunk. A zebra és a BGPd együtt működnek. Ha valamelyik leáll, az útvonalak többé nem lesznek hirdetve, így gyakorlatilag elérhetetlenné válik a teljes IP-terület.
A Quagga többféle útválasztási protokollt támogat, többek között az OSPF-et és a BGP-t. Implementációik topológiájának magja a Zebra. A Zebra a központi démon, amely a UNIX kernel Quagga kliensekkel való kommunikációjáról (TCP) gondoskodó réteg. A Zebra a háttérben a Zserv API-t mutatja be, amely lehetővé teszi, hogy ezek az útválasztási protokollok kommunikálják az útválasztási frissítéseket. Az egyik implementáció a Zserv API-val a BGP.
A Quagga által a BGP-hez használt alapértelmezett verzió a BGPv4+, amely tartalmazza a csoportos küldés és az IPv6 címcsaládjának támogatását.
3. lépés: A BGP útválasztó konfigurálása
A BGP router tetszés szerinti konfigurálásához a vtyshshellt használjuk. Először másolja ki a minta BGP konfigurációs fájlt:
cp /usr/share/doc/quagga-*/bgpd.conf.sample /etc/quagga/bgpd.conf
A fájl másolása után írja be a parancsértelmezőt:
vtysh
Néhány régebbi Quagga-verzióban AS7675-tel is találkozhat. Erre nincs szükségünk, mert csak ütközésbe kerül a mi beállításunkkal, ezért törölnünk kell, ha létezik. Ellenőrizze, hogy ez a konfiguráció létezik-e a Quagga telepítésében a következő parancs végrehajtásával a shellben :
show running-config
Ha ez egy "router bgp 7675" karakterláncot ad vissza, vagy azt tartalmazza, akkor törölje a következő parancs végrehajtásával:
configure terminal
no router bgp 7675
router bgp YOURAS
no auto-summary
no synchronization
Most meg kell adnia a Vultr által biztosított BGP-információkat.
neighbor NEIGHBORIP remote-as VULTRAS
neighbor NEIGHBORIP description "Vultr"
Valószínűleg jelszóra van szüksége a BGP-munkamenet létrehozásához. Írd be:
neighbor NEIGHBORIP password YOURBGPPASSWORD
exit
Végül, ha biztos benne, hogy meg akarja írni ezeket a változtatásokat (csak akkor érvényes, ha éles beállításon dolgozik), hajtsa végre a következőket, hogy a változtatások érvénybe lépjenek:
write
Győződjön meg arról, hogy a módosítások sikeresek voltak, ha végrehajtja:
show ip bgp summary
Sikeresen létre kellett volna hoznunk egy BGP munkamenetet.
4. lépés: Az IP-terület bejelentése
Bár létrehoztunk egy BGP-munkamenetet, még nem közölünk semmilyen útvonalat vagy IP-címet, így ennek a gyakorlatban nem lesz hatása. Szerencsére az IP-terület beállítása a bejelentéshez viszonylag egyszerű folyamat.
A vtyshprogramban hajtsa végre a következő parancsokat ennek eléréséhez:
configure terminal
router bgp YOURAS
Most a konfigurációban van. Győződjön meg arról, hogy kéznél van a bejelenteni kívánt IP-terület, és írja be:
network YOURSUBNET/CIDR
Például az érvényes bevitel a következő lenne:
network 185.92.220.0/23
Természetesen ez nem fog működni az Ön konkrét beállításában, mivel a fenti IP-terület a Vultr tulajdona. Cserélje ki, és mindennek működnie kell.
Lépjen ki és mentse a változtatásokat:
exit
write
Ellenőrizze, hogy az előtagok bejelentése sikeres volt-e:
show ip bgp neighbors NEIGHBORIP advertised-routes
Próbáljon meg pingelni egy IP-címet az alhálózatról, és próbáljon meg nyomkövetési útvonalat végrehajtani a hálózaton kívülről.
Hibaelhárítás
A Quagga hibaelhárítása nagyrészt kívül esik ennek a cikknek a hatókörén, de ha nehézségekbe ütközik, mindig megpróbálhatja leállítani a Quagga-példányt, és megpróbálhatja újra bejelenteni az IP-területet a BIRD-n keresztül, hogy számos lehetséges okot kizárhasson.
Ha a BGP nem működik megfelelően a Quaggán és a BIRD-en, akkor fennáll annak a lehetősége, hogy a tűzfal nincs megfelelően konfigurálva. A 179-es portnak nyitva kell lennie. CentOS 7 rendszeren próbálja meg ideiglenesen letiltani a tűzfalat:
systemctl stop firewalld
Ha iptables-t használ, próbálja meg:
service iptables stop
Ezután próbálja meg újra elindítani a BGP munkamenetet. Ha „tétlen”, „Csatlakozás” vagy „Aktív” állapotban lefagy, előfordulhat, hogy a port továbbra is blokkolva van. Az 'Established' állapotban a BGP munkamenet beállítása sikeresen megtörtént, és megjelennek a hirdetett útvonalak.
A Quagga most telepítve van a szerverére, és működnie kell. A saját IP-területének bejelentésének első néhány napja során figyelnie kell annak működését, hogy megakadályozza, hogy a teljes infrastruktúra ne működjön.
Ezzel véget is ért a Quagga oktatóanyag, köszönöm, hogy elolvasta. Ha többet szeretne megtudni a Vultr Bring Your IP Space funkciójáról, látogasson el a BGP oldalára .