Назад | Перейти на главную страницу

Linux: ограничение исходящей пропускной способности на основе сети назначения / 24

Я настраиваю систему сканирования для компании Pentest. Коробка имеет большую пропускную способность, и я обеспокоен тем, что тестеры могут непреднамеренно DoS на клиентов. Ограничение исходящей пропускной способности до 10 Мбит / с кажется разумным балансом между скоростью тестирования и предотвращением DoS. Однако несколько тестировщиков будут работать с отдельными клиентами, поэтому мне нужно, чтобы ограничение было 10 Мбит / с КАЖДОГО, а не 10 Мбит / с в сумме.

Разумным приближением к этому идеалу является ограничение трафика на основе адреса назначения / 24. Например, трафик к 1.2.3.4 и 1.2.3.5 будет ограничен одной и той же «корзиной» 10 Мбит / с, потому что они оба находятся в 1.2.3.0/24. Но 2.3.4.5 будет в отдельной корзине 10 Мбит / с.

Как я могу реализовать это в Linux? Я прочитал несколько вводных документов по tc, и, похоже, нам нужно пометить пакеты, чтобы идентифицировать сегменты. Я видел несколько примеров с жестко заданным IP-адресом в конфигурации. Однако я бы хотел сделать это в общем, без необходимости перенастраивать tc каждый раз, когда мы начинаем новый тест.

В вашем случае tc не будет работать, потому что вам нужно будет заранее создать 2 ^ 24 = 16777216 ведер.

Альтернативой является ограничение количества пакетов в секунду в iptables или реализация формирования в вашем программном обеспечении.