Konfigurere BGP ved å bruke Quagga på Vultr (CentOS 7)

Vultrs Bring Your IP Space- funksjonalitet gir enestående frihet til å tildele dine egne IP-ressurser til servere på Vultr-skyen. Vi anbefaler generelt å bruke BIRD for å annonsere din IP-plass. Det er noen få solide alternativer til BIRD i tilfelle du ikke kan oppnå noe med BIRD (selv om dette er svært sjeldent) eller du bare ønsker å bruke annen programvare.

På grunn av administrative og tekniske overhead fraråder vi å bruke BIRD og Quagga (eller annen programvare for den saks skyld) i samme infrastruktur og/eller nettverk. Husk at følgende konfigurasjon vil gi deg en SPOF, siden forekomsten som kunngjør ditt overlappende subnett ikke er overflødig. Du bør imidlertid merke deg at Vultr har flere BGP-rutere i hvert rack.

Selv om denne veiledningen er skrevet med CentOS 7 i tankene, og kun testet på denne CentOS-versjonen, vil den mest sannsynlig også fungere på eldre versjoner som CentOS 6. Vi fraråder imidlertid på det sterkeste bruk av utdatert programvare, og vi anbefaler på det sterkeste å oppdatere til en nyere, nyere (og støttet) versjon som CentOS 7.

Det er ingen praktisk grense for antall undernett eller størrelsen deres du kan kunngjøre fra én instans som kjører Quagga (eller en hvilken som helst BGP-ruter for den saks skyld), selv om du i enhver nettverkstopologi bør ha en form for risikospredning. Det betyr at du enten bør lage et redundant oppsett eller kunngjøre forskjellige undernett fra forskjellige servere ved å følge veiledningen nedenfor på flere servere.

For å følge denne veiledningen trenger du:

  • ASN du vil/trenger å bruke;
  • IP-plassen (delnettet) du vil annonsere;
  • BGP aktivert i Vultr-kontoen din

FUGL eller Quagga?

For det første kan det være veldig vanskelig å velge mellom enten BIRD eller Quagga. Begge er velkjente og har vist seg å være svært stabile og robuste for mange brukstilfeller, inkludert høytrafikkmiljøer og infrastrukturer hvor pålitelighet spiller en nøkkelrolle. Hovedforskjellen mellom BIRD og Quagga er at BIRDs konfigurasjon er atskilt fra demonen og merkbar mer rettet mot en kodelignende struktur.

For eksempel, med BIRD, hvis du ønsker å oppnå et failover-oppsett, vil du bruke følgende blokk i bird.confkonfigurasjonsfilen:

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

Som du kan se, ser konfigurasjonen litt ut som en kodeblokk slik den ser ut med et programmeringsspråk. Med Quagga vil du legge til eller endre innstillinger ved å bruke et program i selve daemonen.

Til slutt kommer det mest ned på personlige preferanser, og det er ingen "vinner" eller programvare du bør bruke. Generelt er BIRD lettere å konfigurere på grunn av dens lettlærte konfigurasjonsmåte og støttes bredt av fellesskapet.

Videre, til fordel for Quagga, generelt, i et kjørende produksjonsmiljø, er Quagga lettere å rekonfigurere. Med BIRD må du redigere de riktige konfigurasjonsfilene og la daemonen laste inn innstillingene på nytt. Med Quagga kan du gå inn i skallet, rekonfigurere innstillingene uten for mye ekstra arbeid eller oppstyr. Kontinuiteten spiller en stor rolle her, men i praksis er overheaden minimal. I de fleste infrastrukturer trenger du ikke å rekonfigurere disse innstillingene for mye, så det er sannsynligvis en god idé å vurdere etter andre aspekter av programvaren i stedet for kun denne detaljen.

Akkurat som BIRD, er Quagga krysskompatibel på tvers av flere distribusjoner. Skulle du noen gang ønske å endre distribusjonen(e) som brukes for ruterne, kan du i teorien ganske enkelt flytte over konfigurasjonene dine og ingenting måtte endres eller endres.

