ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
IP y ASN

¿Qué son ROA y RPKI? Cómo crear un ROA para su bloque de IP y verificarlo

5 pasos 12 min de lectura 6 vistas 0
Contenido

RPKI (Resource Public Key Infrastructure, infraestructura de clave pública de recursos) usa certificados para demostrar qué ASN puede anunciar qué prefijo de IP, y un ROA (Route Origin Authorization) es el objeto firmado que declara ese permiso. Cada vez más redes descartan las rutas RPKI inválidas, por lo que un prefijo sin un ROA correcto puede quedar inaccesible desde partes de Internet. Esta guía explica qué son ROA y RPKI, cómo crear un ROA para su bloque de IP en los portales de RIPE, APNIC, ARIN y AFRINIC, cómo elegir la longitud máxima del prefijo y cómo verificarlo con rpki.cloudflare.com y Routinator en Debian/Ubuntu y CentOS/Rocky/AlmaLinux.

Paso 1: Entienda los estados de validación RPKI y compruebe su ROA actual

Los routers comparan las rutas recibidas con los ROA y obtienen uno de tres resultados: Valid (el ASN de origen y la longitud coinciden), Invalid (ASN incorrecto, o más específico que la longitud máxima; muchas redes lo descartan) o NotFound (ningún ROA cubre el prefijo). Compruebe el estado actual mediante la API de RIPEstat:

curl -s "https://stat.ripe.net/data/rpki-validation/data.json?resource=AS64500&prefix=198.51.100.0/24" | grep -o '"status":"[^"]*"'

Paso 2: Enumere los prefijos, el ASN de origen y la longitud máxima del prefijo para el ROA

Reúna todos los prefijos que realmente anuncia y su ASN de origen. La longitud máxima determina qué subprefijos más específicos también permite el ROA. Iguálela a la longitud anunciada y cree ROA separados solo para los prefijos más específicos que realmente anuncie. Una longitud máxima demasiado amplia permite que un atacante falsifique su ASN y secuestre subprefijos.

curl -s "https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS64500" | grep -o '"prefix":"[^"]*"'
birdc show route export upstream1          # BIRD 2
vtysh -c "show bgp ipv4 unicast neighbors 203.0.113.1 advertised-routes"   # FRR
Prefix              Origin ASN   Max Length
198.51.100.0/24     AS64500      24
198.51.100.0/23     AS64500      23     # only if you also announce the /23
2001:db8:100::/48   AS64500      48

Paso 3: Cree el ROA en el portal de su RIR

Solo el titular del recurso (o una cuenta de miembro autorizada por él) puede crear ROA. Los puntos de acceso son aproximadamente los siguientes; siga la interfaz actual de cada RIR:

  • RIPE NCC: LIR Portal → RPKI Dashboard; active el RPKI alojado (hosted RPKI) y cree un ROA.
  • APNIC: MyAPNIC → gestión de recursos / rutas; cree el ROA (puede generarse un objeto route al mismo tiempo).
  • ARIN: ARIN Online → active Hosted RPKI para el recurso y después envíe una solicitud de ROA.
  • AFRINIC: MyAFRINIC → menú RPKI → crear ROA.

Introduzca el prefijo, el ASN de origen y la longitud máxima y guarde; la publicación suele tardar de minutos a una hora. Si las IP son alquiladas a IMIDC, IMIDC es el titular del recurso: abra un ticket con el prefijo, su ASN y la longitud máxima, y crearemos el ROA y, si es necesario, el objeto route en el IRR.

Prefix:      198.51.100.0/24
Origin ASN:  AS64500
Max Length:  24
IRR route object: yes
Si el prefijo todavía lo anuncia un ASN antiguo u otro proveedor, planifique la migración antes de crear el nuevo ROA; de lo contrario, la ruta antigua puede volverse Invalid de inmediato y provocar una caída del servicio. Para bloques sin uso, un ROA con AS0 ayuda a prevenir secuestros.

Paso 4: Verifique el ROA en línea en rpki.cloudflare.com

Abra la vista del validador en rpki.cloudflare.com, introduzca el ASN y el prefijo y verá Valid o Invalid, además de todos los ROA que cubren el prefijo. RIPEstat y bgp.tools también muestran el estado RPKI. También puede repetir el comando del Paso 1 hasta que indique valid.

curl -s "https://stat.ripe.net/data/rpki-validation/data.json?resource=AS64500&prefix=198.51.100.0/24" | grep -o '"status":"[^"]*"'

Paso 5: Valide RPKI localmente con Routinator

Routinator es el validador RPKI de código abierto de NLnet Labs. Puede validar de forma independiente en su servidor o suministrar datos a los routers mediante RTR. Los comandos siguientes lo instalan con la cadena de herramientas de Rust (NLnet Labs también ofrece repositorios de paquetes para Debian/Ubuntu y sistemas basados en RHEL). La primera ejecución sincroniza todo el repositorio RPKI y puede tardar varios minutos.

# Debian / Ubuntu
apt install -y curl build-essential
# CentOS / Rocky / AlmaLinux
dnf install -y curl gcc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
cargo install --locked routinator
routinator validate --asn AS64500 --prefix 198.51.100.0/24
routinator vrps --select-asn AS64500

Preguntas frecuentes

¿Sigo necesitando un objeto route en el IRR si tengo un ROA?

Sí. Muchos proveedores upstream todavía generan sus filtros de prefijos a partir de los datos del IRR, así que mantenga los ROA y los objetos route/route6 vigentes y coherentes.

¿Cuánto tarda un ROA en surtir efecto?

Los RIR suelen publicarlo en menos de una hora, y los validadores se actualizan según su propio calendario, así que cuente con entre decenas de minutos y unas horas.

¿Se puede autorizar un mismo prefijo para varios ASN?

Sí. Cree un ROA por cada ASN, lo cual es útil en configuraciones con varios orígenes o durante una migración.

¿Sigue con problemas? Abra un ticket con el soporte técnico 24/7 de IMIDC.

¿Fue útil la respuesta?

Tutoriales relacionados