آموزش PfSense قسمت 2 : تنظیمات و مفاهیم شبکه در FreeBSD

سلام دوستان عزیز، شاید برای شما تعجب برانگیز باشه که چرا در این کتاب در مورد شبکه در FreeBSD صحبت می کنم، در طول مدتی که دوره pfsense رو برای دوستان به صورت آنلانین برگذار کردم یک مشکل جالبی برای دوستان علاقمند مشاهده کردم به دلیل خاص بودن فایروال pfsense به سمت این فایروال جذب شدند و خط یک رابط وب خوب هم برای انجام دادن کارها در این فایروال قدرتمند وجود داره که نیازی به دانش فرمانهای قابل اجرا در این سیستم رو کم می کنه، ولی در زمان بروز مشکلات خاص و در کل در همه موارد این فرمان های موجود در سیستم عامل FreeBSD است که سرعت عمل شما رو در انجام کارها بالا می بره و شما به عنوان یک مدیر شبکه می تونید به سرعت کار مورد نظر رو انجام بدید.
برای مثال نمایش سوکتهای باز سیستم شما می تونه اطلاعات مفیدی در اختیار شما قرار بده درسته که در بخش گرافیکی وب pfsense این موضوع هم دیده شده و در ادامه همین فصل با اون آشنا میشید ولی فرض کنید که در مشکلی قرار گرفته اید که دسترسی به رابط وب ندارید و باید با خط فرمان با فایروال خودتون و از راه دور مشکل رو حل کنید، در نتیجه داشتن دانش کافی در مورد فرمان های کاربردی در بخش شبکه یکی از نیازهایی است که شما باید داشته باشید. در ادامه شما با فرمانهای مهم و کاربردی در تنظیمات شبکه در FreeBSD که سیستم عاملی است که pfsense از آن استفاده می کند آشنا می شوید. خب بدون تلف کردن وقت شما میریم سراغ دسته بندی این بخش که در ادامه مشاهده می کنید:
- فرمان های دریافت اطلاعات شبکه ای
- ifconfig
- تنظیمات DNS و DHCP
- راه اندازی کردن مجدد تنظیمات شبکه
فرمان های دریافت اطلاعات شبکه ای
فرمان Hostname : هر سیستم که در شبکه قرار دارد به یک نام نیاز دارد این نام را شما در زمان راه اندازی اولیه pfsense وارد کرده اید که البته از طریق رابط وب قابل تغییر است برای نمایش این نام در خط فرمان این فرمان را به صورت زیر وارد کنید:

نکته: فایل اصلی پیکربندی pfsense
فایروال pfsense بیشتر تنظیمات را از یک فایل xml به نام config.xml دریافت میکند که در زیر شاخه cfconf قرار دارد، این فایل دارای بخش های مختلف پیکربندی است که در هر بخش در مورد آن توضیح داده خواهد شد.این بخش در فایل اصلی پیکربندی pfsense وجود دارد که با استفاده از فرمان زیر می توانید آنرا مشاهده کنید:

فرمان ping
یکی از اولین فرمان های در شبکه برای تست کردن در دسترس بودن یک سیستم مورد استفاده قرار می گیرد فرمان ping است که در بخش منوی console هم با آن آشنا شده اید. این فرمان را شما می توانید در خط فرمان نیز اجرا کنید و تفاوت خروجی این فرمان با فرمان موجود در ویندوز این است که در ویندوز فقط 4 بسته ارسال می شود ولی در یونیکس تعداد بسته ها محدود نیست و تا زمانی که شما از کلید Crtl+c استفاده کنید بسته ها ارسال شده و گزارش آن برای شما نمایش داده می شوید، در مقابل این فرمان هم می توانید از نام استفاده کنید و هم آدرس ip که در صورتی که از نام استفاده کنید با استفاده از DNS این نام به آدرس ip تغییر پیدا کرده و در نهایت آدرس ip است که ping می شود در زیر خروجی این فرمان را مشاهده می کنید:

اگر از نام استفاده کنید و به صورت شکل بالا خروجی را مشاهده کنید به این معنی است که DNS سرورهای شما هم بدرستی پیکربندی شده است .
فرمان arp
یکی از بسته های که در شبکه محلی برای برقرار ارتباط مورد استفاده قرار می گیرد بسته های arp است که شما از طریق این بسته ها می توانید آدرس های فعال در شبکه و mac آدرسهای آنها را پیدا کنید، خروجی این فرمان با استفاده از سویچ a را در زیر مشاهده می کنید:

فرمانSosckstat
هر سروری را که شما برروی سیستم خود فعال می کنید برای برقراری ارتباط با شبکه از یک پورت استفاده می کند و هر ارتباطی که شما برقرار می کنید با هر سروری از طریق یک پورت برقرار می شود، فقط در سیستم عامل FreeBSD فرمانی به نام sockstat وجود دارد که وضعیت سوکت های که در حقیقت همان پورتهای سیستم شما را نمایش می دهد، در این بخش برای نمایش فقط پورتهایی که سرور های شما در حال سرویس دهی هستن در ورژن 4 آدرس ip از سویچ l4 استفاده کنید که در شکل زیر خروجی این فرمان را مشاهده می کنید:

فرمان pftop
در بخش قبلی شما با فرمان top آشنا شده اید که بصورت پویا وضعیت پردازش ها شما را نمایش میدهد برای فایروال pf که پایه pfsense هست هم برنامه ای به این صورت ایجاد شده که وضعیت ارتباطاتی که از طریق pf شما در تبادل است را در یک لیست برای شما به صورت پویا نمایش می دهد که در شکل زیر یک خروجی از این فرمان را مشاهده می کنید:

برای خارج شدن از این برنامه از q استفاده کنید.
فرمان traceroute
برای چک کردن مسیر بین فایروال شما و شبکه های دیگر از فرمان traceroute استفاده کنید که باید بعد از این فرمان آدرس ip که شما قصد دارید تا آن شبکه مسیر چک شود را وارد کنید، این بخش هم می تواند آدرس ip باشد و هم نام یک سایت. خروجی این بخش را در شکل زیر مشاهده میکنید:
فرمان ifconfig
فرمان ifconfig دارای قابلیتهای بسیاری است که د این بخش برای شما بیان خواهم کردن این فرمان علاوه بر نمایش وضعیت کارتهای شبکه برای تنظیم کردن آدرس ip مورد استفاده قرار می گیرد و در برخی از موارد برای فعال کردن و غیر فعال کردن قابلیتی در کارت شبکه مورد استفاه قرار میگیرد. این فرمان در FreeBSD تنظیمات را از فایل معروف rc.conf میگیرد که در pfsense از تنظیمات را از فایل اصلی پیکربندی دریافت می کند در قدم اول برای نمایش همه کارتهای شبکه ای که برروی سیستم شما است باید از این فرمان به صورت زیر استفاده کنید:

حال که در این بخش کارتهای شبکه موجود برروی فایروال خود را مشاهده کرده اید در مرحله بعد می کنید وضعیت هر کدام را با ذکر نام در مقابل فرمان ifconfig مشاهده کنید، خروجی این فرمان به صورت زیر است:

در خروجی این فرمان در بخش inet شما آدرس ipv4 کارت شبکه را مشاهده می کنید. در بخش status هم وضعیت کارت شبکه که فعال است برای شما نمایش داده می شود. برای فعال کردن و غیر فعال کردن یک کارت شبکه هم شما می توانید از فرمان ifconfig نام کارت شبکه و down و یا up استفاده کنید که در شکل زیر مشاهده می کنید که بعد از غیر فعال شدن شبکه دیگر در خروجی ifconfig وضعیت وجود ندارد:

برای تغییر دادن آدرس ip کافیست که بعد فرمان و نام کارت شبکه آدرس جدید را وارد کنید و به این نکته توجه کنید که subnet mask را هم باید وارد کنید این بخش در شکل زیر نمایش داده شده است و خروجی را هم برای شما بعد از تغییر آدرس نمایش داده شده است:

تنظیمات DNS و DHCP
در FreeBSD فایلی وجود دارد به نام resolv.conf که در زیر شاخه etc قرار دارد و محل ذخیره سازی آدرسهای DNS است، این فایل را شما می توانید با ویرایشگر ee تغییر دهید. این تنظیمات در زمان راه اندازی اولیه وب تنظیم شده است و برای تغییر به آدرسهای DNS مورد نظر خود هم می توانید از بخش وب این کار را نجام دهید که دایمی است و هم می توانید از طریق این فایل تغییرات را اعمال کنید که به صورت لحظه ای است و با restart شدن سیستم به حالت اولیه باز می گردد، در شکل زیر محتوای این فایل را مشاهده می کنید:

کافیست که بعد از بخش nameserver با یک فاصله آدرس سرور خود را وارد کنید. برای چک کردن وضعیت DNS سرورهای سیستم خود که به درخواست های شما پاسخ می دهند از فرمان nslookup استفاده کنید که برای این کار باید فرمان را در خط فرمان اجرا کنید تا شما به این بخش به صورت تصویر در شکل وارد شوید:

همانطوری که در شکل بالا مشاهده می کنید با استفاده از این فرمان شما وضعیت DNS سرور سیستم خود را مورد ارزیابی قرار داده اید.
راه اندازی کردن مجدد تنظیمات شبکه
سیستم عامل FreeBSD از سیستم rc برای راه اندازی کردن سرویس ها استفاده می کنید برای راه اندازی کردن مجدد تنظیمات شبکه هم از این سیستم استفاده می شود، سیستم rc از فرمان هایی استفاده می کند که در فایلهایی به نام rc.d استفاده می کند که در زیر شاخه etcrc.d/ قرار گرفته اند شما در این بخش می توانید هر سرویسی را که نیاز دارید در FreeBSD راه اندازی از این طریق راه اندازی کنید، برای راه مجدد کردن تنظیمات شبکه هم از فرمان زیر استفاه کنید
#/etc/rc.d/netif restart
خب در این فرمان نکاتی هست که بهتون می گم. هر فرمان rc.d دارای یک سری زیر شاخه و زیر فرمان است که در فرمان با از بخش Restart این فرمان استفاده کردیم، زمانی که شما این فرمان را بدون زیر فرمان خاصی اجرا کنید شما با خروجی help این فرمان و تمام زیر فرمانی های موجود در این بخش آشنا می شوید که در شکل زیر خروجی این فرمان را مشاهده می کنید:

کار با فرمان dhclient
در سیستم عامل FreeBSD برای استفاده از dhcp در بخش کلاینتی از این فرمان استفاده می شود که باعث می شود تنظیمات کارت شبکه شما از طریق DHCP استفاده اعمال می شود ، برای استفاده از این فرمان کافیست که نام کارت شبکه خود را بعد فرمان وارد کنید تا در صورت وجود به DHCP server این تنظیمات اعمال می شود.