Vultrs BGP-funksjon lar deg ta med din egen IP-plass og bruke den på alle våre lokasjoner.
Starter
For å bruke BGP trenger du:
- En utplassert Vultr-serverforekomst.
- Din egen IP-plass (enten v4 eller v6). Hvis du har ditt eget ASN, kan du bruke det, eller vi kan tildele et privat.
Hvis du annonserer for et IPv4-prefiks, må serverforekomsten ha en IPv4-adresse automatisk tildelt av Vultr. Hvis du annonserer for et IPv6-prefiks, må serverforekomsten ha både IPv4- og IPv6-adresser automatisk tildelt av Vultr.
Fyll ut BGP-oppsettskjemaet for å begynne. Sørg for at du bekrefter eierskapet til ASN og subnett(er) for å forhindre forsinkelser.
Når dette er konfigurert på kontoen din, kan du fortsette med å konfigurere BGP.
BGP-oppsett
Merk: Hvis du skal konfigurere en forekomst som ble distribuert før BGP ble satt opp på kontoen din, må du starte den på nytt via kontrollpanelet. BGP vil ikke fungere på noen eksisterende forekomster før de har blitt startet på nytt (omstart via SSH er ikke tilstrekkelig).
Vi anbefaler å bruke BIRD som din BGP-demon (men du kan bruke hvilken som helst BGP-demon du vil). De fleste operativsystemer har en pakke tilgjengelig for dette.
Eksemplene våre kommer til å anta følgende:
- ASN: 64512
- Forekomstens IP:: 203.0.113.123
- IPv4-blokkering: 198.51.100.0/24
- BGP-passord: hunter2
For å bekrefte tilkoblingen, la oss sette opp en BGP-økt uten å kunngjøre noen IP-er. Lag en /etc/bird.conffil med følgende tekst. Merk at på noen systemer, for eksempel Ubuntu 16.04, vil dette være /etc/bird/bird.conf.
router id 203.0.113.123;
protocol bgp vultr
{
local as 64512;
source address 203.0.113.123;
import none;
export all;
graceful restart on;
multihop 2;
neighbor 169.254.169.254 as 64515;
password "hunter2";
}
Start bird på nytt, og sjekk statusen til økten:
[root@vultr ~]# birdc show proto all vultr
BIRD 1.4.5 ready.
name proto table state since info
vultr BGP master up 14:11:36 Established
Preference: 100
Input filter: REJECT
Output filter: (unnamed)
Routes: 0 imported, 581634 filtered, 1 exported, 0 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 581674 0 581674 0 0
Import withdraws: 2 0 --- 581675 0
Export updates: 1 0 0 --- 1
Export withdraws: 0 --- --- --- 0
BGP state: Established
Neighbor address: 169.254.169.254
Neighbor AS: 64515
Neighbor ID: 169.254.169.254
Neighbor caps: refresh restart-able AS4
Session: external multihop AS4
Source address: 203.0.113.123
Hold timer: 208/240
Keepalive timer: 57/80
En BGP-tilstand "Etablisert" betyr at alt fungerer som det skal. Hvis du ikke ser statusen Etablert, er her noen ting du kan prøve:
- Har du startet på nytt via kontrollpanelet siden støtte satte opp BGP på kontoen din?
- Er BGP-porten (TCP 179) tillatt gjennom brannmuren din?
- Er BGP-passordet ditt riktig? (Dette kan verifiseres i kontrollpanelet ditt, hvert abonnement har en BGP-fane som viser detaljene)
- Bruker du hoved-IP-en til instansen din? (Du kan ikke bruke noe annet enn hoved-IP-en til en forekomst med BGP)
FreeBSD-notater
Standard FreeBSD-konfigurasjonen vil ikke fungere med BGP. For å faktisk bruke BGP på FreeBSD, må du gjøre et par ting:
1) Kompiler kjernen på nytt med disse tilleggsalternativene aktivert:
device crypto
options IPSEC
options TCP_SIGNATURE
2) Konfigurer nettverksadapteren med en statisk IP.
3) Oppdater ipsec.conf med BGP-passordet:
add 203.0.113.123 169.254.169.254 tcp 0x1000 -A tcp-md5 "hunter2";
add 169.254.169.254 203.0.113.123 tcp 0x1000 -A tcp-md5 "hunter2";
Kunngjøring av ruter
Når du har en fungerende BGP-økt, er neste trinn å begynne å annonsere noen ruter. For at adresseområdet ditt skal være synlig på internett, må du kunngjøre minst en /24 (eller /48 for IPv6).
Den enkleste måten å komme i gang på er å legge til en statisk rute til BIRD-konfigurasjonen, for eksempel:
protocol static
{
route 198.51.100.0/24 via 203.0.113.123;
}
protocol device
{
scan time 5;
}
'Protokollenhet'-blokken lar BIRD samle informasjon om nettverkskortene som er koblet til instansen din. Uten den vil ikke dine statiske ruter vises.
Last inn BIRD på nytt, og kontroller at ruten din fungerer som den skal:
[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24 via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
På dette tidspunktet skal trafikken for subnettverket nå flyte mot forekomsten din. Du vil ikke kunne pinge noen IP-er før de er konfigurert i operativsystemet ditt. En måte å bekrefte dette på er å bruke tcpdump, 'tcpdump -i eth0 -n net 198.51.100.0/24'.
Konfigurering av IP-er
En vanlig konfigurasjon vi ser er å bruke individuelle IP-adresser på forskjellige forekomster. Dette er mulig, selv om hver forekomst må kjøre sin egen BGP-server.
For å gjøre dette kommer vi til å kunngjøre /32 ruter fra individuelle forekomster, i tillegg til dekningen /24. Vi kan gjøre dette med statiske ruter, men vi anbefaler å bruke dummy-grensesnitt i stedet. Vi bruker 198.51.100.100 som IP-en vi ønsker å rute.
Sett dette opp på et grensesnitt:
# ip link add dev dummy1 type dummy
# ip link set dummy1 up
# ip addr add dev dummy1 198.51.100.100/32
Bekreft at dette er riktig konfigurert:
# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
inet 198.51.100.100/32 scope global dummy1
Merk: Du bør konsultere operativsystemets dokumentasjon for å finne ut hvordan du konfigurerer dette grensesnittet til å komme ved oppstart.
Nå skal vi konfigurere BIRD til å skanne etter dummy-grensesnitt og kunngjøre eventuelle IP-er den finner på dem. Legg til følgende til BIRD-konfigurasjonen din, og last BIRD på nytt:
protocol direct
{
interface "dummy*";
import all;
}
Bekreft at BIRD annonserer ruten:
[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24 via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
198.51.100.100/32 dev dummy1 [direct1 14:36:56] * (240)
Du kan gjenta denne prosessen på andre forekomster med andre IP-er. Det som skjer er at ruterne våre vil bruke den mest spesifikke ruten de har for en gitt IP-adresse. Når det er en /24 og /32, er /32 den mest spesifikke ruten, så all trafikk for den IP vil følge den ruten.
Du kan ha flere forekomster som annonserer den samme /32. Dette vil gi deg høy tilgjengelighet (hvis en forekomst mislyktes, ville rutene forsvinne, og trafikken ville falle over til den andre forekomsten).
Stedene våre er ikke koblet sammen, så du må sørge for at du annonserer en /24 (eller IPv6 /48) fra hver plassering der du vil bruke IP-ene. Du kan ikke bruke én /24 til å tilordne IP-er for flere steder med mindre du prøver å sette opp et anycast-nettverk.
Noen av stedene våre støtter ECMP, i så fall vil trafikken fordeles tilfeldig mellom opptil 8 tilfeller som kunngjør samme IP. Stedene som for øyeblikket støtter ECMP er:
- New Jersey
- Chicago
- Dallas
- Atlanta
- Tokyo
- Singapore
- Los Angeles
- Miami
- Silicon Valley
- Paris
- London
Relaterte dokumenter
Notater
For BIRD 1.5 og nyere må du kanskje endre routelinjenes syntaks fra:
route 198.51.100.0/24 via 203.0.113.123;
til:
route 198.51.100.0/24 via "203.0.113.123";
** Feilsøking **
Systemene våre krever TCP MD5-autentisering for å etablere forbindelsen. Dette betyr at du ikke kan teste tilkobling ved å bruke noe som telnet. Vi vil generelt foreslå å se trafikken med tcpdump for å feilsøke tilkoblingsproblemer.