بررسی firewalld

Print Friendly

firewalld یک دیواره آتش پویا می باشد که از قابلیت zone بندی برای مشخص کردن سطح اعتماد(Trust) ارتباطات و کارت های شبکه پشتیبانی می کند این دیواره آتش از آی پی نسخه ۴ و ۶ پشتیبانی کرده و شامل گزینه هایی پیکربندی runtime و permanent می باشد از جمله مزیت های این دیواره آتش نسبت به نسل های قبلی دیواره های آتش که به صورت static بود این است که بعد از تغییرات پیکربندی دیواره آتش نیاز به راه اندازی مجدد آن نمی باشد و می توان با بارگذاری دوباره پیکربندی تغییرات را اعمال کرد. در این نوشته دیواره آتش firewalld را به صورت مختصر مورد بررسی قرار خواهیم داد.

 

منظور از zone چیست؟

یک zone در واقع سطح اعتماد(Trust) یک ارتباط شبکه ای(کارت شبکه) را مشخص می کند این ارتباط بین یک zone و کارت شبکه می تواند چند به یک باشد یعنی یک کارت شبکه می تواند در یک zone قرار بگیرد ولی یک zone می تواند در چندین کارت شبکه مورد استفاده قرار بگیرد firewalld شامل چنیدین zone پیش فرض با یکسری پیکربندی های خاص به شکل زیر می باشند.

فعال کردن سرویس firewalld:

غیرفعال کردن سرویس firewalld:

شروع به کار سرویس firewalld:

متوقف کردن سرویس firewalld:

نمایش وضیعت سرویس firewalld:

برای کار با firewalld باید از دستور firewall-cmd استفاده کنید برای شروع کار با این دستور از ساده ترین شکل آن شروع می کنیم و کار را با گزینه های پیچیده تر با مثال ادامه می دهیم.

برای نمایش وضیعت firewalld از دستور زیر استفاده کنید.

برای نمایش نسخه firewalld از دستور زیر استفاده کنید.

برای بارگذاری مجدد پیکربندی از دستور زیر استفاده کنید.

برای برگشت به حالت اولیه و نادیده گرفتن کلیه پیکربندی ها از دستور زیر استفاده کنید.

برای نمایش کلیه zone ها از دستور زیر استفاده کنید.

برای نمایش کلیه سرویس ها از دستور زیر استفاده کنید.

 

منظور از سرویس چیست؟

یک سرویس به زبان ساده در واقع مجموعه ای از پورت ها و ماژول های مربوط به firewalld می باشد همان طور که در کد بالا می بینید یکسری سرویس به صورت پیش فرض تعریف شده اند با فعال کردن هر سرویس پیکربندی های مربوط به آن سرویس و ماژول های آن سرویس بارگذاری می شوند.

برای نمایش انواع icmptype ها از دستور زیر استفاده کنید.

 

منظور از icmptype چیست؟

پروتکل icmp به منظور رد و بدل کردن اطلاعات و پیغام های خطا در پروتکل IP مورد استفاده قرار می گیرد در firewalld با توجه به انواع icmptype که پشتیبانی می کند امکان محدود کردن این پیغام وجود دارد.

برای نمایش همه ی zone ها با پیکربندی های آنها از دستور زیر استفاده کنید.

برای نمایش پیکربندی های یک zone خاص از دستور زیر استفاده کنید.(در این مثال zone انتخابی ما work می باشد در صورت مشخص نکردن آن zone پیش فرض در نظر گرفته می شود)

برای نمایش zone پیش فرض از دستور زیر استفاده کنید.

 

منظور از zone پیش فرض چیست؟

zone پیش فرض زمانی که برای یک کارت شبکه هیچ zone تعریف نشده باشد به آن کارت شبکه اختصاص داده می شود یعنی اگر برای یک کارت شبکه هیچ zone تعریف نشده باشد عضو zone پیش فرض می شود در دستور firewall-cmd هر جا که گزینه –zone نیاز باشد و مقدار آن مشخص نشود zone پیش فرض به عنوان مقدار آن در نظر گرفته می شود.

برای تنظیم zone پیش فرض از دستور زیر استفاده کنید.(در این مثال zone انتخابی ما work می باشد)

برای نمایش zone های فعال از دستور زیر استفاده کنید.

 

منظور از zone فعال چیست؟

هر zone که حداقل یک کارت شبکه عضو آن باشد به عنوان zone فعال در نظر گرفته می شود.

برای نمایش zone مربوط به یک کارت شبکه خاص از دستور زیر استفاده کنید.(در این مثال کارت شبکه ما ens32 می باشد)

برای اضافه کردن یک کارت شبکه خاص یه یک zone خاص از دستور زیر استفاده کنید.(در این مثال کارت شبکه ens34 به work اضافه می شود)

برای تغییر zone یک کارت شبکه از دستور زیر استفاده کنید. (در این مثال zone کارت شبکه ens34 به public تغییر داده می شود)

برای حذف یک کارت شبکه از یک zone از دستور زیر استفاده کنید.(در این مثال کارت شبکه ens34 از zone، work حذف می شود)

برای بررسی اینکه یک کارت شبکه در یک zone خاص می باشد از دستور زیر استفاده کنید.(در این مثال کارت شبکه ens32 و zone، public)

برای نمایش سرویس های فعال در یک zone از دستور زیر استفاده کنید.(در این مثال zone ما public می باشد)

برای فعال کردن حالت panic از دستور زیر استفاده کنید.

 

منظور از حالت panic چیست؟

حالت panic حالتی می باشد که در آن کلیه ی ترافیک شبکه بلاک می شود.

برای غیرفعال کردن حالت panic از دستور زیر استفاده کنید.

برای نمایش وضیعت panic از دستور زیر استفاده کنید.

 

منظوز از حالت runtime و permanent چیست؟

هر تغییری که در یک zone صورت می گیرد یا در حالت runtime است یا در حالت permanent اگر در حالت runtime باشد این تغییرات بعد از اجرا دستور reload و یا بارگذاری مجدد سرویس firewalld و یا راه اندازی مجدد سیستم از بین می روند ولی تغییراتی که در حالت permanent صورت می گیرند در فایل config ثبت می شوند و به صورت دایمی هستند و با اجرای دستور reload و یا بارگذاری مجدد سرویس firewalld و یا راه اندازی مجدد سیستم از بین نمی روند توجه داشته باشید که گزینه runtime به صورت پیش فرض می باشد.

برای فعال کردن یک سرویس در یک zone از دستور زیر استفاده کنید.(در این مثال سرویس http در zone، work فعال شده است)

 

گزینه timeout:

گزینه timeout در واقع مدت زمان فعال بودن سرویس را مشخص می کند توجه داشته باشید که چون در این دستور از گزینه –permanent استفاده نشده است فعال بودن سرویس http در zone، work به صورت موقت می باشد و با اجرای دستور reload و یا بارگذاری مجدد سرویس firewalld و یا راه اندازی مجدد سیستم از بین می روند.

برای غیر فعال کردن یک سرویس در یک zone از دستور زیر استفاده کنید.(در این مثال سرویس http در zone، work غیر فعال شده است)

برای نمایش وضیعت فعال بودن یک سرویس در یک zone از دستور زیر استفاده کنید .(در این مثال سرویس http در zone،  work مورد بررسی واقع شده است)

برای فعال کردن پورت و پروتکل از دستور زیر استفاده کنید.(در این مثال پورت ۸۰ از نوع tcp در zone، work فعال شده است)

توجه داشته باشید که هم می توانید یک پورت را مشخص کنید هم می توانید محدوده پورت را به صورت startport-endport مشخص کنید مقدار مربوط به پروتکل هم می تواند tcp یا udp باشد

برای غیر فعال کردن پورت و پروتکل از دستور زیر استفاده کنید.(در این مثال پورت ۸۰ از نوع tcp در zone، work غیرفعال شده است)

برای نمایش وضیعت فعال بودن پورت و پروتکل در یک zone از دستور زیر استفاده کنید.(در این مثال پورت ۸۰ از نوع tcp در zone، work مورد بررسی واقع شده است)

برای فعال کردن قابلیت masquerading از دستور زیر استفاده کنید.(در این مثال این قابلیت برای zone، work فعال شده است)

 

منظور از masquerading چیست؟

masquerading نوع خاصی از NAT می باشد که در آن سیستم های که در طرف خارجی NAT قرار گرفته اند به هیچ عنوان نمی توانند آی پی مربوط به یک سیستم داخلی را به دست بیاورند در واقع در این نوع NAT آی پی سیستم های داخلی در سمت خارجی NAT پنهان می شود.

توجه داشته باشید که قابلیت masquerading در firewalld فقط برای آی پی نسخه ۴ قابل فعال سازی می شود و masquerading نسخه ۶ آی پی در این دیواره آتش پشتیبانی نمی شود.

