FUGL eller Quagga?
IPv4 og IPv6
Viktig notat
Feilsøking
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 .