[lacnog] ¿Como listar las IPs asignadas a un cierto país?

Facundo Aguirre facundo.aguirre en marandu.com.ar
Lun Mar 16 13:02:02 GMT+3 2020


Buen día, hago un pequeño aporte. Adjunto un script de python que genera
unos prefix-set por país para cargar en algunos IOS XR, para luego
clasificar los prefijos por países con comunidades. Para cargar los
prefix-set a los equipos utiliza expect y con el módulo netaddr se
sumarizan los prefijos para disminuir el tamaño de los prefix-set.

Saludos cordiales,

*Facundo Aguirre*
*Gerencia de redes y sistemas*
*Tel/Fax: +54 376 442-1600 int. 117*
*Cel. 1: +54 9 376 457-9724*
*Cel. 2: +54 9 376 429-9002*
*Rivadavia 1435, Posadas, Misiones*
*www*.*marandu.com.ar* <http://www.marandu.com.ar>


El lun., 16 mar. 2020 a las 12:50, Carlos M. Martinez (<
carlosm3011 en gmail.com>) escribió:

> Hola!
>
> En vista entiendo de acciones que muchos están tomando para rápidamente
> exponer servicios en línea pero que por una u otra razón deben ser
> limitados a un cierto país, me ha llegado por varios lugares la pregunta *“De
> donde saco una lista de las IPs del país XX”*.
>
> Afortunadamente esto es bastante sencillo. LACNIC (y todos los 5 RIRs)
> publicamos diariamente una versión abreviada del estado del registro, una
> especie de “snapshot” de las asignaciones realizadas.
>
> Este snapshot es un archivo separado por pipes que pueden accederlo en
> esta URL:
>
> https://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
>
> Para obtener una lista de prefijos asignados a un país pueden:
>
> A. Hacer un “grep” por código de país y ver a groso modo los prefijos
>
> B. Si necesitan una lista en formato CIDR, deberían implementar un script
> de acuerdo al siguiente pseudocódigo:
>
> 01. for linea in “delegated extended latest”:
> 02. … # asumo que linea es un array numerado desde cero con las columnas del archivo
> 03. … # country code es el codigo ISO 3166-2 (AR, UY, BR, etc.)
> 04. … if linea[1] == “country code” :
> 05. …    if linea[2] == “ipv4”:
> 06. …       prefijo = linea[3]
> 07. …       largo_prefijo = log2(linea[4])
> 08. …       print(prefijo.”/“.largo_prefijo)
> 09. …    elseif linea[2] == “ipv6”
> 10. …       prefijo = linea[3]
> 11. …       largo_prefijo = linea[4]
> 12. …       print(prefijo.”/“.largo_prefijo)
>
> Espero les resulte útil.
>
> S2
>
> Carlos
> _______________________________________________
> LACNOG mailing list
> LACNOG en lacnic.net
> https://mail.lacnic.net/mailman/listinfo/lacnog
> Cancelar suscripcion: https://mail.lacnic.net/mailman/options/lacnog
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://mail.lacnic.net/pipermail/lacnog/attachments/20200316/e01070f5/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: generar_prefix-set.py
Type: text/x-python
Size: 7781 bytes
Desc: no disponible
URL: <https://mail.lacnic.net/pipermail/lacnog/attachments/20200316/e01070f5/attachment.py>


Más información sobre la lista de distribución LACNOG