PTICA ili Quagga?
IPv4 i IPv6
Važna nota
Rješavanje problema
Vultrova funkcija Bring Your IP Space omogućuje neviđenu slobodu u dodjeli vlastitih IP resursa poslužiteljima u oblaku Vultr. Općenito preporučamo korištenje BIRD-a za najavu vašeg IP prostora. Postoji nekoliko solidnih alternativa BIRD-u u slučaju da ne možete postići nešto s BIRD-om (iako je to vrlo rijetko) ili jednostavno želite koristiti drugi softver.
Zbog administrativnih i tehničkih troškova, jako ne potičemo korištenje BIRD-a i Quagge (ili bilo kojeg drugog softvera u tom slučaju) u istoj infrastrukturi i/ili mreži. Imajte na umu da bi vam sljedeća konfiguracija dala SPOF, budući da instanca koja najavljuje vašu podmrežu koja se preklapa nije suvišna. Međutim, trebali biste imati na umu da Vultr ima više BGP usmjerivača u svakom stalku.
Iako je ovaj vodič napisan imajući na umu CentOS 7 i testiran samo na ovoj verziji CentOS-a, najvjerojatnije će raditi i na starijim verzijama kao što je CentOS 6. Međutim, naravno, snažno ne preporučujemo korištenje zastarjelog softvera i toplo preporučujemo ažuriranje na noviju, noviju (i podržanu) verziju kao što je CentOS 7.
Ne postoji praktično ograničenje za količinu podmreža ili njihovu veličinu koju možete najaviti s jedne instance koja pokreće Quagga (ili bilo kojeg BGP usmjerivača), iako biste u bilo kojoj mrežnoj topologiji trebali imati neku vrstu širenja rizika. To znači da biste trebali stvoriti ili redundantnu postavku ili najaviti različite podmreže s različitih poslužitelja slijedeći donji vodič na više poslužitelja.
Da biste slijedili ovaj vodič, trebat će vam:
- ASN koji želite/trebate koristiti;
- IP prostor (podmreža) koji želite najaviti;
- BGP aktiviran na vašem Vultr računu
PTICA ili Quagga?
Za početak, biranje između BIRD-a ili Quagge može biti vrlo teško. Obje su dobro poznate i pokazale su se vrlo stabilnima i robusnim za mnoge slučajeve upotrebe, uključujući okruženja s velikim prometom i infrastrukturu gdje pouzdanost igra ključnu ulogu. Glavna razlika između BIRD-a i Quagga-e je u tome što je BIRD-ova konfiguracija odvojena od demona i vidljiva je više usmjerena na strukturu nalik kodu.
Na primjer, s BIRD-om, ako želite postići postavku za prelazak s greške, upotrijebili biste sljedeći blok u bird.confkonfiguracijskoj datoteci:
export filter {
bgp_path.prepend(asnumber);
accept;
};
Kao što možete vidjeti, konfiguracija pomalo izgleda kao blok koda kako bi izgledala s programskim jezikom. Uz Quagga, vi biste dodavali ili mijenjali postavke pomoću programa u samom demonu.
Na kraju se uglavnom svodi na osobne preferencije i ne postoji 'pobjednik' ili softver koji biste trebali koristiti. Općenito, BIRD je lakši za postavljanje zbog načina konfiguracije koji se lako uči i široko je podržan od strane zajednice.
Nadalje, u korist Quagge, općenito, u radnom proizvodnom okruženju, Quagga je lakše rekonfigurirati. S BIRD-om, morat ćete urediti odgovarajuće konfiguracijske datoteke i da demon ponovno učita svoje postavke. Uz Quagga, možete unijeti njezinu ljusku, ponovno konfigurirati postavke bez previše dodatnog rada ili buke. Kontinuitet ovdje igra veliku ulogu, ali u praksi su troškovi minimalni. U većini infrastruktura nećete morati previše rekonfigurirati ove postavke, pa je vjerojatno dobra ideja suditi prema drugim aspektima softvera umjesto samo po ovim pojedinostima.
Baš kao i BIRD, Quagga je unakrsno kompatibilan u više distribucija. Ako ikada poželite promijeniti distribuciju(e) koja se koristi za usmjerivače, u teoriji možete jednostavno premjestiti svoje konfiguracije i ništa se ne bi moralo mijenjati ili će se promijeniti.
U ovom vodiču ćemo opisati proces instaliranja i konfiguriranja Quagga. U slučaju da želite isprobati i BIRD, pokušajte slijediti vodič " Konfiguriranje BGP-a na Vultru ".
Kao što je spomenuto, postoji još nekoliko dobrih alternativa, ali najveći dio njih ima neke nedostatke, što ih sprječava da se koriste u proizvodnom okruženju. Na primjer, XORP-ova BGP implementacija je relativno zastarjela što općenito nije dobar početak za postavljanje potpuno nove infrastrukture (iako je njegova BGP implementacija stabilna).
U usporedbi s mnogim alternativama, BIRD ima mali memorijski otisak i nije jako intenzivan resursima. S druge strane, za okretanje ili nadogradnju na snažniju instancu oblaka Vultr potrebno je samo nekoliko klikova na Vultr upravljačkoj ploči.
IPv4 i IPv6
Vultr podržava najavu IPv4 i IPv6 IP prostora. Quaggina BGP implementacija je relativno ažurna, dopuštajući i mogućnost najave IPv6 prostora.
Iako je ovaj vodič usmjeren na najavu IPv4 prostora, možete koristiti Quagginu IPv6 implementaciju i koristiti upute iz ovog članka. Međutim, to nije izričito dokumentirano, stoga se za to obratite na alternativni izvor.
Važna nota
Da biste mogli preživjeti bez BGP usmjerivača za propuštanje prometa, najbolji način da objavite svoj IP prostor je sljedeći:
- Najavite svoj /24 (ili veći) iz namjenske instance Quagge;
- Najavite pojedinačne /32 (ili veće) iz instanci promet bi trebao biti preusmjeren na njih same
Na ovaj način, imali biste jednu postavku instance za najavu podmreže koja se preklapa za sve IP-ove koje razbijete na pojedinačne /32 ili veće. Koristeći ovaj dizajn možete brzo najaviti IP-ove i usmjeriti promet na ispravne instance.
Naravno, slobodno možete eksperimentirati s višestrukim pristupima objavljivanju svog IP prostora po svom ukusu. U teoriji upotreba je neograničena i ne poznaje granice. Imajte na umu da se Vultrovi poslužitelji sami upravljaju i ne možemo vam pomoći s bilo kakvim problemima koji se mogu pojaviti. Osim toga, ne može škoditi korištenje rješenja koje podržava Vultr i zajednica, pa ako se pojave problemi, možete brzo odrediti njihov glavni uzrok.
Korak 1: Onemogućavanje SELinuxa
Toplo preporučujemo da onemogućite SELinux kako biste spriječili da zaustavi Quagga u radu. Imamo vodič za onemogućavanje SELinuxa, slijedite ga i vratite se na ovaj vodič nakon što je SELinux onemogućen: Onemogućavanje SELinuxa na CentOS-u 7 .
Korak 2: Instaliranje Quagga
Možemo nastaviti tako da instaliramo Quagga koristeći yum:
yum install quagga
Ako dobijete pogrešku, osobito na novopostavljenoj instanci, pokušajte:
yum update
Konfigurirajte systemdtako da se Zebra (jezgreni demon) automatski pokreće pri pokretanju:
systemctl enable zebra
Konačno, pokrenite Zebru:
systemctl start zebra
Moramo ponoviti postupak za BGPd, kako slijedi:
systemctl start bgpd
systemctl enable bgpd
Zebra i BGPd
Quagga se sastoji od raznih demona koji omogućuju usmjeravanje. Kako ćemo koristiti BGP, morat ćemo koristiti Zebra i BGPd demone. Zebra i BGPd rade zajedno. Kada bilo koji od njih prestane funkcionirati, vaše rute se više neće oglašavati, čime će cijeli vaš IP prostor biti nedostupan.
Quagga podržava višestruke protokole za usmjeravanje, između ostalih OSPF i BGP. Jezgra topologije njihovih implementacija je Zebra. Zebra je glavni demon, koji je sloj koji brine o komunikaciji UNIX kernela (TCP) s Quagga klijentima. Na pozadinskom dijelu Zebra predstavlja Zserv API, koji omogućuje ovim protokolima usmjeravanja da komuniciraju ažuriranja usmjeravanja. Jedna od implementacija sa Zserv API-jem je BGP.
Zadana verzija koju Quagga koristi za BGP je BGPv4+, što uključuje podršku obitelji adresa za multicast i IPv6.
Korak 3: Konfiguriranje BGP usmjerivača
Kako bismo konfigurirali BGP usmjerivač po svom ukusu, koristit ćemo vtyshljusku. Najprije kopirajte uzorak BGP konfiguracijske datoteke:
cp /usr/share/doc/quagga-*/bgpd.conf.sample /etc/quagga/bgpd.conf
Nakon što je datoteka kopirana, unesite shell:
vtysh
U nekim starijim verzijama Quagge možete pronaći postavku s AS7675. Ovo nam ne treba jer će biti u sukobu samo s našim postavkama, pa ga moramo izbrisati ako postoji. Provjerite postoji li ova konfiguracija u vašoj instalaciji Quagga izvršavanjem sljedeće naredbe unutar ljuske :
show running-config
Ako ovo vrati niz sa ili uključujući "router bgp 7675", izbrišite ga izvođenjem:
configure terminal
no router bgp 7675
router bgp YOURAS
no auto-summary
no synchronization
Sada biste trebali unijeti BGP podatke koje vam je dao Vultr.
neighbor NEIGHBORIP remote-as VULTRAS
neighbor NEIGHBORIP description "Vultr"
Najvjerojatnije vam je potrebna lozinka za uspostavljanje BGP sesije. Unesite ga:
neighbor NEIGHBORIP password YOURBGPPASSWORD
exit
Konačno, ako ste sigurni da želite napisati ove promjene (primjenjivo samo ako radite na proizvodnom postavljanju), izvršite sljedeće kako bi promjene stupile na snagu:
write
Provjerite jesu li promjene bile uspješne tako da izvršite:
show ip bgp summary
Sada smo trebali uspješno uspostaviti BGP sesiju.
Korak 4: Najava vašeg IP prostora
Iako smo uspostavili BGP sesiju, još ne objavljujemo nikakve rute ili IP adrese, tako da to neće imati učinka u praksi. Srećom, postavljanje IP prostora za najavu relativno je jednostavan proces.
U vtysh, izvršite sljedeće naredbe da biste to postigli:
configure terminal
router bgp YOURAS
Sada ste u konfiguraciji. Pobrinite se da imate pri ruci IP prostor koji želite najaviti i unesite ga:
network YOURSUBNET/CIDR
Na primjer, valjani unos bi bio:
network 185.92.220.0/23
Naravno, ovo neće raditi u vašim specifičnim postavkama jer je gornji IP prostor u vlasništvu Vultra. Zamijenite ovo i sve bi trebalo raditi dobro.
Izađite i spremite promjene:
exit
write
Provjerite jesu li vaši prefiksi uspješno objavljeni:
show ip bgp neighbors NEIGHBORIP advertised-routes
Pokušajte pingati IP adresu iz podmreže i pokušajte izvesti traceroute izvan mreže.
Rješavanje problema
Rješavanje problema Quagga uvelike je izvan dosega ovog članka, ali ako naiđete na poteškoće, uvijek možete pokušati zaustaviti svoj Quagga instancu i ponovno pokušati objaviti IP prostor putem BIRD-a kako biste mogli isključiti brojne moguće uzroke.
Kada BGP ne radi ispravno na Quagga kao i na BIRD-u, postoji mogućnost da vaš vatrozid nije ispravno konfiguriran. Luka 179 bi trebala biti otvorena. Na CentOS 7 pokušajte privremeno onemogućiti vatrozid:
systemctl stop firewalld
Ako koristite iptables, pokušajte:
service iptables stop
Zatim pokušajte ponovno pokrenuti BGP sesiju. Ako visi na 'Idle', 'Connect' ili 'Active', postoji mogućnost da je port još uvijek blokiran. Sa stanjem 'Established', BGP sesija je uspješno postavljena i prikazane su oglašene rute.
Quagga je sada instaliran na vaš poslužitelj i trebao bi funkcionirati. Tijekom prvih nekoliko dana objavljivanja vlastitog IP prostora trebali biste pratiti njegovu funkcionalnost kako biste spriječili nefunkcioniranje cijele vaše infrastrukture.
Time je naš Quagga tutorial završen, hvala na čitanju. Da biste saznali više o Vultrovoj značajci Bring Your IP Space, posjetite stranicu BGP .