Cách tốt nhất để làm điều này là xác định bảng và tạo quy tắc để chặn máy chủ, trong pf.conf:
table <badhosts> persist
block on fxp0 from <badhosts> to any
Và sau đó tự động thêm / xóa địa chỉ IP khỏi nó:
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T delete 1.2.3.4
Các lệnh 'bảng' khác bao gồm flush(xóa tất cả) replacevà show. Xem man pfctlđể biết thêm.
Nếu bạn muốn một danh sách lâu dài hơn, bạn có thể giữ nó trong một (hoặc nhiều) tệp. Trong pf.conf:
table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on fxp0 from <badhosts> to any
Bạn cũng có thể thêm tên máy chủ thay vì địa chỉ IP. Xem phần "Bảng" của man pf.confvà man pfctl.
Lưu ý : Các ví dụ trên giả định rằng giao diện truy cập internet là fxp0, vui lòng thay đổi theo thiết lập của bạn. Ngoài ra, hãy nhớ rằng các quy tắc trong pf.confđược đánh giá tuần tự và cho blockhoặc passquy tắc quy tắc phù hợp cuối cùng áp dụng. Với quy tắc này
table <badhosts> persist
block on fxp0 from <badhosts> to any
pass inet tcp from 192.168.0.0/24 to any port 80
và sau khi thêm 1.2.3.4 và 192.168.0.10 vào badhostsbảng
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T add 192.168.0.10
tất cả lưu lượng truy cập từ 1.2.3.4 và 192.168.0.10 sẽ bị chặn nhưng máy chủ thứ hai sẽ có thể thực hiện kết nối với cổng 80 của các máy khác vì passquy tắc khớp và ghi đè blockquy tắc.