I denne veiledningen vil vi beskrive prosessen med å installere og konfigurere Quagga. I tilfelle du vil prøve BIRD også, prøv å følge veiledningen " Konfigurere BGP på Vultr ".

Som nevnt er det noen få gode andre alternativer der ute, men den største delen av disse har noen mangler, som hindrer dem i å bli brukt i et produksjonsmiljø. For eksempel er XORPs BGP-implementering relativt utdatert, noe som generelt sett ikke er en god start for å sette opp en helt ny infrastruktur (selv om BGP-implementeringen er stabil).

Sammenlignet med mange alternativer har BIRD et lavt minneavtrykk og er lite ressurskrevende. På den annen side tar det bare noen få klikk fra Vultr-kontrollpanelet å spinne opp eller oppgradere til en kraftigere Vultr-skyforekomst.

IPv4 og IPv6

Vultr støtter kunngjøring av både IPv4 og IPv6 IP-plass. Quaggas BGP-implementering er relativt oppdatert, noe som gir mulighet til å kunngjøre IPv6-plass også.

Selv om denne veiledningen er rettet mot å annonsere IPv4-plass, kan du bruke Quaggas IPv6-implementering og bruke denne artikkelens instruksjoner. Dette er imidlertid ikke eksplisitt dokumentert, så vennligst se en alternativ kilde for dette.

Viktig notat

For å kunne overleve uten en BGP-ruter for å sende trafikk gjennom, er den beste måten å annonsere IP-plassen din på som følger:

  • Annonser din /24 (eller større) fra en dedikert Quagga-forekomst;
  • Kunngjør individuelle /32-er (eller større) fra forekomstene trafikk skal rutes til dem selv

På denne måten vil du ha ett instansoppsett for å kunngjøre det overlappende subnettet for alle IP-er du bryter inn i individuelle /32-er eller større. Ved å bruke dette designet kan du raskt annonsere IP-er og rute trafikk til de riktige forekomstene.

Naturligvis står du fritt til å eksperimentere med flere tilnærminger til å annonsere din IP-plass etter din smak. I teorien er bruken ubegrenset og kjenner ingen grenser. Merk at Vultrs servere er selvstyrte og vi kan ikke hjelpe deg med eventuelle problemer som kan oppstå. Bortsett fra, kan det ikke skade å bruke en løsning som støttes av Vultr og fellesskapet, så hvis det kan oppstå problemer, kan du raskt finne årsaken.

Trinn 1: Deaktivering av SELinux

Vi anbefaler på det sterkeste å deaktivere SELinux for å forhindre at det stopper Quagga fra å fungere. Vi har en guide for å deaktivere SELinux, vennligst følg den og gå tilbake til denne opplæringen etter at SELinux har blitt deaktivert: Deaktivering av SELinux på CentOS 7 .

Trinn 2: Installere Quagga

Vi kan fortsette ved å installere Quagga ved å bruke yum:

yum install quagga

Hvis du får en feil, spesielt på en nylig distribuert forekomst, prøv:

yum update

Konfigurer systemdslik at Zebra (kjernedemonen) startes automatisk ved oppstart:

systemctl enable zebra

Til slutt, start Zebra:

systemctl start zebra

Vi må gjenta prosessen for BGPd, ​​som følger:

systemctl start bgpd
systemctl enable bgpd

Zebra og BGPd

Quagga består av en rekke demoner som tillater ruting. Siden vi skal bruke BGP, må vi bruke Zebra- og BGPd-deamonene. Zebra og BGPd jobber sammen. Når en av dem slutter å fungere, vil ikke rutene dine annonseres lenger, noe som gjør hele IP-plassen din utilgjengelig.

Quagga støtter flere rutingprotokoller, blant annet OSPF og BGP. Kjernen i topologien til implementeringene deres er Zebra. Zebra er kjernedemonen, som er et lag som tar seg av UNIX-kjernens kommunikasjon (TCP) med Quagga-klienter. På baksiden presenterer Zebra Zserv API, som gjør det mulig for disse rutingsprotokollene å kommunisere rutingoppdateringer. En av implementeringene med Zserv API er BGP.

