এটি করার সর্বোত্তম উপায় হ'ল একটি টেবিলের সংজ্ঞা দেওয়া এবং হোস্টগুলিকে ব্লক করার জন্য একটি নিয়ম তৈরি করা pf.conf:
table <badhosts> persist
block on fxp0 from <badhosts> to any
এবং তারপরে এটি থেকে আইপি অ্যাড্রেসগুলি গতিশীলভাবে যুক্ত / মুছুন:
$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T delete 1.2.3.4
অন্যান্য 'টেবিল' কমান্ডের অন্তর্ভুক্ত flush(সমস্ত অপসারণ), replaceএবং show। আরও man pfctlজন্য দেখুন।
আপনি যদি আরও স্থায়ী তালিকা চান তবে আপনি এটিকে একটি (বা আরও) ফাইলে রাখতে পারেন। ইন pf.conf:
table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on fxp0 from <badhosts> to any
আপনি আইপি ঠিকানার পরিবর্তে হোস্ট-নেম যুক্ত করতে পারেন। এর "টেবিল" বিভাগে দেখুন man pf.confএবং man pfctl।
দ্রষ্টব্য : উপরের উদাহরণগুলি ধরে নেওয়া হয় যে ইন্টারনেট-মুখী ইন্টারফেসটি রয়েছে fxp0, দয়া করে আপনার সেটআপ অনুযায়ী পরিবর্তন করুন। এছাড়াও, মনে রাখবেন যে বিধিগুলি pf.confক্রমানুসারে মূল্যায়ন করা হয় এবং এটি প্রযোজ্য এটির শেষ মিলের নিয়মের জন্য blockবা passনিয়ম করে। এই নিয়মমাফিক সঙ্গে
table <badhosts> persist
block on fxp0 from <badhosts> to any
pass inet tcp from 192.168.0.0/24 to any port 80
এবং badhostsটেবিলে 1.2.3.4 এবং 192.168.0.10 যুক্ত করার পরে
$ 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 থেকে সমস্ত ট্র্যাফিক ব্লক করা হবে তবে দ্বিতীয় হোস্ট অন্যান্য মেশিনের বন্দরে 80 এর সাথে সংযোগ স্থাপন করতে সক্ষম হবে কারণ passনিয়মটি মেলে এবং blockনিয়মটিকে ওভাররাইড করে ।