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) replace
ve içerir show
. Daha fazlası man pfctl
iç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.conf
ve man pfctl
.
Not : Yukarıdaki örneklerde, internete dönük arayüzün fxp0
kurulumunuza göre değiştiği varsayılmaktadır . Ayrıca, içindeki kuralların pf.conf
sırayla değerlendirildiğini ve geçerli olan son eşleme kuralını dikkate aldığını block
veya pass
kurallara 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 badhosts
masaya 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 pass
kural maçları ve geçersiz kılar block
kuralı.