فرمان pfctl

در بخش اول از این سری مقالات این مطب بیان شد که برای کار با برنامه pf به دو ابزار بیشتر نیاز ندارید. ابزار اول برنامه pfctl و ابزار دوم یک ویرایشگر متنی که البته در راه اندازی و پیکربندی همه سرویس ها به آن نیاز دارید در این بخش دو ویرایش vi و ee مورد بررسی قرار می گیرد. ویرایشگر vi در همه سیستم عامل ها به صورت پیش فرض نصب است، این برنامه به دلیل قدیمی بودن رابط کاربری خوبی ندارد ولی کارآیی و گستردگی بالایی دارد که برای یک مدیر سیستم ابزار خوبی است و آموزش و استفاده از آن الزامی است. ویرایشگر ee به صورت پیش فرض در FreeBSD نصب است و رابط کاربری ساده تری دارد و این برنامه ویرایشگر متنی در OpenBSD از طریق بسته و پورت قابل نصب است.

فرمان pfctl:

بخش اول فرمان های پایه ای:

برای انجام امور مدیریتی، فعال و غیر فعال کردن برنامه pf و کارهای دیگر با برنامه pf به فرمان pfctl نیاز دارید، این فرمان هم دارای سوییچ های متفاوت و متغیرهای متفاوتی است که هر کدام کار خاصی انجام می دهند در ادامه با سوییچ های پرکاربرد این فرمان مدیریتی آشنا می شوید:
برای فعال کردن برنامه pf از pfctl با سویچ e- به صورت زیر استفاده کنید:

pfctl -e# pf enabled

(اگر برنامه از قبل راه اندازی شده باشد به شما پیغامی مبنی بر راه اندازی شدن برنامه اعلام می کند.)

pfctl -e # pfctl: pf already enabled

برای غیر فعال کردن برنامه pf از pfctl با سوییچ d- به صورت زیر استفاده کنید:

#pfctl -d pf disabled

در برخی موارد شما نیاز دارید که تنظیمات جدیدی که در فایل اصلی برنامه ایجاد کردید را اعمال کنید. برای این منظوز شما باید pfctl را با سوییچ f- اجرا کنید و در قسمت بعدی نام و مسیر فایل پیکربندی خود را مشخص کنید. این عمل به صورت زیر انجام می شود:

pfctl -f /etc/pf.conf#

در بعضی از موارد شما نیاز دارید که فایل پیکربندی اصلی برنامه قبل از بارگذاری تجزیه و تحلیل شود از وجود خطاهای موجود، برای این کار لازم است که pfctl را با دو سوییچ nf- و نام فایل مورد نظر در بخش بعدی را وارد کنید تا عمل بارگذاری به صورت مجازی و فقط در حد تجزیه و تحلیل انجام شود. روش اجرا کردن این فرمان در زیر بیان شده است:

pfctl -nf /etc/pf.conf#

بخش دوم فرمان های مانیتورینگ:

یکی از بخش های مدیریتی در هر سیستمی کار دریافت گزارش و نظارت بر عملکرد سیستم است، در برنامه PF این اعمال با استفاده از سوییچ s- و بخش های ترکیبی دیگر در pfctl انجام می شود. در این بخش با فرمان های ترکیبی آن آشنا می شوید:
برای نمایش دادن همه رول های اعمال شده توسط برنامه pf باید از دو سوییچ همزمان sr- در pfctl استفاده کنید، توجه به این نکته ضروری است که سوییچ sr- خلاصه شده s rules- است، شما می توانید از معادل این دو سوییچ استفاده کنید به صورت زیر :

pfctl -s rules#

یا

pfctl -sr#

در بخش مربوط به فایل پیکربندی با قسمت های مختلف موجود در این فایل بیشتر آشنا می شوید. فقط در این قسمت بدانید که بخشی در این فایل وجود دارد به نام table که محل ذخیره کردن متغیرهایی با خصوصیات مشترک است. مثلا یک رنج از آدرس IP، برای مشاهده کردن لیست table ها از pfctl به صورت زیر استفاده کنید:

pfctl -s tables#

برای مشاهده کردن لسیت کاملی از سیستم عامل هایی که برنامه pf می تواند با استفاده از fingerprints آنها را شناسایی کند و شما با استفاده از این قابلیت می توانید رول های برنامه pf را مبتنی بر سیستم عامل های خاصی طراحی کنید از فرمان زیر استفاده کنید:

pfctl -s osfp#

در برنامه pf شما می توانید برای هر ترافیکی که برای شما اولویت ارسال و یا دریافت دارد یک صف تشکیل دهید و برای آن محدودیت پهنای باند تعریف کنید و سایر قابلیت ها، برای مشاهده این صف ها فرمان زیر را اجرا کنید:

pfctl -s queue#

برای مشاهده کردن لیست تمام کارت های شبکه و درایورهای موجودی که در برنامه pf قابل استفاده هستند از فرمان زیر استفاده کنید:

pfctl -s Interfaces#

برای دریافت همه اطلاعات و نمایش آن به صورت جامع از سوییچ all استفاده کنید:

pfctl -s all#