BGP sur Equinix Metal
Equinix Metal™ prend en charge le protocole BGP (Border Gateway Protocol) pour la diffusion des routes vers vos serveurs Equinix Metal. Le routage est pris en charge pour la diffusion des adresses IPv4 et IPv6. Ce document présente un aperçu de l'utilisation de BGP sur Equinix Metal.
Étape 1. Activer BGP sur le projet
La première étape consiste à activer BGP sur votre projet, ce qui active les sessions BGP et leur suivi. Lorsque vous activez BGP sur un projet, vous pouvez choisir entre BGP local et BGP global.
BGP local vs BGP global
Le cas d'utilisation principal de Local BGP est la gestion du basculement ou la mobilité des adresses IP entre plusieurs serveurs. Vous choisissez une adresse IP disponible pour votre projet Equinix Metal à annoncer depuis l'un de vos serveurs via BGP. La procédure détaillée de configuration de BGP Local est disponible sur la page Utilisation de Local BGP.
Global BGP permet de diffuser vos propres adresses IP (BYOIP) depuis des sous-réseaux dont vous êtes propriétaire vers Equinix Metal. Cela nécessite un ASN enregistré et un espace d'adressage IP. La procédure détaillée de configuration de Global BGP est disponible sur la page BYOIP Using Global BGP.
Remarque: si vous souhaitez utiliser BYOIP et BGP local, activez BGP global. Si vous sélectionnez BGP global et utilisez un AS public, vous pouvez également utiliser les sessions BGP pour annoncer des adresses IP privées pour le clustering interne avec BGP local.
Étape 2. Lancer une session BGP
Crée des sessions BGP pour les hôtes et les routeurs en amont.
Présentation du routage
Les routeurs Equinix Metal apprendront les itinéraires que vous annoncez et enverront de manière appropriée le trafic vers vos serveurs.
Notez Equinix Metal ne prend pas en charge la diffusion de la table BGP complète auprès des clients ; nos routeurs ne vous renvoient pas les routes. Nous apprenons uniquement les routes que vous annoncez et les transmettons en amont.
Les sessions BGP sont gérées par le réseau de gestion privé IPv4 10.x.x.x. Pour que BGP fonctionne, ce réseau et son adresse IP dédiée doivent exister sur votre serveur.
L'appairage est configuré avec deux routeurs ToR (Top-of-Rack). Pour l'appairage IPv4, les identifiants des routeurs seront les adresses locales 169.254.255.1/32 et 169.254.255.2/32. Pour l'appairage IPv6, les identifiants des routeurs seront les adresses fc00::e/128 et fc00::f/128. Comme ces routeurs ne sont pas directement connectés à l'hôte, il peut être nécessaire de configurer le protocole BGP multihop pour qu'il pointe vers l'adresse de la passerelle IPv4 privée de vos sessions.
Plus important encore, toutes les informations de routage dont vous avez besoin et qui sont spécifiques à votre serveur sont disponibles à partir de le point de terminaison de métadonnées de votre serveur après avoir activé BGP.
Étape 3. Configurer BGP sur l'hôte
La configuration de BGP sur l’hôte annonce les adresses IP et établit les routes BGP.
Pour finaliser la configuration BGP, vous devez d'abord ajouter l'adresse IP à l'interface réseau de votre serveur et configurer un client de routage compatible BGP sur le serveur, tel que BIRD, FRR ou ExaBGP. Ce client de routage contrôlera les annonces d'adresse IP dans la session BGP vers les routeurs en amont d' Equinix Metal.
Mise à jour de l'interface réseau de l'hôte
Ajoutez l'adresse IP que vous annoncez à l'interface de bouclage dans /etc/network/interfaces. L'adresse d'exemple est 198.51.100.2.
cat >>/etc/network/interfaces <<EOF
auto lo:0
iface lo:0 inet static
address 198.51.100.2
netmask 255.255.255.255
EOF
Ensuite, affichez l’interface de bouclage.
ifup lo:0
Métadonnées BGP
Les informations dont vous avez besoin pour configurer BGP sont disponibles via le service de métadonnées d'Equinix Metal (../server-metadata/metadata.md) une fois que BGP a été activé sur le projet et qu'une session BGP a été démarrée.
Connectez-vous au serveur via SSH et curl au point de terminaison des métadonnées.
- IPv4 Sessions
- IPv6 Sessions
curl https://metadata.platformequinix.com/metadata | jq '.bgp_neighbors[0] | { customer_ip: .customer_ip, customer_as: .customer_as, multihop: .multihop, peer_ips: .peer_ips, peer_as: .peer_as }'
En réponse, vous obtenez un objet avec les informations BGP spécifiques à ce serveur pour une session afin d'annoncer les adresses IPv4.
{
"customer_ip": "10.67.50.3",
"customer_as": 65000,
"multihop": true,
"peer_ips": [
"169.254.255.1",
"169.254.255.2"
],
"peer_as": 65530
}
Vous aurez peut-être également besoin d’une adresse IP de passerelle pour une configuration de saut suivant ou de saut multiple pour les routes statiques.
curl https://metadata.platformequinix.com/metadata | jq -r '.network.addresses[] | select(.public == false and .address_family == 4) | { gateway: .gateway }'
En réponse, vous obtenez l’adresse de passerelle IPv4 privée de votre serveur.
{
"gateway": "10.67.50.2"
}
curl https://metadata.platformequinix.com/metadata | jq '.bgp_neighbors[1] | { customer_ip: .customer_ip, customer_as: .customer_as, multihop: .multihop, peer_ips: .peer_ips, peer_as: .peer_as }'
En réponse, vous obtenez un objet avec les informations BGP spécifiques à ce serveur pour une session afin d'annoncer les adresses IPv6.
{
"customer_ip": "2001:DB8:1001:100::5",
"customer_as": 65000,
"multihop": true,
"peer_ips": [
"fc00:0000:0000:0000:0000:0000:0000:000e",
"fc00:0000:0000:0000:0000:0000:0000:000f"
],
"peer_as": 65530
}
Vous aurez peut-être également besoin d’une adresse IP de passerelle pour une configuration de saut suivant ou de saut multiple pour les routes statiques.
curl https://metadata.platformequinix.com/metadata | jq -r '.network.addresses[] | select(.public == false and .address_family == 4) | { gateway: .gateway }'
En réponse, vous obtenez l’adresse de passerelle IPv4 privée de votre serveur.
{
"gateway": "10.67.50.2"
}
"customer_ip"- The management private IPv4 address of the server."customer_as"- The ASN of the session. If you are using Local BGP, the ASN will be the local-to-Equinix-Metal65000. If you are using Global BGP, the ASN will be your ASN."multihop"- If true, then you will need to include a multihop parameter along with static routing information in your BGP configuration."peer_ips"- An array that contains the peering IP addresses of Equinix Metal's upstream routers, these are the neighbors."peer_as"- The local ASN of the neighbor(s). On Equinix Metal, this will always be65530. This AS is stripped on export to our global peering/transit providers."gateway"- Optional information if you need to set up a static route to the upstream routers.
Pour quelques exemples d'utilisation de ces métadonnées, voir Route BGP avec BIRD et Route BGP avec FRR.
Exemple de configuration
- IPv4 Sessions
- IPv6 Sessions
router bgp 65000
bgp router-id 10.66.7.1
neighbor 169.254.255.1 remote-as 65530
neighbor 169.254.255.1 description "Equinix Metal IPv4 BGP Peering"
neighbor 169.254.255.1 timers 5 15
neighbor 169.254.255.1 soft-reconfiguration inbound
neighbor 169.254.255.2 remote-as 65530
neighbor 169.254.255.2 description "Equinix Metal IPv4 BGP Peering"
neighbor 169.254.255.2 timers 5 15
neighbor 169.254.255.2 soft-reconfiguration inbound
!
address-family ipv4
network 147.75.69.232/31
neighbor 169.254.255.1 activate
neighbor 169.254.255.2 activate
exit-address-family
router bgp 65000
bgp router-id 10.66.7.1
neighbor 2604:1380:4091:4f00::1 remote-as 65530
neighbor 2604:1380:4091:4f00::1 description "Equinix Metal IPv6 BGP Peering"
neighbor 2604:1380:4091:4f00::1 timers 5 15
neighbor 2604:1380:4091:4f00::1 soft-reconfiguration inbound
neighbor 2604:1380:4091:4f00::2 remote-as 65530
neighbor 2604:1380:4091:4f00::2 description "Equinix Metal IPv6 BGP Peering"
neighbor 2604:1380:4091:4f00::2 timers 5 15
neighbor 2604:1380:4091:4f00::2 soft-reconfiguration inbound
!
address-family ipv6
network 2604:1380:4091:4f01::/64
neighbor 2604:1380:4091:4f00::1 activate
neighbor 2604:1380:4091:4f00::2 activate
exit-address-family
Limite de préfixe BGP
Equinix Metal applique une limite de préfixes de 10 préfixes par voisin.
Si vous dépassez la limite, vous devrez ouvrir un billet de soutien (ou envoyer un courriel à support@equinixmetal.com) pour réinitialiser la session BGP. Vous pouvez aussi contacter le soutien si vous avez besoin d'augmenter cette limite.