Если в компаничить доступ только адресами провайдеров через которых сотрудники подключаются.
Эта задача разбивается на две. Во первых, нужен список всех провайдеров. Во вторых, нужны все IP префиксы этих провайдеров.
Выполнен
Для каждого провайдера определите IP‑префиксы, используемые для подключения.
ж
и результат выглядит так
IP A Corporation
ледующая программа коннектится к API https://api.bgpview.io/asn/{asn}/prefixes и возвращает список префиксов
import requests , csv
def get_prefixes_by_asn(asn):
url = f"https://api.bgpview.io/asn/{asn}/prefixes"
res
и результат
AS Number,IPv4 Prefix
19281,9.9.9.0/24
19281,149.112.112.0/24
19281,149.112.149.0/24
19281,199.249.255.0/24
следующая программа создает оъект для Cisco ASA который можно использовать в аксес-листе
import csv
def generate_asa_config(csv_file):
as_groups = {}
# Read the CSV file and group prefixes by AS number
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
for row in reader:
as_number = row['AS Number']
prefix = row['IPv4 Prefix']
if as_number not in as_groups:
as_groups[as_number] = []
# If you want to save it to a file:
with open('asa_config.txt', 'w') as f:
f.write(asa_config)
Cisco ASA объект
object-group network obj_19281
network-object 9.9.9.0/24
network-object 149.112.112.0/24
network-object 149.112.149.0/24
network-object 199.249.255.0/24
!