Standardversjonen som brukes av Quagga for BGP er BGPv4+, som inkluderer adressefamiliestøtte for multicast og IPv6.

Trinn 3: Konfigurering av BGP-ruteren

For å konfigurere BGP-ruteren etter din smak, bruker vi vtyshskallet. Først kopierer du eksempel BGP-konfigurasjonsfilen:

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

Etter at filen er kopiert, skriv inn skallet:

vtysh

I noen eldre Quagga-versjoner kan du finne et oppsett med AS7675. Vi trenger ikke dette siden det bare vil komme i konflikt med oppsettet vårt, så vi må slette det hvis det eksisterer. Sjekk om denne konfigurasjonen finnes i din Quagga-installasjon ved å utføre følgende kommando inne i skallet :

show running-config

Hvis dette returnerer en streng med eller inkludert "router bgp 7675", slett den ved å utføre:

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

Du bør nå skrive inn BGP-informasjonen Vultr har gitt deg.

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

Mest sannsynlig trenger du et passord for å etablere BGP-økten. Skriv inn det:

neighbor NEIGHBORIP password YOURBGPPASSWORD
exit

Til slutt, hvis du er sikker på at du vil skrive disse endringene (gjelder bare hvis du jobber med et produksjonsoppsett), utfør følgende for å la endringene tre i kraft:

write

Sørg for at endringene var vellykkede ved å utføre:

show ip bgp summary

Vi skal nå ha etablert en BGP-økt.

Trinn 4: Annonsering av IP-plassen din

Selv om vi har etablert en BGP-økt, annonserer vi ingen ruter eller IP-adresser ennå, så dette vil ikke ha noen effekt i praksis. Heldigvis er det en relativt enkel prosess å angi IP-plassen for å kunngjøre.

I vtysh, utfør følgende kommandoer for å oppnå dette:

configure terminal
router bgp YOURAS

Du er nå i konfigurasjonen. Sørg for å ha IP-plassen du vil kunngjøre for hånden, og skriv den inn:

network YOURSUBNET/CIDR

Gyldig inndata vil for eksempel være:

network 185.92.220.0/23

Naturligvis vil dette ikke fungere i ditt spesifikke oppsett, da IP-plassen ovenfor eies av Vultr. Bytt denne og alt skal fungere bra.

Avslutt og lagre endringene:

exit
write

Sjekk om prefiksene dine har blitt annonsert:

show ip bgp neighbors NEIGHBORIP advertised-routes

Forsøk å pinge en IP-adresse fra subnettet, og prøv å utføre en traceroute fra utenfor nettverket.

Feilsøking

Feilsøking Quagga er stort sett utenfor rammen av denne artikkelen, men hvis du opplever problemer kan du alltid prøve å stoppe Quagga-forekomsten og prøve å annonsere IP-plassen på nytt via BIRD for å kunne utelukke en rekke mulige årsaker.

Når BGP ikke fungerer riktig på Quagga så vel som BIRD, er det en sjanse for at brannmuren din ikke er riktig konfigurert. Port 179 skal være åpen. På CentOS 7, forsøk å midlertidig deaktivere brannmuren:

systemctl stop firewalld

Hvis du bruker iptables, prøv:

service iptables stop

Prøv deretter å starte BGP-økten på nytt. Hvis den henger på 'Idle', 'Connect' eller 'Active', er det en mulighet for at porten fortsatt er blokkert. Med «Etablisert»-tilstanden har BGP-økten blitt satt opp og annonserte ruter vises.

Quagga er nå installert på serveren din, og skal fungere. I løpet av de første dagene av kunngjøringen av ditt eget IP-område, bør du overvåke funksjonaliteten for å forhindre at hele infrastrukturen din ikke fungerer.

Det avslutter Quagga-opplæringen vår, takk for at du leste. For å lære mer om Vultrs Bring Your IP Space-funksjon, vennligst gå over til BGP-siden .

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer