Pfsense چیست؟
دوره آموزشی PFsense (بخش اول معرفی PFsense)
فهرست محتوا
بعد از طی کردن این دوره که بسیار هم سخت بود با خودم فکر کردم که چرا دیگرانی که دوست دارو با این سیستمعامل کار کنه باید سختی بکشن این شد به فکر ترجمه فصلبهفصل کتاب اصلی سایت FreeBSD افتادم که البته باید به گم دوره من سایت و شبکه اجتماعی و این چیزها نبود و برای انتشار کتابم رفتم سراغ انتشاراتی که البته به دلیل گرون بودن هیچوقت این کار رو نکردم چون من جون بودم و پولی نداشتم که هزینه کنم. اما الآن اوضاع من فرق می کنه من در سه سایت مختلف هر بار از اول شروع کردم به نوشتن مطلب فارسی در این زمینه و بار آخرش هم در سایت خودم به نام Mabedini این کار رو کردم. من جدید کارم رو ترک کردم و قصد دارم که صد در صد توان خودم رو بزارم روی این موضوع و مطلب.
میخواستم که این کتاب رو در مورد سیستمعامل FreeBSD ولی گفتم برای جذاب شدن کتاب تمرکزم رو بزارم روی فایروالهای تحت FreeBSD که یکی از محصولاتی که تحت FreeBSD با رابط وب و فایروال معروف PF کار می کنه رو بهتون معرفی کنم، این محصول چیزی نیست جز فایروال PFsense که بهصورت رایگان در دسترس شما دوستان هست.
در این کتاب تلاش میشد که تکمیلی باشه بر آموزشهای این دوره تصویری که علاوه بر پوشش بخش اول این دوره تصویری بحثهایی که در اون دوره تهیه نشده رو برای شما در قالب این کتاب بیان میکنم. با امید به خدای مهربان نگارش این کتاب رو شروع میکنم.
Pfsense چیست؟
به عنوان شروع در قدم اول قصد دارم به این سؤال پاسخ بدم که PFsense چیست و چه قابلیتهایی دارد، در یک خط میشِ اینطور PFsense رو تعریف کرد که یک نرمافزار رایگان و یک توزیع انتخابی شده و تغییریافتهای از سیستمعامل FreeBSD است که دو ویژگی اصلی دارد علاوه بر اینکه یک فایروال است نقش یکروتر را هم میتواند داشته باشد و از طریق یک رابط وب قابل مدیریت است. این برنامه علاوه بر اینکه یک فایروال قوی و قدرتمند است به شما این امکان را میدهد که به آن برنامههای دیگری را هم در قالب برنامههای متنباز اضافه کنید و از طریق همان رابط وب برنامههای جانبی که بهتناسب نیاز شما وجود دارد را مدیریت کنید، ازجمله این برنامهها میتوان به squid ، snort و حتی Zabbix اشاره کرد که در نصب پیشفرض آن وجود ندارد ولی شما میتوانید هرکدام را بسته به نیاز خود نصب و راهاندازی و استفاده کنید، این برنامه فقط از طریق مخازن خود سایت pfsense در دسترس است و در آموزشهای این بخش هم به شما یادمی دم که به چه صورتی برنامههای خارج از این مخازن را هم نصب کنید برنامههایی که در FreeBSD وجود دارد درpfsense هم قابلنصب و راهاندازی است، بهعنوان آخرین کاری که در pfsense نصب کردن برنامه zabbix server است که حتی با یک رابط گرافیکی بر روی یک وب سرور جداگانه و بر روی پورت دیگری راهاندازی کردهام، به دلیل پیکربندی خوب php در pfsnese سرعت رابط وب Zabbix بسیار بالاست. برای دریافت آموزش در این بخش شما به فصل نصب کرد برنامهها در pfsense مراجعه کنید.
اولین بار pfsense در سال ۲۰۰۴ توسط دو فرد اصلی بهنامهای Chris Buechler و Scott Ullrichو گروه بزرگی از توسعهدهندگان ارائهشده است، طرح اصلی این فایروال از پروژه m0n0wall گرفتهشده است که این پروژه یک فایروال embedded شدهای است که در حجم کم ارائهشده ولی مشکل اصلی آن این بود که بر روی RAM بارگذاری میشود و نمیتواند هیچ قابلیتی به آن اضافه کنید چون بر روی هارددیسک نصب و راهاندازی نمیشد، این ایراد در فایروال pfsense رفع شده و شما باید آن را بر روی هارددیسک خود نصب کنید و از طریق هادر سیستم را راهاندازی کنید و میتوانید به آن قابلیت اضافه کنید. در ورژن جدید از این فایروال قابلیت نصب بر روی zfs هم به آن اضافهشده است که شما میتوانید از قابلیتهای این فایل سیستم قوی هم در فایروال pfsense خود استفاده کنید.
حال دلیل انتخاب این نام را در آدرس زیر بیانشده است که مختصری از آنها برای شما بیان میکنم:
https://www.netgate.com/blog/so-what-does-pfsense-stand-formean-anyway.html
این پروژه در روزهای اول خودش هیچ اسمی نداشته و فقط از قابلیت jail در FreeBSD استفاده میشود و از طریق cvs بهعنوان سیستمی برای توسعه آن استفاده میکنند. در ابتدا دو نفر به نامهای Chris Buechler و Scott در این پروژه مشغول به کار و فعالیت بودن و برای ثبت کردن یک نام دامنه با مشکل مواجه بودند، به دلیل اینکه در این فایروال از PF بهعنوان بخش اصلی استفاده میشود و از بخش اول این اسم و نام sense به معنای حس در ادامه این نام استفاده کردند که یک حس جدیدی از pf را برای شما ایجاد میکند. پس به این دلیل بود که این نام برای این برنامه انتخاب و اعلام شد، در حال حاضر Chris Buechler از این پروژه در سال ۲۰۱۶ جداشده است.
هر برنامه متنبازی در قالب یک مجوز ارائه میشود که به نگاهان به دنیای متنباز اشاره دارد. لایسنس های مختلف و متفاوتی وجود دارد به نامهای BSD GNU Apache و ….. که هرکدام به در اینترنت قوانین اهداف و شرایط خودش ون رو بیان کردهاند. مجوزی که Pfsense از آن استفاده میکند مجوز Apache در ورژن ۲ است که در نه بند ارائهشده است؛ برای دسترسی به مجوزهای apache به آدرس زیر مراجعه کنید:
http://www.apache.org/licenses
بخش اولیه مجوز pfsense بهصورت زیر بیانشده است:
A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
یک مجوز قابلقبول که شرایط اصلی آن حفظ اطلاعات کپیرایت و مجوز است. همکاران ارائه یک حق اظهارنامه حق ثبت اختراع. کارهای مجاز، اصلاحات و کارهای بزرگتر ممکن است تحت شرایط مختلف و بدون کد منبع توزیع شود.
در این مجوز پروژه pfsense این اجازه را دارد که کد منبع را ارائه نکند. دسترسیها و محدودیتهای این مجوز را در جدول زیر مشاهده میکنید:
دسترسیهای |
محدودیتها |
||
استفاده تجاری تغییر توزیع استفاده از اختراع استفاده خصوصی |
Commercial use Modification Distribution Patent use Private use |
استفاده از علامت تجاری مسئولیت ضمانتنامه |
Trademark use Liability Warranty |
راههای ارتباطی با پروژه اصلی pfsense :
وبسایت اصلی این پروژه به نام pfsense.org معروف است. که در بخش معرفی این سایت شما میتوانید راههای ارتباطی را مشاهده کنید، در ادامه خلاصه این اطلاعات را مشاهده میکنید:
بخش فروش و خدمات مشتری |
|
بخش پشتیبانی و خدمات |
|
بخش پروژه pfSense |
در جدول بالا شما با آدرس سایتی به نام natgate را مشاهده میکنید که بخش آموزش و پشتیبانی پروژه Pfsense را دارد. این شرکت شعاری دارد به شرح زیر:
ما بر روی ارائه ارتباط امن شبکه با کارایی بالابرای همه متمرکزشدهایم.
در این سایت شما با پرداخت ۹۹ دلار در سال میتوانید از خدمات حرفهای درزمینهٔ آموزش و پشتیبانی از pfsense با استفاده از فیلمهای آموزشی دقیق و کتاب اصلی این پروژه استفاده کنید. این خدمات به نام خدمات طلایی عضویت pfsense معروف است.
قابلیت فایروال pfsense را میتوان در دستهبندیهای زیر بیان کنید:
قابلیت Firewall
- فیلتر کردن منبع و مقصد IP، پروتکل IP، منبع و مقصد پورت برای ترافیک TCP و UDP
- محدود کردن اتصالات همزمان بر اساس یک rule
- نرمافزار pfSense با استفاده از p0f، یکی از ابزارهای رمزنگاری پیشرفته سیستمعامل / شبکه به شما اجازه میدهد تا توسط سیستمعامل شروع به اتصال به فیلتر کنید. آیا میخواهید سیستمهای FreeBSD و Linux را به اینترنت متصل کنید، اما دستگاههای ویندوز را مسدود کنید؟ نرمافزار pfSense قابلیت تفکیکرولهای فایروال را بر اساس سیستمعامل را هم دارد که این قابلیت در سیستمعاملهای مبتنی بر BSD پیدا سازی میشود.
- قابلیت گرفتن log و یا غیرفعال کردن log بر روی هر رول.
- قایلتهای پیشرفته در routing که به شما این اجازه را میدهد که همزمان چندین gateway داشته باشید.
- دارا بودن قابلیت alias در آدرسها پورتها و غیره که نوشتن رولها را خلاصه و سادهتر میکند و شما میتوانید چندین رول را در یک خط بنویسید.
- فعال کردن فایروال در لایه دوم بهصورت Transparent و مدیریت کردن ترافیک در بین کارتهای شبکهای که این قابلیت بر روی آنها فعالشده است.
- قابلیت Packet normalization
- غیرفعال کردن قابلیت فیلتر کردن ترافیک در استفاده از قابلیت routing
قابلیت (Network Address Translation (NAT
- قابلیت Port forwards بر روی چندین آدرس ip
- قابلیت ۱:۱ NAT برای آدرسهای IP جداگانه برای یک sub net .
- قابلیت Outbound NAT در تنظیمات پیشفرض NAT همه ترافیکها به سمت یک آدرس IP ارسال میشود ولی در این روش بجای استفاده از آدرس IP از نام کارت شبکه wan استفاده میشود در حالت multiple WAN.
- قابلیت NAT Reflection که اجازه دسترسی سرویسهای پشت فایروال را از طریق آدرس valid فایروال در دسترس است.
قابلیت Multi-WAN
- قابلیت چند شبکه WAN امکان استفاده از اتصالات اینترنتی متعددی را فراهم میکند، با توازن بار و / یا خرابی، برای افزایش دسترسی به اینترنت و توزیع استفاده از پهنای باند.
قابلیت Server Load Balancing
- قابلیت Server Load Balancing برای توزیع بار بین چند سرور استفاده میشود. این معمولاً با سرورهای وب، سرورهای پست الکترونیکی و دیگر سرورها استفاده میشود. سرورهایی که قادر به پاسخگویی به درخواستهای پینگ یا اتصالات پورت TCP نیستند نمیتوانند از این سرویس استفاده کنند.
قابلیت (Virtual Private Network (VPN
- نرمافزار pfsense از سه برنامه برای اتصال استفاده میکنند VPN، IPsec و OpenVPN .
قابلیت Reporting and Monitoring
- در این بخش pfsense از RRD Graphs استفاده میکند تا بتواند اطلاعات زیر را در قالب وب برای شما نمایش دهد:
- استفاده از پردازنده
- مجموع خروجی
- وضعیت فایروال
- سرعت ارسال هر بسته بر روی هر کارت شبکه
- زمان پاسخگویی Ping در شبکه wan
- نمایش وضعیت صف در کارتهای شبکهای که قابلیت Traffic shaper در آنها فعال است.
قابلیت Dynamic DNS
- این قابلیت در pfsense به شما این امکان را میدهد که نام آدرسهای IP که بهصورت خودکار توسط DHCP ارائه میشود را در سرور DNS ثبت کند که این امر باعث ارائه کردن ارتباط مبتنی بر نام بهجای آدرس ip در شبکههایی که آدرسهای ip آنهاست را میدهد.
قابلیت Captive Portal
این قابلیت به فایروال pfsense این امکان را اضافه میکند که قبل از ارائه کردن دسترسی به شبکه اینترنت با انتقال داده صفحه وب درخواست از سمت کلاینت به سمت یک صفحه خاص و انجام دادن authentication اجازه دسترسی را به شبکه دیگر که در بیشتر موارد Internet است را میدهد، در این سرویس شما میتوانید صفحه خاص خود را داشته باشید و تعداد login کردن کاربران را مدیریت کنید. این سرویس برای شبکههای بیسیم که بهصورت رایگان در اختیار مشترکین مهاجر قرار داده میشوند بسیار مفید و کاردی است.
قابلیت DHCP Server
- یکی از سرویسهای مهم در شبکههای بزرگ و کوچک مدیریت کردن آدرسهای IP است که از طریق سرور DHCP قابلاجرا است که در pfsense هم این قابلیت بهصورت حرفهای با امکانات خوب ارائه میشود.
-
سایت اصلی این پروژه www.pfsense.org و شما در این سایت میتوانید همه اطلاعات لازم و فا یلهای موردنیاز برای نصب کردن و روشهای استفاده از pfsense برای شما بیانشده برای دانلود کردن شما باید به صفحهای به آدرس زیر مراجعه کنید:
- https://www.pfsense.org/download
-
در این سایت بخش وجود دارد برای انتخاب کردن ورژن و نوع Archive که شما برای نصب کردن به آن نیاز دارید و در بخش بعدی هم باید نزدیکترین سرور را برای دانلود کردن انتخاب کنید در حال حاضر شما میتوانید دو ورژن ۲.۳ و ۲.۴ را دانلود کنید و از دو حالت usb و iso میتوانید برای راهاندازی سیستم خود برای نصب انتخاب کنید، اگر سیستم شما از طریق USB راهاندازی میشود میتوانید image این حالت را دانلود کرده و بر روی فلش با استفاده از برنامه win32disk این کار رو بهراحتی انجام دهید.
-
خب برای نصب کردن شما باید به حداقل سختافزاری که نیاز دارید توجه کنید و به میزان ترافیکی که قرار استِ از این سیستم ردوبدل به شه بستگی دارِ ولی خود pfsense در حالت پایهای به مقادیر زیر نیاز دارید.
-