سامانه آموزش آنلاین

مقلات آموزشی

سرویسهای FreeBSD برای مهندسین شبکه

Nat کردن ترافیک با IPFW در FreeBSD:

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

یکی از راه حل های به اشتراک گذاشتن اینترنت به شبک های محل استفاده کردن از سرویس NAT است، البته این سرویس کارکردهای دیگری هم دارد که در بخشهای بعدی در مورد آنها بحث می شود. این سرویس برای راه اندازی شدن به فایروال ipfw وابسته است و شما باید ابتدا این فایروال را هم فعال کنید. برروی سیستم که شما قصد دارید این سرویس را راه اندازی کنید باید دو کارت شبکه داشته باشید، یک کارت شبکه که به شبکه محلی شما که قصد دارید اینترنت را در اخیتار آنها قرار دهید متصل باشد و کارت شبکه دوم هم باید به اینترنت متصل باشد. طراحی آدرس IPشبکه ها انتخابی است.

 

طراحی شبکه برای nat:

برای پیاده سازی سناروی شبکه nat شما باید قبل از شروع آدرس IP شبکه خود را مشخص کنید،شکل زیر را مشاهده کنید:

شبکه بالا دارای دو بخش است بخش اول شبکه محلی  است که رنج آدرس های آن 192.168.2.0 است و سه عدد PC در آن قرار دارد، تمام این سیستم ها باید آدرس 192.168.2.1 را به عنوان Default Gateway  تنظیم کنند. سرور FreeBSD دارای دو کارت شبکه است که یکی از آدرس های آن 192.168.2.1 است و آدرس دوم 192.168.1.1 است که به مودم ADSL وصل است که خود شبکه اینترنت متصل است. شبکه بالا یک طراحی ساده از یک شبکه است. از هاب برای متصل کردن سیستم ها در این شبکه استفاده شده است. در ادامه با راه اندازی کردن این مدل آشنا می شوید.

 

 

فعال کردن IPDIVERT  و IPFIRWALL:

شما به دو روش می توانید قابلیت های ذکر شده را در FreeBSD فعال کنید روش اول خطوط زیر را در هسته فعال کنید و هسته دوباره بارگذاری کنید، برای انجام دادن این روش مقاله پیکربندی هسته در FreeBSD را مطالعه کنید:

options	IPFIREWALL
options	IPDIVERT

روش بعدی بارگذاری کردن ماژول ipdivert  در در هسته با استفاده کردن از kldload به این نکته توجه کنید که ماژول ipfw هم به صورت خودکار در هسته بارگذاری می شود و رول پیش فرض آن بستن همه ترافیک هاست. در شکل زیر این عمل نمایش داده شده است :

در مرحله بعدی شما باید قابلیت Gate way را هم فعال کنید این کار به دو صورت انجام می شود در روش اول  با استفاده از rc.conf که باید در این روش خط زیر را در این فایل قرار دهید:

# gateway_enable=YES

 

حال در زمان راه اندازی سیستم شما قابلیت Gate Way برای شما فعال می شود در حالت دوم هم شما می توانید با استفاده از فرمان sysctl این قابلیت را فعال کنید:

# sysctl net.inet.ip.forwarding=1

در مرحله بعدی قابلیت natd  را فعال کنید . در این بخش هم می توانید از سیستم rc.conf استفاده کنید و یا فرمان natd را به صورت مستقیم اجرا کنید، برای فعال سازی rc.conf خطوط زیر را در این فایل اضافه کنید:

natd_enable="YES"	# enables NAT
natd_interface="em0"	# specify interface name of NIC attached to Internet

در خط اول سرویس natd را فعال کرده اید و در خط بعدی باید نام کارت شبکه ای را که به شبکه دیگر که اینترنت دارد را مشخص کنید که در این بخش em0 است و در هر سیستم می تواند متفاوت باشد. شما می توانید با استفاده از natd_flags سویچ های لازم برای این سرویس را مشخص کنید. حال با استفاده از فرمان زیر سرویس natd را فعال کنید:

#/etc/rc.d/natd start

در روش استفاده از خط فرمان شما از فرمان natd در شل می توانید با استفاده از سویچ های مختلف این سرویس را راه اندازی کنید، برای مثال برای فعال کردن قابلیت ارایه گزارش از –log  یا –l استفاده کنید و بعد از فعال شدن قابلیت log فایلی به نام /var/log/alias.log ایجاد می شود و logها در آن ذخیره می شود، برای مشخص کردن کارت شبکه ای که با اینترنت متصل است از سویچ –interface  یا –n استفاده کنید و در مقابل آن نام کارت شبکه را واردی کنید در زیر این فرمان نمایش داده شده است:

#natd –log –interface em0

در بخش آخر هم باید در فایروال ipfw دو فرمان زیر را وارد کنید:

#ipfw add divert natd all from any to any via em0
#ipfw add 500 allow all from any to any

تنظیمان بخش Client:

در بخش کلاینتی اگر سیستم عامل شما FreeBSD باشد بعد از تنظیم کردن آدرس ip باید با استفاده از فرمان route  به صورت زیر آدرس سرور FreeBSD خود را به صورت default gateway  معرفی کنید:

#route add default 192.168.2.1

سویچ های فرمان natd:

برنامه natd برای nat کردن ترافیک های شبکه از سوکت divert استفاده می کند و به صورت daemon در پس زمینه سیستم راه اندازی می شود و عمل nat کردن را انجام می دهد، در این بین این فرمان دارای سویچ ها و قابلیتهای زیادی است که برخی از آنها را برای شما ذکر می کنم.

بخش log :

برای فعال کردن قابلیت log در natd باید از سویچ های –log  یا سویچ –l استفاده کنید، گزارشات در فایلی به نام alias.log در زیر شاخه /var/log ذخیره می شود.

 

بخش مسدود کردن ترافیک های ورودی غیر ضروری:

برای اینکه سرویس natd به ترافیک هایی را که در جدول ترجمه خود وجود ندارند اجازه ورود ندهد از سویچ –deny_incoming و یا –d استفاده کنید. این قابلیت را همیشه فعال کنید

 

بخش use_sockets:

این بخش در حالتهایی که شما از سرویس هایی که سوکتهای اضافی برای دریافت اطلاعات خود نیاز دارند ایجاد می کند مثل فرمان ftp. برای به درستی کار کردن این نوع از برنام ها از سویچ - use_sockets یا –s استفاده کنید.

سویچ verbose:

این سویچ برنامه natd را راه اندازی نمی کند بلکه برنامه را در حالتی قرار می دهد که بتوانید اطلاعات بیشتری از وضعیت سرویس خود را در کنسول شل مشاهده کنید برای دیباگ کردن برنامه ها بسیار مفید است و با استفاده از سویچ – verbose  یا –v فعال می شود.

نظرات (0)

هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان ثبت نام یا ورود به حساب کاربری خود.
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید
عبارت تصویر زیر را بازنویسی کنید. واضح نیست؟
آموزش BSD با محمدعابدینی

اولین مرکز آموزش BSD  و نخستین مرکز ارائه نرم افزارهای مبتنی بر BSD در ایران

کلیه حقوق این سایت متعلق به محمد عابدینی است که در زمینه آموزش BSD فعالیت می کند.
All rights are reserved for Mohammad Abedini 2019

Search

09356757020
محمد عابدینی
کرج 
مهرشهر
Your SEO optimized title