برای غیرفعال کردن قابلیت masquerading از دستور زیر استفاده کنید.(در این مثال این قابلیت برای zone، work غیر فعال شده است)

برای بررسی وضیعت فعال بودن قابلیت masquerading از دستور زیر استفاده کنید.(در این مثال این قابلیت برای zone، work مورد بررسی واقع شده است)

برای فعال کردن icmptype در یک zone ازدستور زیر استفاده کنید.(در این مثال icmptype از نوع echo-reply برای zone، work فعال شده است)

همان طور که در بخش های قبلی بیان شد برای به دست آوردن انواع icmptype ها می توانید ار دستور زیر استفاده کنید.

برای غیر فعال کردن icmptype در یک zone ازدستور زیر استفاده کنید.(در این مثال icmptype از نوع echo-reply برای zone، work غیرفعال شده است)

برای بررسی وضیعت فعال بودن icmptype از دستور زیر استفاده کنید. (در این مثال icmptype از نوع echo-reply برای zone، work مورد بررسی واقع شده است)

برای فعال کردن قابلیت port forwarding از دستور زیر استفاده کنید.(در این مثال پورت ۸۰ به پورت ۸۸ در zone،word ارسال (forward) می شود)

مقدار مربوط به port هم می تواند یک پورت و یا محدوده پورت به صورت startport-endport مشخص شود.

مقدار مربوط به proto که مشخص کننده پروتکل می باشد می تواند tcp یا udp باشد.

در قسمت to می توانید به سه نوع زیر مقدار وارد کنید.

۱-toport: در این نوع forwarding به یک پورت انجام می شود که می تواند تواند یک پورت و یا محدوده پورت به صورت startport-endport مشخص شود به مثال زیر توجه کنید.

در این مثال پورت ۸۰ از نوع tcp به پورت ۸۸ forward شده است.

۲-toaddr: در این نوع forwarding به یک آدرس صورت می گیرد به مثال زیر توجه کنید.

در این مثال پورت ۸۰ از نوع tcp به آدرس ۱۹۲.۱۶۸.۲۰.۱۸ forward شده است

۳-toport:toaddr: در این نوع forwarding به یک پورت یا محدوده محدوده پورت برای یک سرور دیگر صورت می گیرد به مثال زیر توجه کنید.

در این مثال پورت ۸۰ از نوع tcp به پورت ۸۸ آدرس ۱۹۲.۱۶۸.۲۰.۱۸ forward شده است.

برای غیر فعال کردن قابلیت port forwarding از دستور زیر استفاده کنید.(در این مثال forwarding پورت ۸۰ به پورت ۸۸ در zone،word  غیر فعال می شود)

برای بررسی فعال بودن قابلیت port forwarding از دستور زیر استفاده کنید.(در این مثال forwarding پورت ۸۰ به پورت ۸۸ در zone،word  مورد بررسی واقع می شود)

 

گزینه permanent:

تا این جای کار تمامی پیکربندی هایی که انجام شد از نوع runtime بود پیکربندی های از این نوع به صورت آنی اعمال می شود با اجرای گزینه reload– یا بارگذاری مجدد سرویس firewalld و یا راه اندازی مجدد سرور از بین می روند در مقابل پیکربندی هایی که از نوع permanent هستند در فایل پیکربندی ذخیره می شوند و برای اعمال آنها حتما باید گزینه –reload اجرا و یا سرویس firewalld راه اندازی مجدد شود تمامی پیکربندی هایی که در بخش های قبلی انجام شد با اضافه کردن گزینه –permanent می تواند از نوع permanent باشد بعد از انجام یک پیکربندی از نوع permanent حتما باید گزینه –reload اجرا شده و یا سرویس firewalld راه اندازی مجدد شود به مثال زیر توجه کنید.

با اجرای دستور بالا پورت ۴۴۳ از نوع tcp به zone، work اضافه می شود ولی چون از نوع permanent است تا اجرای دستور زیر یا راه اندازی مجدد firewalld اعمال نمی شود.

شما احتمالا این مطالب را نیز دوست دارید...

یک بازخورد

  1. Salar می‌گه:

    سلام بر شما سایت بسیار خوبی دارین ولی اگه امکانش بود این آموزش هارو با یه فایل ویدپویی به اشتراک بگذارین عالی میشه برای منی که تازه وارد هستم و هنوز هیچی از اوبونتو سر در نمیارم اما در عین حال خیلی سیستم عاملِ اوبونتو رو دوست دارم با سپاس .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *