Bunu yapmanın en iyi yolu, bir tablo tanımlamak ve ana bilgisayarları engellemek için bir kural oluşturmaktır pf.conf:
table <badhosts> persist
block on fxp0 from <badhosts> to any
Ardından dinamik olarak IP adresleri ekleyin / silin:
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T delete 1.2.3.4
Diğer 'tablo' komutları flush(tümünü kaldır) replaceve içerir show. Daha fazlası man pfctliçin bakınız .
Daha kalıcı bir liste istiyorsanız listeyi bir (veya daha fazla) dosyada saklayabilirsiniz. İçinde pf.conf:
table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on fxp0 from <badhosts> to any
IP adresleri yerine ana makine adları da ekleyebilirsiniz. Arasında "Tablolar" bölümüne bakın man pf.confve man pfctl.
Not : Yukarıdaki örneklerde, internete dönük arayüzün fxp0kurulumunuza göre değiştiği varsayılmaktadır . Ayrıca, içindeki kuralların pf.confsırayla değerlendirildiğini ve geçerli olan son eşleme kuralını dikkate aldığını blockveya passkurallara uyduğunu unutmayın. Bu kural seti ile
table <badhosts> persist
block on fxp0 from <badhosts> to any
pass inet tcp from 192.168.0.0/24 to any port 80
ve badhostsmasaya 1.2.3.4 ve 192.168.0.10 ekledikten sonra
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T add 192.168.0.10
1.2.3.4 192.168.0.10'daki gelen tüm trafik engellenir, ancak ikinci ana bilgisayar olacak diğer makinelerin limanına 80 çünkü bağlantı yapabilmek passkural maçları ve geçersiz kılar blockkuralı.