Alta disponibilidad en Vultr con IP flotante y BGP

Vultr le permite combinar dos de nuestras funciones (IPs flotantes y BGP) para lograr una alta disponibilidad.

Preparar

Necesitará dos instancias en la misma ubicación y una IP flotante. También deberá abrir un ticket que solicite que BGP se configure en un ASN privado para IP flotantes. (También puede usar esta función si está ejecutando BGP con nosotros en un ASN público)

También necesitarás un demonio BGP, te recomendamos BIRD. BIRD generalmente está disponible a través del administrador de paquetes de su sistema operativo.

Usaremos 192.0.2.10/32como ejemplo la IP flotante y 198.51.100.99la dirección IP de una de nuestras instancias.

Nota: Usted debe no conecte el IP flotante para cada caso particular a través de su panel de control. Si se conecta una IP a través del panel de control, la alta disponibilidad no funcionará correctamente.

Configuracion IP

Vamos a utilizar una interfaz "ficticia" de Linux para vincular la dirección IP. Puede crear esto con los siguientes comandos:

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/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 192.0.2.10/32 scope global dummy1

Configuración de AVES

A continuación, configuraremos BIRD. Estas instrucciones varían ligeramente entre los sistemas operativos host, consulte las notas al pie de página al final de esta sección.

Crea un /etc/bird.confarchivo:

log "/var/log/bird" all;

router id 198.51.100.99;

protocol device
{
    scan time 60;
}

protocol direct
{
    interface "dummy1";
}

protocol bgp vultr
{
    local as <<YOURAS>>;
    source address 198.51.100.99;
    import none;
    export all;
    graceful restart on;
    next hop self;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "<<YOURPASSWORD>>";
}

Deberá actualizar YOURASy YOURPASSWORDcon el número AS y la contraseña BGP asignados a su cuenta. Esta información se puede encontrar en la pestaña BGP de una página de instancia en el panel de control de Vultr .

Este archivo de configuración le indicará a BIRD que busque la interfaz dummy1 y anuncie cualquier IP que encuentre en nuestra infraestructura a través de BGP. Esto significa que tan pronto como se ejecute su instancia, comenzará a recibir tráfico y, si alguna vez se bloquea, el tráfico se detendrá.

Configuración de FreeBSD

Si está utilizando FreeBSD como host en lugar de Linux, existen algunas diferencias.

  1. El núcleo debe ser recompilado para el soporte de firma TCP MD5. Estas instrucciones están fuera del alcance de este artículo. Si su núcleo BSD no admite firmas TCP MD5, verá el siguiente resultado en el registro de BIRD.

    $ cat /var/log/bird
    2017-12-15 01:35:00 <INFO> Started
    2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
    
  2. El archivo de configuración de BIRD se encuentra en /usr/local/etc/bird.confBSD.

Verificar la conectividad BGP

Inicie el servicio BIRD service bird starty espere unos segundos. Verifique que se haya establecido la sesión BGP:

# birdc show proto all vultr
BIRD 1.5.0 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     2016-01-15  Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:      255919581          0  255919581          0          0
    Import withdraws:      1905513          0        ---  257825094          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      YOURAS
    Neighbor ID:      x.x.x.x (Host IP)
    Neighbor caps:    refresh enhanced-refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   198.51.100.99
    Hold timer:       184/240
    Keepalive timer:  30/80

Si todo funciona correctamente, debería ver "Establecido" junto al estado BGP. Un problema común aquí es tener un firewall que bloquea el puerto BGP (TCP 179). Además, si esta instancia se implementó antes de que Vultr configurara su sesión de BGP, deberá reiniciarse a través del panel de control antes de que BGP esté disponible. Si aún tiene problemas, busque /var/log/birdmás detalles.

Pruebas

Puede asegurarse de que BIRD anuncie la ruta a su IP flotante con lo siguiente:

# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32    dev dummy1 [direct1 2015-12-29] * (240)

Para confirmar que esto funciona correctamente, puede deshabilitar la interfaz dummy1 (con ip link set dummy1 down) y luego repetir el show routecomando. BIRD habrá notado que la interfaz ha desaparecido y retirará la ruta.

Uso de la producción

Para garantizar que su sitio permanezca activo, desearía que más de un servidor ejecute la misma configuración BGP. Si alguna de las instancias deja de funcionar, el tráfico se redirigirá dinámicamente a una de las otras instancias. No hay límite para la cantidad de instancias que puede ejecutar con esta configuración en una ubicación en particular, sin embargo, solo una de ellas estará activa en un momento dado.

En algunas de nuestras ubicaciones, el tráfico se distribuirá aleatoriamente entre las instancias que haya configurado de esta manera. Finalmente, todas las ubicaciones se configurarán de esta manera. Si desea que una instancia obtenga todo el tráfico a menos que esté fuera de línea, debería usar prepends para dirigir el tráfico.

Por ejemplo, si tiene dos instancias:

  • Instancia A - instancia principal, debería recibir todo el tráfico normalmente
  • Instancia B: la instancia de respaldo debe recibir tráfico solo si la instancia A está inactiva

Para lograr esto, agregue la siguiente sección a su configuración de BIRD en la instancia B de la siguiente manera:

export filter {
    bgp_path.prepend(YOURAS);
    accept;
};

Esto garantizaría que el tráfico siempre vaya a la Instancia A, a menos que esté inactivo.

Si tiene una instancia C, que solo debería recibir tráfico cuando A y B están inactivos, simplemente puede agregar otra línea 'bgp_path.prepend' para lograr esto.

Configuración de IPv6

Este proceso también funcionará con subredes reservadas de IPv6, aunque usará "bird6" en lugar de "bird" y "birdc6" en lugar de "birdc".

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.