Из журналов nginx видно, что IP-адрес делает неприятные вещи.
Как мы можем заблокировать его с помощью pf
команды, а затем навсегда с помощью /etc/pf.log
? Как мы можем заблокировать x.x.x.x/24
для этого IP? Это пример: 1.2.3.4
ОБНОВЛЕНИЕ: нет, похоже, что в OpenBSD нет файла разрешения / запрета в / etc. И AFAIK лучший совет для блокировки неправомерных IP-адресов используют pf.
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
Ответы:
Лучший способ сделать это - определить таблицу и создать правило для блокировки хостов
pf.conf
:А затем динамически добавлять / удалять IP-адреса с него:
Другие команды 'table' включают в себя
flush
(удалить все)replace
иshow
. Смотритеman pfctl
больше.Если вам нужен более постоянный список, вы можете хранить его в одном (или нескольких) файлах. В
pf.conf
:Вы также можете добавить имена хостов вместо IP-адресов. Смотрите раздел «Таблицы»
man pf.conf
иman pfctl
.Примечание . В приведенных выше примерах предполагается, что интерфейс
fxp0
, подключенный к Интернету , изменился в соответствии с настройками. Кроме того, имейте в виду, что правилаpf.conf
оцениваются последовательно, и для нихblock
илиpass
применяется последнее применяемое правило соответствия. С этим набором правили после добавления 1.2.3.4 и 192.168.0.10 в
badhosts
таблицувесь трафик от 1.2.3.4 и 192.168.0.10 будет заблокирован , но второй хозяин будет иметь возможность сделать подключение к порту других машин 80 , потому что
pass
правила матчи и Переопределяютblock
правила.источник
block in from <badhosts>
. Вам не нужно указывать интерфейс илиto any
часть.Из других ответов неясно, нужно ли вам составить реальную таблицу плохих парней, которых вы пытаетесь заблокировать.
Это происходит в файле pf.conf, например, у меня есть два файла badguys, 1 и 2 badguys1 для тех, кто приходит и уходит, а badguys2 для постоянного черного списка.
Так что, если вам нужно добавить ip кого-то, кто создает неудобства в течение определенного периода времени, добавьте его в badguys1.
Теперь в вашем файле pf.conf это есть. В моем примере я использую en1, потому что это мой интерфейс WiFi. Настройте его на любой интерфейс, в который входит ваша сеть.
Теперь вы можете добавить временные адреса в badguys1. (НЕ плохие, это название таблиц)
Хотя он говорит, что 1 таблица создана - он фактически добавляет IP, а не создает новую таблицу. Теперь, если вы посмотрите в badguys1, вы увидите новый IP.
источник
Я получил эту информацию с веб-сайта и простил меня за плохое знание
OpenBSD
, но здесь это идет. Посмотрите на этот URL . В соответствии с этим, он заявляет, что для блокировки IP вы должны:echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
Затем вы перезапустите брандмауэр:
Или добавить без перезапуска тип брандмауэра:
pfctl -t blockedips -T add 111.222.333.444
Теперь, чтобы проверить, был ли он добавлен, наберите:
pfctl -t blockedips -T show
Обновление: возможно, это поможет.
Откройте следующий файл в vi:
vi /etc/pf.conf
Добавьте следующую строку кода:
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
После этого я попытался бы перезапустить брандмауэр и подтвердить блокировку IP, набрав:
источник
pfctl -f /etc/pf.conf
достаточно.man pf.conf
, вы будете удивлены, насколько хороши справочные страницы OpenBSD. Кроме того,pf.conf
файлы должны быть прочитаны целиком (порядок, в котором устанавливаются правила, имеет решающее значение), поэтому копирование и вставка отдельных строк обычно является плохой идеей. Создайте файл иtable
правило (это правильно), но вы либо поделитесь своимpf.conf
файлом целиком, либо вам нужно выяснить подходящееblock
правило и его расположение в файле.ext_if="bge0"
макроса и почему у вас нет правила блокировки, я буду критиковать ваш ответ, потому что он неполный (т.е. не правильный ответ), независимо от того, какие усилия вы в него вложили. Плюс мой комментарий, касающийся HOWTO, был адресован OP, а не вам (извините, я должен был это прояснить).