Configurar BGP en Vultr

La función BGP de Vultr le permite traer su propio espacio IP y usarlo en cualquiera de nuestras ubicaciones.

Empezando

Para usar BGP, necesitas:

  • Una instancia de servidor Vultr implementada.
  • Su propio espacio de IP (v4 o v6). Si tiene su propio ASN, puede usarlo o podemos asignarle uno privado.

Si está anunciando un prefijo IPv4, la instancia del servidor debe tener una dirección IPv4 asignada automáticamente por Vultr. Si está anunciando un prefijo IPv6, la instancia del servidor debe tener direcciones IPv4 e IPv6 asignadas automáticamente por Vultr.

Complete el formulario de configuración de BGP para comenzar. Asegúrese de verificar la propiedad de su ASN y subred (es) para evitar demoras.

Una vez que esto se haya configurado en su cuenta, puede continuar con la configuración de BGP.

Configuración BGP

Nota: Si va a configurar una instancia que se implementó antes de configurar BGP en su cuenta, deberá reiniciarla a través del panel de control. BGP no funcionará en ninguna instancia existente hasta que se hayan reiniciado (reiniciar a través de SSH no es suficiente).

Recomendamos usar BIRD como su demonio BGP (pero puede usar cualquier demonio BGP que desee). La mayoría de los sistemas operativos tienen un paquete disponible para esto.

Nuestros ejemplos supondrán lo siguiente:

  • ASN: 64512
  • IP de la instancia :: 203.0.113.123
  • Bloque IPv4: 198.51.100.0/24
  • Contraseña BGP: hunter2

Para confirmar la conectividad, configuremos una sesión BGP sin anunciar ninguna IP. Crea un /etc/bird.confarchivo con el siguiente texto. Tenga en cuenta que en algunos sistemas, como Ubuntu 16.04, esto será /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";
}

Reinicie bird y verifique el estado de la sesión:

[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

Un estado BGP de 'Establecido' significa que todo funciona correctamente. Si no ve un estado de Establecido, aquí hay algunas cosas para probar:

  • ¿Has reiniciado a través del panel de control desde que el soporte configuró BGP en tu cuenta?
  • ¿Se permite el puerto BGP (TCP 179) a través de su firewall?
  • ¿Es correcta su contraseña de BGP? (Esto se puede verificar en su panel de control, cada suscripción tiene una pestaña BGP que enumera los detalles)
  • ¿Estás utilizando la IP principal de tu instancia? (No puede usar otra cosa que no sea la IP principal de una instancia con BGP)

Notas de FreeBSD

La configuración predeterminada de FreeBSD no funcionará con BGP. Para utilizar BGP en FreeBSD, necesitará hacer algunas cosas:

1) Recompile el kernel con estas opciones adicionales habilitadas:

device crypto
options IPSEC
options TCP_SIGNATURE

2) Configure su adaptador de red con una IP estática.

3) Actualice ipsec.conf con la contraseña BGP:

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";

Anunciando rutas

Una vez que tenga una sesión de BGP en funcionamiento, el siguiente paso es comenzar a anunciar algunas rutas. Para que su espacio de direcciones sea visible en Internet, deberá anunciar al menos un / 24 (o / 48 para IPv6).

La forma más fácil de comenzar es agregar una ruta estática a la configuración de BIRD, como:

protocol static
{
    route  198.51.100.0/24 via 203.0.113.123;
}

protocol device
{
    scan time 5;
}

El bloque 'dispositivo de protocolo' le permite a BIRD recopilar información sobre los adaptadores de red conectados a su instancia. Sin ella, sus rutas estáticas no aparecerán.

Vuelva a cargar BIRD, luego verifique que su ruta esté funcionando correctamente:

[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)

En este punto, el tráfico de su subred ahora debería estar fluyendo hacia su instancia. No podrá hacer ping a ninguna IP hasta que estén configuradas dentro de su sistema operativo. Una forma de verificar esto sería usar tcpdump, 'tcpdump -i eth0 -n net 198.51.100.0/24'.

Configurando IPs

Una configuración común que vemos es el uso de direcciones IP individuales en diferentes instancias. Esto es posible, aunque cada instancia necesitaría ejecutar su propio servidor BGP.

Para hacer esto, vamos a anunciar rutas / 32 desde instancias individuales, además de la cobertura / 24. Podríamos hacer esto con rutas estáticas, pero recomendamos usar interfaces ficticias en su lugar. Usaremos 198.51.100.100 como la IP que queremos enrutar.

Configure esto en una interfaz:

# ip link add dev dummy1 type dummy
# ip link set dummy1 up
# ip addr add dev dummy1 198.51.100.100/32

Confirme que esto se configuró correctamente:

# 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

Nota: debe consultar la documentación de su sistema operativo para determinar cómo configurar esta interfaz para que se inicie.

Ahora configuraremos BIRD para buscar cualquier interfaz ficticia y anunciar cualquier IP que encuentre en ellas. Agregue lo siguiente a su configuración de BIRD y vuelva a cargar BIRD:

protocol direct
{
    interface "dummy*";
    import all;
}

Verifique que BIRD esté anunciando la ruta:

[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)

Puede repetir este proceso en otras instancias con otras IP. Lo que sucede es que nuestros enrutadores utilizarán la ruta más específica que tienen para cualquier dirección IP. Cuando hay un / 24 y / 32, el / 32 es la ruta más específica, por lo que cualquier tráfico para esa IP seguirá esa ruta.

Puede tener varias instancias anunciando lo mismo / 32. Esto le daría una alta disponibilidad (si fallara alguna instancia, sus rutas desaparecerían y el tráfico pasaría a la otra instancia).

Nuestras ubicaciones no están vinculadas, por lo que deberá asegurarse de anunciar un / 24 (o IPv6 / 48) desde cada ubicación donde desee utilizar las IP. No puede usar uno / 24 para asignar direcciones IP para múltiples ubicaciones a menos que esté tratando de configurar una red de difusión ilimitada.

Algunas de nuestras ubicaciones admiten ECMP, en cuyo caso el tráfico se distribuirá aleatoriamente entre hasta 8 instancias que anuncien la misma IP. Las ubicaciones que actualmente admiten ECMP son:

  • New Jersey
  • Chicago
  • Dallas
  • Atlanta
  • Tokio
  • Singapur
  • los Angeles
  • Miami
  • Silicon Valley
  • París
  • Londres

Documentos relacionados

Notas

Para BIRD 1.5 y superior, es posible que deba cambiar la routesintaxis de las líneas de:

route  198.51.100.0/24 via 203.0.113.123;

a:

route  198.51.100.0/24 via "203.0.113.123";

** Solución de problemas **

Nuestros sistemas requieren autenticación TCP MD5 para establecer la conexión. Esto significa que no puede probar la conectividad utilizando algo como telnet. En general, sugerimos mirar el tráfico con tcpdump para solucionar problemas de conectividad.

Dejar un comentario

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.