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 .


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

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.

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.

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.

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