Configurarea BGP folosind Quagga pe Vultr (CentOS 7)

Funcționalitatea Vultr’s Bring Your IP Space permite o libertate fără precedent în alocarea propriilor resurse IP pe serverele din cloud Vultr. În general, vă recomandăm să folosiți BIRD pentru a anunța spațiul dvs. IP. Există câteva alternative solide la BIRD în cazul în care nu puteți realiza ceva cu BIRD (deși acest lucru este foarte rar) sau doriți pur și simplu să utilizați alt software.

Datorită cheltuielilor administrative și tehnice, ne descurajăm foarte mult utilizarea BIRD și Quagga (sau a oricărui alt software pentru această problemă) în aceeași infrastructură și / sau rețea. Rețineți că următoarea configurație vă va oferi un SPOF, deoarece instanța care vă anunță subnetul care se suprapune nu este redundantă. Trebuie să rețineți, însă, că Vultr are mai multe routere BGP în fiecare rack.

Deși acest ghid a fost scris cu CentOS 7 în minte și testat doar pe această versiune CentOS, cel mai probabil va funcționa și pe versiuni mai vechi, cum ar fi CentOS 6. Cu toate acestea, în mod natural, descurajăm puternic utilizarea software-ului învechit și recomandăm cu încredere să actualizați o versiune mai recentă (și mai acceptată), cum ar fi CentOS 7.

Nu există nicio limită practică la cantitatea de subrețele sau dimensiunea acestora pe care o puteți anunța de la o singură instanță care rulează Quagga (sau orice router BGP pentru acea problemă), deși în orice topologie de rețea ar trebui să aveți un fel de risc de răspândire. Aceasta înseamnă că ar trebui să creați o configurație redundantă sau să anunțați diferite subrețele de pe servere diferite, urmând ghidul de mai jos pe mai multe servere.

Pentru a urma acest ghid, veți avea nevoie de:

  • ASN pe care doriți / trebuie să îl utilizați;
  • Spațiul IP (subrețea) pe care doriți să îl anunțați;
  • BGP activat în contul dvs. Vultr

BIRD sau Quagga?

Pentru început, alegerea între BIRD sau Quagga poate fi foarte grea. Ambele sunt cunoscute și s-au dovedit a fi foarte stabile și solide pentru multe cazuri de utilizare, inclusiv medii cu trafic ridicat și infrastructuri în care fiabilitatea joacă un rol esențial. Principala diferență între BIRD și Quagga este că configurația BIRD este separată de demon și mai vizibilă, orientată mai mult către o structură asemănătoare codului.

De exemplu, cu BIRD, dacă doriți să realizați o configurare de reîncărcare, utilizați următorul bloc în bird.conffișierul de configurare:

export filter {
    bgp_path.prepend(asnumber);
    accept;
};

După cum puteți vedea, configurația arată oarecum ca un bloc de cod așa cum ar apărea cu un limbaj de programare. Cu Quagga, veți adăuga sau modifica setările folosind un program în daemon în sine.

În cele din urmă, acesta se reduce mai ales la preferințele personale și nu există niciun „câștigător” sau software pe care ar trebui să-l utilizați. În general, BIRD este mai ușor de configurat datorită modului său de configurare ușor de învățat și este susținut pe larg de comunitate.

În plus, în favoarea Quagga, în general, într-un mediu de producție în funcțiune, Quagga este mai ușor de reconfigurat. Cu BIRD, ar trebui să editați fișierele de configurare corespunzătoare și să vă reîncărcați setările. Cu Quagga, puteți să introduceți shell-ul său, să reconfigurați setările fără prea multă muncă sau bătaie în plus. Continuitatea joacă un rol important aici, dar în practică, aerul este minim. În majoritatea infrastructurilor, nu va trebui să reconfigurați prea mult aceste setări, așa că este probabil o idee bună să judecați după alte aspecte ale software-ului în locul acestui detaliu.

La fel ca BIRD, Quagga este compatibilă în mai multe distribuții. Dacă doriți vreodată să schimbați distribuția (distribuțiile) utilizate pentru routere, teoretic, puteți pur și simplu să vă deplasați peste configurațiile dvs. și nimic nu ar trebui schimbat sau nu se va schimba.

În acest ghid, vom descrie procesul de instalare și configurare a Quagga. În cazul în care doriți să încercați și BIRD, încercați să urmați ghidul „ Configurarea BGP pe Vultr ”.

