Как я могу динамически определить маску 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 и масках подсети.
В вашем примере вы можете разбить две сети на:
- 210.80.32.0/24
- 210.80.33.0/24
Это переводится как:
- 255.255.255.0
или же:
- 210.80.32.0-254
- 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-адреса в диапазонах, не указанных в исходном сообщении.