pfBlockerNG - пакет pfSense для фильтрации IP трафика и DNSBL блокировки по готовым фидам с некоторыми дополнительными функциями и обширными возможностями по конфигурированию в целом. И если в предыдущей статье было в деталях расписано устройство и каждая опция, для настройки в целом, то в данной статье будет приведён пример настройки для домашней сети.  Итак, у нас уже есть настроенный pfSense с двумя (для простоты) интерфейсами - WAN и LAN. Заходим на System > Package Manager > Available Packages и выбираем pfBlockerNG-devel (не -devel ветка фактические не поддерживается, не используйте её!). Переходим на Firewall > pfBlockerNG и в появившемся визарде жмём несколько раз next, а затем finish. После откроется страница обновления/перезагрузки pfBlockerNG - тут он скачает дефолтные фиды и применит основные настройки. Дожидаемся окончания процесса (в конце будет строка "UPDATE PROCESS ENDED") и переходим на Firewall > pfBlockerNG > IP. Ставим галочки: De-Duplication, CIDR Aggregation, Suppression, Force Global IP Logging и ASN Reporting в значение "Enabled - ASN entries cached for 1 week". Так мы оптимизируем размер IP таблиц, не позволим приватным адресам попасть в список блокировки (лучше вообще никогда не убирать галочку Suppression) и получим весьма информативные логи. MaxMind GeoIP в нашем случае не обязательна, но можете бесплатно зарегистрироваться на https://www.maxmind.com/en/geolite2/signup и ввести полученный код в MaxMind License Key, чтобы видеть код страны IP адреса в логах/репортах. Оставляем Inbound/Outbound Firewall Rules как есть (WAN+Block и LAN+Reject соответственно) и ставим галочку Kill States - при обновлении IP фидов таблица соединений будет просканирована на наличие IP из списков и, если таковые сессии найдутся, то будут ликвидированы. Осталось только выбрать нужные фиды. По умолчанию уже будет группа фидов PRI1 на странице Firewall > pfBlockerNG > IP > IPv4. Туда входят основные фиды из группы PRI1 -  наиболее качественные, с низкой вероятность false-posive срабатываний. Но после некоторого времени смотрите логи (Firewall > pfBlockerNG > Alerts) - некоторые из этих фидов могут сильно повлиять на работу торрента, точнее могут заблокировать соединения с торрент-трекерами и сидами. Если вы уверены, что соединения с таковыми IP адресами безопасно для вашего торрент-клиента, то можете отключить соответствующие фиды переключив State в состояние OFF. Для IPv6 по умолчанию не будет группы фидов, поэтому следует добавить нужные на Firewall > pfBlockerNG > Feeds. Теперь займёмся блокировкой неугодных доменов - рекламы, трекеров, малвари и фишинга. Идём на Firewall > pfBlockerNG > DNSBL. Делаем следующие настройки - Enable DNSBL, DNSBL Mode = Unbound python mode, DNS Reply Logging, DNSBL Blocking, HSTS mode, CNAME Validation. Если что-то не написано - оставляем как есть. Если в сети используется IPv6, то включаем IPv6 DNSBL. Идём дальше - Web Server Interface = Localhost, Resolver cache (ускорит резолвинг после обновления/перезапуска pfBlockerNG). Ставим галочку у TOP1M и выбираем следующие домены: AERO, COM, NET, INFO, IO, ORG, RU, XN-P1AI (это .РФ). Значение DNSBL IPs List Action ставим в "Alias Deny". Так как DNSBL врят ли будет нам полезен, если браузеры пойдут в обход нашего DNS через DNS-over-HTTPS или DNS-over-TLS, то нам надо заблокировать это дело. На Firewall > pfBlockerNG > DNSBL > DNSBL SafeSearch ставим DoH/DoT Blocking в Enable и выбираем через Ctrl+A все домены списка DoH/DoT Blocking List. По умолчанию выбран только StevenBlack_ADs фид, содержащий не такое уж большое количество рекламных доменов. Поэтому вот моя подборка: Реклама - Adaway, D_Me_ADs, EasyList, EasyList_Russian, Yoyo, Ad_Wars, Anudeep_BL, Fademinds, hostsVN, LanikSJ, PL_Adservers Трекинг - D_Me_Tracking, EasyPrivacy, Fademind_2o7, Frogeye_First, Lightswitch05, Max_MS, Perflyst_Android, Perflyst_FireTV, Perflyst_TV Фишинг - OpenPhish, PhishingArmy Скрытые криптомайнеры - CoinBlocker_All, CoinBlocker_Opt, NoCoin, Prigent_Crypto Малварь - D_Me_Malw, SWC, URLhaus_Mal, Krisk_C19 Но что, если будет обращение к внешнему DNS серверу? Сделаем переадресацию портов - так, чтобы запросы на 53/UDP порт всегда редиректились на pfSense. А запросы  на DNS-over-TLS порт (853/TCP) заблокируем. Идём на Firewall > NAT > Port Forward - Add. И создаём следующее правило:  Interface - LAN Address Family - IPv4 Protocol - TCP/UDP Destination - Invert match + LAN address Destination port range - DNS Redirect target IP - LAN address Redirect target port - DNS Теперь все DNS запросы на внешние DNS сервера будут заворачивать на резолвер pfSense. Если в локальной сети используется IPv6, то создаём такое же правило с Address Family = IPv6. Заблокируем DNS-over-TLS. Идём на Firewall > Rules > LAN - Add rule to top (стрелка вверх) и создаём следующее правило: Action - Reject Interface - LAN Address Family - IPv4+IPv6 Protocol - TCP Source - any Destination - any Destination Port Range - DNS over TLS (853) Осталось запустить процесс обновления на Firewall > pfBlockerNG > Update - Update -> Run и, дождавшись UPDATE PROCESS ENDED, идти проверять интернет. Если открытие какого-то сайта резко прерывается или вы получаете страницу с certificate error (ведь pfBlockerNG не может по-настоящему подменить сертификат сайта), пройдя по которой видите заглушку с сообщением о блокировке: То переходите на Firewall > pfBlockerNG > Reports > Unified и находите нужный домен скорее всего где-то вверху списка в столбце Destination: Если это действительно нужный вам домен, то добавляете его в белый список с помощью иконки "+", если есть сомнения - нажимаете на иконку "i", в открывшемся окне вы сможете проверить репутацию данного домен через различные онлайн-сервисы: Если же какой-то фид даёт слишком частые ложные срабатывания, то прежде чем отключать его целиком попробуйте для него опцию TOP1M Whitelist - она уберёт из него популярные сайты. Аналогично и с заблокированными IP адресами. Важное про IP фиды - если те стали слишком уж большие, вы можете увидеть в логах pfSense "Cannot allocate memory" ошибку, вроде:  Значит под таблицы файрвола (т.е. алиасы) выделено недостаточно памяти. Лечится увеличением Firewall Maximum Table Entries (лучше сразу раза в 2-3) на странице System > Advanced > Firewall & NAT. Ну а посмотреть на красивые репорты с диаграммами можно на Firewall > pfBlockerNG > Reports > IP Blocks Stats / DNSBL Blocks Stats: Ещё про pfBlockerNG: Настройка pfBlockerNG на pfSense (часть 1)