Așa cum am menționat, există câteva alte alternative bune, dar cea mai mare parte dintre acestea au unele defecte, oprindu-le să fie folosite într-un mediu de producție. De exemplu, implementarea XORP BGP este relativ depășită, ceea ce, în general, nu este un bun început pentru crearea unei infrastructuri complet noi (deși implementarea sa BGP este stabilă).

Comparativ cu multe alternative, BIRD are o amprentă scăzută de memorie și nu este foarte intensiv în resurse. Pe de altă parte, rotirea sau actualizarea la o instanță cloud mai puternică Vultr nu face decât să facă câteva clicuri de la panoul de control Vultr.

IPv4 și IPv6

Vultr acceptă anunțarea spațiului IP IPv4 și IPv6. Implementarea BGP a Quagga este relativ actualizată, permițând și posibilitatea de a anunța spațiu IPv6.

Deși acest ghid este orientat către anunțarea spațiului IPv4, puteți utiliza implementarea IPv6 a Quagga și puteți folosi instrucțiunile acestui articol. Cu toate acestea, acest lucru nu este documentat explicit, așa că vă rugăm să consultați o sursă alternativă pentru aceasta.

Notă importantă

Pentru a putea supraviețui fără un router BGP pentru a transmite traficul, cel mai bun mod de a anunța spațiul dvs. IP este următorul:

  • Anunță / 24 (sau mai mare) dintr-o instanță dedicată Quagga;
  • Anunțați persoane individuale / 32 (sau mai mari) din cazurile în care traficul ar trebui direcționat către ei înșiși

În acest fel, ați avea o configurație de instanță pentru a anunța subrețeaua suprapusă pentru toate IP-urile pe care le împărțiți în individuale / 32 sau mai mari. Folosind acest design, puteți anunța rapid IP-urile și rutarea traficului către instanțele corecte.

Desigur, sunteți liber să experimentați cu mai multe abordări pentru a vă anunța spațiul IP după bunul plac. Teoretic, utilizarea este nelimitată și nu cunoaște limite. Rețineți că serverele Vultr sunt autogestionate și nu vă putem ajuta cu probleme care ar putea apărea. În afară de aceasta, nu poate strica să folosești o soluție acceptată de Vultr și de comunitate, astfel încât, dacă apar probleme, poți identifica rapid cauza lor.

Pasul 1: Dezactivarea SELinux

Vă recomandăm să dezactivați SELinux pentru a preveni oprirea funcționării Quagga. Avem un ghid pentru dezactivarea SELinux, vă rugăm să-l urmați și să reveniți la acest tutorial după ce SELinux a fost dezactivat: Dezactivare SELinux pe CentOS 7 .

Pasul 2: Instalarea Quagga

Putem continua instalând Quagga folosind yum:

yum install quagga

Dacă primiți o eroare, în special pe o instanță implementată recent, încercați:

yum update

Configurați systemdastfel Zebra (demonul principal) este pornit automat la boot:

systemctl enable zebra

În cele din urmă, începeți Zebra:

systemctl start zebra

Trebuie să repetăm ​​procesul pentru BGPd, ​​după cum urmează:

systemctl start bgpd
systemctl enable bgpd

Zebra și BGPd

Quagga constă dintr-o varietate de demoni care permit rutarea. Deoarece vom folosi BGP, va trebui să folosim demoni Zebra și BGPd. Zebra și BGPd lucrează împreună. Când oricare dintre ele nu mai funcționează, rutele dvs. nu vor mai fi anunțate, făcând efectiv întregul dvs. spațiu IP indisponibil.

Quagga acceptă protocoale de rutare multiple, printre altele OSPF și BGP. Nucleul topologiei implementărilor lor este Zebra. Zebra este demonul principal, care este un strat care are grijă de comunicarea nucleului UNIX (TCP) cu clienții Quagga. Pe backend, Zebra prezintă API-ul Zserv, care permite ca aceste protocoale de rutare să comunice actualizări de rutare. Una dintre implementările cu API-ul Zserv este BGP.

Versiunea implicită folosită de Quagga pentru BGP este BGPv4 +, care include asistența familiei de adrese pentru multicast și IPv6.

Pasul 3: Configurarea routerului BGP

Pentru a configura routerul BGP după bunul plac, vom folosi vtyshshell - ul. Mai întâi, copiați fișierul de configurare exemplificare BGP:

cp /usr/share/doc/quagga-*/bgpd.conf.sample /etc/quagga/bgpd.conf

După ce fișierul a fost copiat, introduceți shell-ul:

vtysh

În unele versiuni mai vechi de Quagga, puteți găsi o configurare cu AS7675. Nu avem nevoie de acest lucru, deoarece va intra în conflict doar cu configurarea noastră, așa că trebuie să o ștergem dacă există. Verificați dacă această configurație există în instalarea dvs. Quagga, executând următoarea comandă în interiorul shell-ului :

show running-config

Dacă aceasta returnează un șir cu sau care include „router bgp 7675”, ștergeți-l executând:

configure terminal
no router bgp 7675
router bgp YOURAS
no auto-summary
no synchronization

Acum ar trebui să introduceți informațiile BGP pe care vultr v-a furnizat-o.

neighbor NEIGHBORIP remote-as VULTRAS
neighbor NEIGHBORIP description "Vultr"

Cel mai probabil, aveți nevoie de o parolă pentru a stabili sesiunea BGP. Introduceți-l:

neighbor NEIGHBORIP password YOURBGPPASSWORD
exit

În cele din urmă, dacă sunteți sigur că doriți să scrieți aceste modificări (aplicabile numai dacă lucrați la o configurație de producție), executați următoarele pentru a permite modificările să aibă efect:

write

Asigurați-vă că modificările au avut succes executând:

show ip bgp summary

Acum ar fi trebuit să stabilim cu succes o sesiune BGP.

Pasul 4: Anunțarea spațiului dvs. IP

Deși am stabilit o sesiune BGP, nu anunțăm încă rute sau adrese IP, astfel încât acest lucru nu va avea niciun efect în practică. Din fericire, setarea spațiului IP pentru anunțare este un proces relativ ușor.

În vtysh, executați următoarele comenzi pentru a realiza acest lucru:

configure terminal
router bgp YOURAS

Acum sunteți în configurație. Asigurați-vă că aveți la îndemână spațiul IP pe care doriți să îl anunțați și introduceți-l:

network YOURSUBNET/CIDR

De exemplu, introducerea validă ar fi:

network 185.92.220.0/23

Desigur, acest lucru nu va funcționa în configurarea dvs. specifică, deoarece spațiul IP de mai sus este deținut de Vultr. Înlocuiți acest lucru și totul ar trebui să funcționeze bine.

Ieșiți și salvați modificările:

exit
write

Verificați dacă prefixele dvs. au fost anunțate cu succes:

show ip bgp neighbors NEIGHBORIP advertised-routes

Încercați să faceți clic pe o adresă IP din subrețea și încercați să efectuați o urmărire din afara rețelei.

Depanare

Depanarea Quagga este în mare parte în afara domeniului de aplicare al acestui articol, dar dacă întâmpinați dificultăți, puteți încerca întotdeauna să opriți instanța Quagga și să încercați din nou să anunțați spațiul IP prin BIRD pentru a putea exclude o serie de cauze posibile.

Atunci când BGP nu funcționează corect atât pe Quagga, cât și pe BIRD, există șansa ca firewall-ul dvs. să nu fie configurat corect. Portul 179 ar trebui să fie deschis. Pe CentOS 7, încercați să dezactivați temporar firewall-ul:

systemctl stop firewalld

Dacă utilizați iptables, încercați:

service iptables stop

Apoi încercați să inițiați din nou sesiunea BGP. Dacă se blochează pe „Idle”, „Connect” sau „Active”, există posibilitatea ca portul să fie blocat. Cu starea „stabilit”, sesiunea BGP a fost configurată cu succes și sunt afișate rutele publicitate.

Quagga a fost instalat acum pe serverul dvs. și ar trebui să funcționeze. În primele zile de la anunțarea propriului dvs. spațiu IP, ar trebui să monitorizați funcționalitatea acesteia pentru a împiedica întreaga infrastructură să nu funcționeze.

Asta încheie tutorialul nostru Quagga, vă mulțumim pentru citit. Pentru a afla mai multe despre funcția Vultr's Bring Your IP Space, vă rugăm să accesați pagina BGP .



Instalare RethinkDB Cluster pe CentOS 7

Instalare RethinkDB Cluster pe CentOS 7

Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b

Cum să compilați Nginx din sursă pe CentOS 7

Cum să compilați Nginx din sursă pe CentOS 7

Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă

Instalarea comunității Odoo 9 pe CentOS 7

Instalarea comunității Odoo 9 pe CentOS 7

Odoo, cunoscută anterior drept OpenERP, este o cunoscută platformă de afaceri ERP open source. Întreprinderile de orice dimensiune pot beneficia de Odoo, datorită licenței sale abundente

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

Folosind un sistem diferit? Couch CMS este un sistem de gestionare a conținutului (CMS) simplu și flexibil, gratuit și deschis, care permite proiectanților web să deseneze

Cum se instalează SonarQube pe CentOS 7

Cum se instalează SonarQube pe CentOS 7

Folosind un sistem diferit? SonarQube este un instrument open source pentru dezvoltarea sistemului de calitate. Este scris în Java și acceptă mai multe baze de date. Oferă

Cum se instalează NextCloud 9 pe CentOS 7

Cum se instalează NextCloud 9 pe CentOS 7

NextCloud, așa cum sugerează și numele său, este o alternativă promițătoare a unei alte soluții de hosting de fișiere open source OwnCloud. În acest articol, vă voi arăta

Instalarea Netdata pe CentOS 7

Instalarea Netdata pe CentOS 7

Folosind un sistem diferit? Netdata este o stea în creștere în domeniul monitorizării în timp real a metricilor sistemului. Comparativ cu alte instrumente de același fel, Netdata:

Cum se instalează Starbound Server pe CentOS 7

Cum se instalează Starbound Server pe CentOS 7

Folosind un sistem diferit? În acest tutorial, voi explica cum să configurați un server Starbound pe CentOS 7. Condiții preliminare Trebuie să dețineți acest joc pe dvs.

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Bine ați venit la un alt tutorial Vultr. Aici, veți învăța cum să instalați și să rulați un server SAMP. Acest ghid a fost scris pentru CentOS 6. Condiții preliminare pe care le veți obține

Instalați Elgg pe CentOS 7

Instalați Elgg pe CentOS 7

Folosind un sistem diferit? Elgg este un motor de rețea socială open source care permite crearea de medii sociale, cum ar fi rețelele sociale din campus

Cum se instalează RStudio Server pe CentOS 7

Cum se instalează RStudio Server pe CentOS 7

RStudio Server este ediția web a RStudio care este o serie de instrumente concepute pentru a facilita munca de codare folosind limbajul de programare R. În ti

Instalarea Bolt CMS pe CentOS 7

Instalarea Bolt CMS pe CentOS 7

Bolt este un CMS open source scris în PHP. Codul sursă Bolts este găzduit pe GitHub. Acest ghid vă va arăta cum instalați Bolt CMS pe un nou CentOS 7 Vult

Cum se instalează Bugzilla 5.0.x pe CentOS 7

Cum se instalează Bugzilla 5.0.x pe CentOS 7

Bugzilla este un sistem gratuit și open source de urmărire a erorilor, care este utilizat pe scară largă de diverși furnizori pentru a-și îmbunătăți continuu softwar-ul

Implementați Kubernetes cu Kubeadm pe CentOS 7

Implementați Kubernetes cu Kubeadm pe CentOS 7

Prezentare generală Acest articol este menit să vă ajute să obțineți un cluster Kubernetes și să funcționeze cu kubeadm în cel mai scurt timp. Acest ghid va implementa două servere, pe

Configurare Sails.js pentru dezvoltare pe CentOS 7

Configurare Sails.js pentru dezvoltare pe CentOS 7

Folosind un sistem diferit? Introducere Sails.js este un cadru MVC pentru Node.js, similar cu Ruby on Rails. Face pentru dezvoltarea aplicațiilor moderne ver

Configurarea unui server Half Life 2 pe CentOS 6

Configurarea unui server Half Life 2 pe CentOS 6

Acest tutorial va acoperi procesul de instalare a unui server de joc Half Life 2 pe CentOS 6 System. Pasul 1: Instalarea condițiilor preliminare Pentru a configura ou

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

Introducere Sistemele Linux sunt livrate cu instrumente de monitorizare în mod implicit, cum ar fi top, df și du care ajută la monitorizarea proceselor și a spațiului pe disc. De multe ori însă, acestea sunt

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe