Как я могу динамически определить маску IP для использования для динамических диапазонов?

У меня есть список диапазонов для IP-адресов, которые я хочу заблокировать, диапазоны как 210.80.32.0 в 210.80.63.255

Как я могу динамически определить правильный 210.80.32.0/NUMBER для захвата всего диапазона?

sudo ufw deny 210.80.32.0/???

Я читаю эти диапазоны IP-адресов один раз в месяц из текстовых файлов, чтобы добавить их в правила брандмауэра, я разрываю брандмауэр один раз в месяц и перестраиваю его, чтобы зафиксировать любые изменения в этих диапазонах. В настоящее время я просто делаю lowrange/20 в правиле.

Поэтому мне нужно получить два сетевых значения, разделив строку на. затем сделайте математику, чтобы определить, сколько их есть.. и добавьте правило для каждой сети?

1 ответ

Решение

Вы используете нотацию CDIR здесь. Вы можете прочитать больше о нотации CDIR и масках подсети.

В вашем примере вы можете разбить две сети на:

  1. 210.80.32.0/24
  2. 210.80.33.0/24

Это переводится как:

  • 255.255.255.0

или же:

  1. 210.80.32.0-254
  2. 210.80.33.0-254

Теперь вы должны быть в состоянии выполнить:

sudo ufw deny 210.80.32.0/24 && sudo ufw deny 210.80.33.0/24

Другие примеры


Вы можете заблокировать 210.80.0.0/16, что заблокирует 210.80.0-254.0.254, но это заблокирует IP-адреса в диапазонах, не указанных в исходном сообщении.

Другие вопросы по тегам