c
Netfilter & IPtables
:‫محدوده‬
‫لینوکس‬ ‫در‬ ‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫بررسی‬
‫تاريخچه‬:
‫ردیف‬‫نویسنده‬‫تاریخ‬‫ویرایش‬ ‫شماره‬‫توضیحات‬
۱
۲
‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬
‫مهندسی‬
۱۳۸۹۲.۰.۰
۳
‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬
‫مهندسی‬
۱۳۹۳۲.۱.۰
.‫دارد‬ ‫تعلق‬ ‫نوین‬ ‫داده‬ ‫پویش‬ ‫شبکه‬ ‫مهندسی‬ ‫شرکت‬ ‫به‬ ‫مستند‬ ‫این‬ ‫معنوی‬ ‫و‬ ‫مادی‬ ‫حقوق‬ ‫کلیه‬
‫مندرجات‬ ‫فهرست‬
‫چکیده‬ -.......................................................................................................................................................................................................۳
‫ها‬ ‫واژه‬ ‫کلید‬ -..............................................................................................................................................................................................۳
۱-Netfilter‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫یا‬....................................................................................................................................۳
۱.۱-NetFilter........................................................................................................................................................................................................۴
۲-IPtables‫هاي‬‫بسته‬ ‫پالیش‬ ‫ساختار‬ :IP.............................................................................................................................................۶
۲.۱‫در‬ ‫قانونها‬ -IPtables........................................................................................................................................................................................۸
۲.۲‫در‬ ‫جستجو‬ -IPtables......................................................................................................................................................................................۹
۲.۳‫مختلف‬ ‫سطوح‬ -IPtables.............................................................................................................................................................................۱۰
۲.۴‫کاربر‬ ‫مدیریتي‬ ‫فعالیتهاي‬ -.............................................................................................................................................................................۱۰
۲.۵‫هسته‬ ‫سطح‬ ‫در‬ ‫جداول‬ ‫اطلعات‬ ‫نگهداري‬ ‫طریقه‬ -..........................................................................................................................................۱
۲.۶‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫طریقه‬ -...............................................................................................................................................................................۱
۳‫کارآیي‬ ‫پارامترهاي‬ -................................................................................................................................................................................۲
‫تصاوير‬ ‫فهرست‬
‫تصویر‬۱‫شمای‬ :hook‫در‬ ‫ها‬Netfilter.....................................................................................................................................................۵
‫تصویر‬۲‫قانون‬ ‫یک‬ ‫ای‬‫حافظه‬ ‫شمایل‬ :.......................................................................................................................................................۲
‫جداول‬ ‫فهرست‬
‫ضمائم‬ ‫فهرست‬
۲
‫چکیده‬
‫ساختار‬Netfilter‫و‬ ‫ی‬UU‫طراح‬ ‫وکس‬UU‫لین‬ ‫ل‬UU‫عام‬ ‫تم‬UU‫سیس‬ ‫در‬ ‫بکه‬UU‫ش‬ ‫ای‬UU‫ه‬ ‫ته‬UU‫بس‬ ‫ای‬UU‫پوی‬ ‫ردازش‬UU‫پ‬ ‫ت‬UU‫جه‬
‫سازی‬‫پیاده‬‫معماری‬ ‫معرفی‬ ‫ضمن‬ ‫مستند‬ ‫این‬ .‫است‬ ‫شده‬Netfilter‫معماری‬ ،Iptables‫ابزاری‬ ‫عنوان‬ ‫به‬
‫سازی‬‫پیاده‬‫مبنای‬ ‫بر‬ ‫شده‬Netfilter)‫پالیش‬ ‫برای‬Filtering‫رار‬UU‫ق‬ ‫ی‬UU‫بررس‬ ‫مورد‬ ‫را‬ ،‫شبکه‬ ‫های‬ ‫بسته‬ (
.‫میدهد‬
‫ها‬ ‫واژه‬ ‫کلید‬
Linux, Netfilter, IPtables
۱Netfilter‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫يا‬
‫شناخت‬ ‫مستلزم‬ ( ‫شبکه‬ ‫لية‬ ‫پروتکلهاي‬ ‫به‬ ‫متعلق‬ ‫هاي‬‫بسته‬ ) ‫شبکه‬ ‫هاي‬‫بسته‬ ‫روي‬ ‫بر‬ ‫دلخواه‬ ‫پردازش‬ ‫انجام‬
‫مناسب‬Protocol Stack.‫باشد‬‫مي‬ ‫مربوطه‬ ‫پروتکل‬ ‫به‬ ‫مربوط‬Protocol Stack‫بر‬ ‫گرفته‬ ‫انجام‬ ‫پردازشهاي‬ ‫نمايشگر‬
.‫باشد‬‫مي‬ ‫پردازشي‬ ‫مسیرهاي‬ ‫امتداد‬ ‫در‬ ‫آنها‬ ‫ترتیب‬ ‫همچنین‬ ‫و‬ ‫شبکه‬ ‫بستة‬ ‫روي‬
‫امل‬II‫ش‬ ‫وري‬II‫عب‬ ‫یر‬II‫مس‬ .‫ند‬II‫باش‬‫مي‬ ‫سیستم‬ ‫درون‬ ‫در‬ ‫شبکه‬ ‫بستة‬ ‫حرکت‬ ‫سیر‬ ‫منطقي‬ ‫بیان‬ ‫پردازشي‬ ‫مسیرهاي‬
‫یرياب‬II‫مس‬ ‫يک‬ ‫عنوان‬ ‫به‬ ‫سیستم‬ ‫که‬ ‫هنگامي‬ ‫در‬ ‫مسیر‬ ‫اين‬ .‫هستند‬ ‫ما‬ ‫سیستم‬ ‫از‬ ‫عبور‬ ‫خواستار‬ ‫که‬ ‫باشد‬‫مي‬ ‫هايي‬‫بسته‬
‫ر‬II‫ديگ‬ ‫هاي‬‫تم‬II‫سیس‬ ‫از‬ ‫که‬ ‫باشد‬‫مي‬ ‫هايي‬‫بسته‬ ‫شامل‬ ‫ورودي‬ ‫مسیر‬ .‫شود‬‫مي‬ ‫ايجاد‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫دروازه‬ ‫يا‬
‫مت‬II‫س‬ ‫ه‬II‫ب‬ ‫ا‬II‫م‬ ‫سیستم‬ ‫از‬ ‫که‬ ‫شود‬‫مي‬ ‫شامل‬ ‫را‬ ‫هايي‬‫بسته‬ ‫نیز‬ ‫خروجي‬ ‫مسیر‬ ‫و‬ ‫ند‬‫ا‬‫شده‬ ‫داده‬ ‫گسیل‬ ‫ما‬ ‫سیستم‬ ‫هدف‬ ‫به‬
.‫اند‬‫شده‬ ‫فرستاده‬ ‫ديگر‬ ‫هاي‬‫سیستم‬
‫در‬ ،‫ي‬II‫پردازش‬ ‫مسیرهاي‬ ‫در‬ ‫مناسب‬ ‫مکان‬ V‫ت‬‫شناخ‬ ‫مستلزم‬ ‫شبکه‬ ‫بستة‬ ‫روي‬ ‫بر‬ ‫دلخواه‬ ‫تغییر‬ ‫انجام‬ ‫بر‬ ‫تصمیم‬
‫اي‬‫دازه‬II‫ان‬ ‫ا‬II‫ت‬ ‫وع‬II‫موض‬ ‫ن‬II‫اي‬ .‫د‬II‫باش‬‫مي‬ ‫مکان‬ ‫آن‬ ‫در‬ ‫گرفته‬ ‫صورت‬ ‫پردازش‬ ‫در‬ ‫تغییر‬ ‫انجام‬ ‫سپس‬ ‫و‬ ،‫شبکه‬ ‫ليه‬ ‫درون‬
‫ساختار‬ ‫سلمت‬Protocol Stack.‫اندازد‬‫مي‬ ‫خطر‬ ‫به‬ ‫را‬
۳
‫اختار‬II‫س‬ ‫در‬ ‫ر‬II‫تغیی‬ V‫د‬‫ا‬II‫ايج‬ ‫دون‬II‫ب‬ ‫بکه‬II‫ش‬ ‫هاي‬‫ته‬II‫بس‬ V‫ه‬‫وا‬II‫دلخ‬ V‫ي‬‫تکار‬II‫دس‬ V‫ن‬‫امکا‬ V‫د‬‫ايجا‬ ‫براي‬ ‫تلشي‬ ،‫پردازش‬ ‫ساختار‬
Protocol Stack.‫باشد‬‫مي‬ ،‫سیستم‬
‫ي‬II‫پردازش‬ ‫یرهاي‬II‫مس‬ ‫در‬ ،‫دلخواه‬ ‫پردازشهاي‬ ‫انجام‬ ‫منظور‬ ‫به‬ ‫خاص‬ ‫مکانهايي‬ ،‫پروتکل‬ ‫هر‬ ‫براي‬ ‫شیوه‬ ‫اين‬ ‫در‬
‫شبکه‬ ‫هاي‬‫بسته‬ V‫ش‬‫پرداز‬ V‫ن‬‫خواها‬ V‫ي‬‫فانکشنها‬ ‫ثبت‬ ‫توانايي‬ ‫مکانها‬ ‫اين‬ ‫اصلي‬ ‫خاصیت‬ .‫شوند‬‫مي‬ ‫تعريف‬ ،‫مربوطه‬ ‫پروتکل‬
‫عبور‬ ‫خواهان‬ ‫خود‬ ‫پردازشي‬ ‫مسیر‬ ‫در‬ ‫شبکه‬ ‫بستة‬ ‫يک‬ ‫که‬ ‫هنگامي‬ .‫باشد‬‫مي‬ ،‫اولويت‬ ‫اساس‬ ‫بر‬ ،‫آنها‬ ‫ترتیبي‬ ‫نگهداري‬ ‫و‬
.‫دهند‬‫مي‬ ‫قرار‬ ‫آنها‬ V‫ک‬‫ت‬‫تک‬ ‫اختیار‬ ‫در‬ ‫ترتیب‬ ‫به‬ ‫را‬ ‫بسته‬ ،‫فانکشنها‬ ‫ثبت‬ ‫ترتیب‬ ‫اساس‬ ‫بر‬ ،‫مکانها‬ ‫اين‬ ،‫باشد‬ ‫نقاط‬ ‫اين‬ ‫از‬
‫ادر‬II‫ص‬ ‫ه‬II‫گردون‬ ‫از‬ ‫را‬ ‫بسته‬ ‫حذف‬ ‫فرمان‬ ‫يا‬ ‫و‬ ‫عبور‬ ‫اجازة‬ ،‫دلخواه‬ ‫پردازش‬ ‫انجام‬ ‫از‬ ‫بعد‬ ‫تا‬ ‫باشد‬‫مي‬ ‫موظف‬ ‫فانکشن‬ ‫هر‬
.‫کند‬
‫نام‬ ‫با‬ ‫لینوکس‬ ‫عامل‬ ‫سیستم‬ ‫در‬ ‫ساختار‬ ‫اين‬netfilter.‫شود‬‫مي‬ ‫شناخته‬
۱.۱NetFilter
netfilter‫بسته‬ ‫پردازش‬ ‫و‬ ‫مديريت‬ ‫براي‬ ‫است‬ ‫چهارچوبي‬‫دگاه‬II‫دي‬ ‫از‬ .‫وطه‬II‫مرب‬ ‫ل‬II‫پروتک‬ ‫از‬ ‫تقل‬II‫مس‬ ،‫بکه‬II‫ش‬ ‫اي‬II‫ه‬
،‫سازي‬‫پیاده‬netfilter‫مجموعه‬ ‫قالب‬ ‫در‬ ،‫شبکه‬ ‫هاي‬‫بسته‬ V‫ش‬‫پرداز‬ V‫ن‬‫خواها‬ ‫ماژولهاي‬ ‫نگهداري‬ ‫براي‬ ‫جايگاهي‬‫با‬ ‫هايي‬
‫نام‬hook‫در‬ ‫ف‬II‫مختل‬ ‫هاي‬‫پروتکل‬ ‫توسط‬ ‫که‬netfilter.‫د‬II‫باش‬‫مي‬ ،‫اند‬‫ده‬II‫ش‬ ‫ف‬II‫تعري‬hook‫ت‬II‫ثب‬ ‫اي‬II‫مکانه‬ ‫ان‬II‫هم‬ ‫ا‬II‫ه‬
.‫باشند‬‫مي‬ ‫پردازش‬ ‫ساختار‬ ‫تعريف‬ ‫در‬ ‫فانکشنها‬
‫بسته‬ ‫که‬ ‫صورتي‬ ‫در‬‫مجموعه‬ ‫درون‬ ‫از‬ ‫عبور‬ ‫خواستار‬ ‫اي‬) ‫مشخص‬ ‫اي‬hook‫ط‬II‫توس‬ ‫ته‬II‫بس‬ ‫اين‬ ،‫باشد‬ (netfilter‫در‬
‫مي‬ ‫قرار‬ ‫ماژولها‬ ‫تك‬‫تك‬ ‫اختیار‬‫ه‬II‫ب‬ ‫ا‬II‫بن‬ ‫د‬II‫توانن‬‫مي‬ ‫يعني‬ ،‫بود‬ ‫خواهند‬ ‫عبوري‬ ‫بستة‬ ‫وضعیت‬ ‫کنندة‬‫مشخص‬ ‫ماژولها‬ ،‫گیرد‬
) ‫بدهند‬ ‫عبور‬ ‫اجازه‬ ‫آن‬ ‫به‬ ‫خود‬ ‫تصمیمات‬NF-ACCEPT) ‫د‬II‫کنن‬ ‫حذف‬ ‫گردونه‬ ‫از‬ ‫را‬ ‫آن‬ ، (NF-DROP‫را‬ ‫آن‬ ‫ا‬II‫ي‬ ‫و‬ (
) ‫دهند‬ ‫قرار‬ ‫صف‬ ‫در‬ ‫کاربر‬ ‫سطح‬ ‫در‬ ‫پردازش‬ ‫انجام‬ ‫براي‬NF-QUEUE.... ‫و‬ (
‫پروتکل‬IP‫هاي‬‫بسته‬ ‫آسان‬ ‫مديريت‬ ‫منظور‬ ‫به‬ ،IP‫د‬II‫توانی‬‫مي‬ .‫کند‬‫مي‬ ‫تعريف‬ ‫چوب‬ ‫چهار‬ ‫اين‬ ‫در‬ ‫را‬ ‫مجموعه‬ ‫پنج‬ ،
‫هاي‬‫بسته‬ ‫عبور‬ ‫نحوة‬ ‫و‬ ‫مکانها‬ ‫اين‬ ‫نامگذاري‬ ‫نحوة‬IP‫کل‬II‫ش‬ ‫در‬ ‫را‬ ،‫آنها‬ ‫درون‬ ‫از‬۱‫ه‬II‫ک‬ ‫اژولي‬II‫م‬ ‫ر‬II‫ه‬ .‫د‬II‫کنی‬ ‫اهده‬II‫مش‬
‫بسته‬ ‫وضعیت‬ ‫تعیین‬ ‫و‬ ‫بررسي‬ ‫خواستار‬‫هاي‬IP‫مجموعه‬ ‫اين‬ ‫از‬ ‫يکي‬ ‫در‬ ‫را‬ ‫خود‬ ‫تواند‬‫مي‬ ‫باشد‬.‫کند‬ ‫ثبت‬ ‫ها‬
‫بسته‬ ‫با‬ ‫رفتار‬ ‫گونه‬ ‫اين‬‫هاي‬IP‫مي‬ ‫ما‬ ‫به‬ ‫را‬ ‫امکان‬ ‫اين‬‫ساختار‬ ‫در‬ ‫دستکاري‬ ‫بدون‬ ‫تا‬ ‫دهد‬Protocol stack‫بتوانیم‬
۴
‫پیاده‬ ‫نظیر‬ ،‫خود‬ ‫اهداف‬ ‫به‬‫اعمال‬ ‫انجام‬ ‫و‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫سازي‬NAT
۱
.‫يابیم‬ ‫دست‬ ،
‫بسته‬ ‫مديريت‬ ‫براي‬ ‫مناسب‬ ‫مکان‬ ‫يافتن‬ ‫در‬ ‫ما‬ ‫راهگشاي‬ ‫ارتباط‬ ‫اين‬‫عمل‬ ‫انجام‬ ‫براي‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫بود‬ ‫خواهد‬ ‫ها‬
filtering‫هاي‬‫مجموعه‬NF-IP-INPUT، NF-IP-OUTPUT، NF-IP-FORWARD،‫صورت‬ ‫بدين‬ .‫اند‬‫شده‬ ‫انتخاب‬
.‫شد‬ ‫خواهند‬ ‫بررسي‬ ‫مکان‬ ‫يک‬ ‫در‬ ‫تنها‬ ‫سیستم‬ ‫از‬ ‫عبوري‬ ‫هاي‬‫بسته‬ ‫تمام‬
‫عمل‬ ‫انجام‬ ‫براي‬ :‫ديگر‬ ‫مثالي‬NAT‫مجموعه‬ ،‫هاي‬NF-IP-PREROUTING، NF-IP-OUTPUTV‫ل‬‫عم‬ V‫م‬‫انجا‬ ‫براي‬
‫مبداء‬ ‫آدرس‬ ‫انتقال‬۲
‫و‬NF-IP-POSTROUTING‫مقصد‬ ‫آدرس‬ ‫انتقال‬ ‫براي‬۳
‫شده‬ ‫انتخاب‬ ،‫ن‬I‫اي‬ ‫ورت‬I‫ص‬ ‫ر‬I‫ه‬ ‫به‬V.‫اند‬
‫ساده‬ ‫و‬ ‫خوب‬ ‫بسیار‬ ‫امکان‬ ‫چهارچوب‬‫پیاده‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫اي‬.‫است‬ ‫داده‬ ‫قرار‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫سازان‬
1 Network Address Translation
2 Source NAT
3 Destination NAT
۵
‫تصویر‬۱‫شمای‬ :hook‫در‬ ‫ها‬Netfilter
۲IPtables‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬ :IP
‫اي‬II‫ه‬‫پردازش‬ ‫انجام‬ ‫براي‬ ‫مختلف‬ ‫جريانهاي‬ ‫قالب‬ ‫در‬ ‫ها‬‫بسته‬ ‫واحد‬ ‫جريان‬ ‫تقسیم‬ ‫معني‬ ‫به‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫پاليش‬
‫ال‬II‫اعم‬ ‫شبکه‬ ‫بستة‬ ‫سرآيند‬ ‫فیلدهاي‬ ‫بر‬ ‫را‬ ‫شرايطي‬ ‫که‬ ‫قانون‬ ‫يک‬ ‫توسط‬ ‫جريان‬ ‫هر‬ .‫باشد‬‫مي‬ ‫جريان‬ ‫هر‬ ‫روي‬ ‫بر‬ ‫متنوع‬
.‫شود‬‫مي‬ ‫مشخص‬ ،‫کند‬‫مي‬
‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬IP (iptables‫قانونها‬ ‫مناسب‬ V‫ت‬‫مديري‬ ‫و‬ ‫سازي‬‫ذخیره‬ ‫جهت‬ ‫چهارچوبي‬ ‫ايجاد‬ ‫دنبال‬ ‫به‬ (
‫ن‬II‫تعیی‬ ‫ان‬II‫امک‬ ،‫ا‬II‫قانونه‬ ‫ديريت‬II‫م‬ ‫در‬ ‫ود‬II‫خ‬ ‫ت‬II‫سیاس‬ ‫و‬ ‫استراتژي‬ ‫به‬ ‫توجه‬ ‫با‬ ‫تا‬ ‫کرد‬ ‫خواهد‬ ‫سعي‬ ‫ساختار‬ ‫اين‬ .‫باشد‬‫مي‬
.‫آورد‬ ‫فراهم‬ ‫موجود‬ ‫قانونهاي‬ ‫به‬ ‫توجه‬ ‫با‬ ‫را‬ ‫بسته‬ ‫تکلیف‬
:‫از‬ ‫عبارتند‬ ‫پاليش‬ ‫ساختار‬ ‫هر‬ ‫ملزومات‬
۱-‫انباره‬ ‫دادة‬ ‫ساختمان‬
۲-‫قانون‬ ‫دادة‬ ‫ساختمان‬
۳-‫قانونها‬ ‫مديريت‬ ‫رابط‬
۴-‫انباره‬ ‫ايجاد‬ ‫رابط‬
۵-‫انباره‬ ‫مديريت‬ ‫رابط‬
۶-‫جستجو‬ ‫الگوريتم‬
۷-‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫رابط‬
‫تقل‬II‫مس‬ ‫تجوي‬II‫جس‬ ‫الگوريتم‬ ‫و‬ ‫انباره‬ ‫يک‬ ‫سازي‬‫پیاده‬ ‫به‬ ‫نیازي‬ ‫بندي‬‫دسته‬ V‫د‬‫فرآين‬ ‫يک‬ ‫سازي‬‫پیاده‬ ‫در‬ ‫صورت‬ ‫بدين‬
‫ت‬II‫بايس‬‫مي‬ ‫د‬II‫فرآين‬ ‫ر‬II‫ه‬ ‫ساختار‬ ‫اين‬ ‫در‬ .‫کرد‬ ‫استفاده‬ ‫پاليش‬ ‫ساختار‬ ‫در‬ ‫موجود‬ ‫ويرايش‬ ‫از‬ ‫توان‬‫مي‬ ‫بلکه‬ ،‫بود‬ ‫نخواهد‬
‫ب‬II‫مناس‬ ‫ام‬II‫انج‬ ‫براي‬ ‫لزم‬ ‫ملزومات‬ ‫همچنین‬ ‫و‬ ‫تعريف‬ ‫را‬ ‫خود‬ ‫به‬ ‫متعلق‬ ‫قوانین‬ ‫براي‬ ‫مناسب‬ ‫تطابقهاي‬ ‫و‬ ‫پردازشهاي‬
.( ‫باشد‬‫مي‬ ‫پردازش‬ ‫يک‬ ‫و‬ ‫تطابق‬ ‫چند‬ ‫شامل‬ ‫قانون‬ ‫هر‬ ‫اينکه‬ ‫به‬ ‫توجه‬ ‫با‬ ) ‫آورد‬ ‫فراهم‬ ‫را‬ ‫آنها‬
‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬IP‫دين‬II‫چن‬ ‫اد‬II‫ايج‬ ‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫بکه‬II‫ش‬ ‫هاي‬‫بسته‬ ‫بندي‬‫دسته‬ ‫فرآيند‬ ‫موضوعي‬ ‫تقسیم‬ ‫از‬ ،
) ‫ف‬III‫مختل‬ ‫اري‬III‫ک‬ ‫وعات‬III‫موض‬ ‫ه‬III‫ب‬ ‫وط‬III‫مرب‬ ،‫بندي‬‫ته‬III‫دس‬ ‫د‬III‫فرآين‬filter, NAT, mangle‫تفاده‬IIIII‫،اس‬ ( … ,
‫اليش‬II‫پ‬ ‫اختار‬II‫س‬ ‫از‬ ‫خاصي‬ ‫مکانهاي‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬ ‫شدن‬ ‫محقق‬ ‫که‬ ‫باشد‬‫مي‬ ‫دلیل‬ ‫بدان‬ ‫عمل‬ ‫اين‬ ‫طرح‬ .‫کند‬‫مي‬
۶
‫بستة‬IP‫عمل‬ ‫چنانکه‬ ،‫باشد‬‫مي‬ ‫امکانپذير‬NAT‫مکان‬ ‫در‬ ‫تواند‬‫نمي‬ ‫هرگز‬FORWARD‫ا‬II‫تنه‬ ‫ه‬II‫ک‬ ‫را‬II‫چ‬ ،‫ود‬II‫ش‬ ‫ام‬II‫انج‬
‫ل‬II‫عم‬ ‫وان‬II‫ت‬‫نمي‬ ‫صورت‬ ‫همین‬ ‫به‬ ‫و‬ ،‫باشند‬‫مي‬ ‫مسیريابي‬ ‫عمل‬ ‫انجام‬ ‫از‬ ‫بعد‬ ‫و‬ ‫قبل‬ ‫آن‬ ‫براي‬ ‫مناسب‬ ‫مکانهاي‬filtering
‫مکان‬ ‫در‬ ‫را‬PREROUTING‫ک‬II‫ي‬ ‫ط‬II‫فق‬ ) ‫مکان‬ ‫يک‬ ‫در‬ ‫تنها‬ ‫بسته‬ ‫تست‬ ‫قانون‬ ‫ناقض‬ ‫موضوع‬ ‫اين‬ ‫که‬ ‫چرا‬ ‫داد‬ ‫انجام‬
‫کاري‬ ‫موضوع‬ ‫در‬ (‫مرتبه‬filter‫ه‬II‫ب‬ ‫آن‬ ‫یم‬II‫تقس‬ ‫با‬ ‫وزين‬ ‫و‬ ‫گنده‬ ‫کاري‬ ‫موضوع‬ ‫يک‬ ‫ساخت‬ ‫جاي‬ ‫به‬ ‫نتیجه‬ ‫در‬ .‫باشد‬‫مي‬
‫داده‬ ‫ام‬II‫انج‬ ‫ک‬II‫ي‬ ‫ر‬II‫ه‬ ‫راي‬II‫ب‬ ‫را‬ ‫اي‬‫جداگانه‬ ‫هاي‬‫سازي‬‫پیاده‬ ،‫طلبند‬‫مي‬ ‫را‬ ‫متفاوتي‬ ‫نیازهاي‬ ‫که‬ ‫مختلف‬ ‫کاري‬ ‫موضوعات‬
.‫است‬
‫در‬ ‫را‬ ‫اي‬‫انباره‬ ،‫خود‬ ‫کار‬ ‫به‬ ‫شروع‬ ‫ابتداي‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬IPtables‫ه‬II‫ب‬ ‫سپس‬ ‫و‬ ،‫کند‬‫مي‬ ‫ايجاد‬ ‫خودش‬ ‫نام‬ ‫با‬
‫هاي‬‫بسته‬ ‫پردازش‬ ‫ساختار‬ V‫ب‬‫مناس‬ ‫هاي‬‫مکان‬ ‫در‬ ‫را‬ ‫خود‬ ،‫بندي‬‫دسته‬ ‫قوانین‬ ‫اعمال‬ ‫منظور‬IP‫در‬ ‫ت‬II‫ثب‬ .‫د‬II‫کن‬‫مي‬ ‫ت‬II‫ثب‬
.‫شود‬‫مي‬ ‫انجام‬ ‫کاري‬‫موضوع‬ V‫ر‬‫نظ‬ V‫د‬‫مور‬ V‫ف‬‫هد‬ ‫به‬ ‫توجه‬ ‫با‬ ‫مکانها‬
IPtables‫ره‬II‫زنجی‬ ‫ام‬II‫ن‬ ‫با‬ ‫واحدهايي‬ ‫به‬ ‫را‬ ‫خود‬ ‫هاي‬‫انباره‬ ‫فضاي‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫بهتر‬ ‫مديريت‬ ‫منظور‬ ‫به‬۴
‫یم‬II‫تقس‬
‫هايي‬‫زنجیره‬ ،‫خود‬ ‫انبارة‬ ‫ايجاد‬ ‫هنگام‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬ .‫است‬ ‫کرده‬۵
‫پردازش‬ ‫ساختار‬ ‫در‬ ‫ثبت‬ ‫مکانهاي‬ ‫با‬ ‫متناظر‬ ‫را‬
‫هاي‬‫بسته‬IP‫در‬ ‫ود‬II‫موج‬ ‫اي‬II‫قانونه‬ ‫از‬ ‫تفاده‬II‫اس‬ ‫با‬ ‫مکان‬ ‫هر‬ ‫از‬ ‫عبوري‬ ‫هاي‬‫بسته‬ ‫مديريت‬ ‫طريق‬ ‫بدين‬ ‫تا‬ ‫کند‬‫مي‬ ‫ايجاد‬ ،
.‫شود‬ ‫انجام‬ ‫مکان‬ ‫بدان‬ ‫متعلق‬ ‫زنجیرة‬
‫داد‬II‫امت‬ ‫در‬ ‫داگانه‬II‫ج‬ ‫هاي‬II‫پردازش‬ ‫ام‬II‫انج‬ ‫ان‬II‫امک‬ ،‫ال‬II‫ب‬ ‫در‬ ‫ده‬II‫ش‬ ‫ذکر‬ ‫خصوصیات‬ ‫با‬ ،‫انباره‬ ‫هر‬ ‫در‬ ‫ها‬‫زنجیره‬ ‫وجود‬
.‫کند‬‫مي‬ ‫فراهم‬ ‫را‬ ،‫شبکه‬ ‫هاي‬‫بسته‬ ‫روي‬ ‫بر‬ ،‫مختلف‬ ‫پردازشي‬ ‫مسیرهاي‬
‫ام‬II‫ن‬ ‫ا‬II‫ب‬ ‫ن‬II‫فانکش‬ ‫ک‬II‫ي‬ ‫ط‬II‫راب‬ ‫)اين‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ V‫ط‬‫راب‬ ،‫بسته‬ ‫يک‬ ‫دريافت‬ ‫با‬ ‫کاري‬‫موضوع‬ ‫هر‬ipt_do_table
‫و‬ ‫کند‬‫مي‬ ‫فراخواني‬ ‫را‬ (‫باشد‬‫مي‬IPtables‫مکان‬ ‫به‬ ‫توجه‬ ‫با‬ ‫و‬ ،‫را‬ ‫مناسب‬ ‫انبارة‬ ،‫فراخواننده‬ ‫کاري‬‫موضوع‬ ‫به‬ ‫توجه‬ ‫با‬ ‫نیز‬
‫پردازش‬ ‫ساختار‬ ‫در‬ ‫بسته‬ ‫دريافت‬IP‫ره‬II‫زنجی‬ ‫آن‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫بین‬ ‫در‬ ‫جستجو‬ ‫به‬ ‫و‬ ‫مشخص‬ ‫را‬ ‫مربوطه‬ ‫زنجیرة‬ ،
.‫پردازد‬‫مي‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫منظور‬ ‫به‬
‫در‬ ‫شده‬ ‫ايجاد‬ ‫هاي‬‫انباره‬IPtables‫جدول‬ ‫نام‬ ‫با‬۶
‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫آن‬ ‫ذاري‬II‫نامگ‬ ‫دلیل‬ ‫که‬ ،‫شوند‬‫مي‬ ‫شناخته‬IPtables
.‫باشد‬‫مي‬ ،‫گوناگون‬ ‫کاري‬ ‫موضوعات‬ ‫به‬ ‫مربوط‬ ،‫مختلف‬ ‫جداول‬ ‫وجود‬
4 Chain
5 Builtin Chains
6 Table
۷
۲.۱‫در‬ ‫قانونها‬IPtables
‫در‬ ‫قانون‬ ‫هر‬IPtables:‫شود‬‫مي‬ ‫تشکیل‬ ‫قسمت‬ ‫سه‬ ‫از‬
۱-‫شناسه‬.‫د‬II‫باش‬‫مي‬ ‫بکه‬II‫ش‬ ‫بستة‬ ‫پروتکل‬ ‫و‬ ‫خروجي‬ ‫درگاه‬ ،‫ورودي‬ ‫درگاه‬ ،‫مقصد‬ ‫آدرس‬ ،‫مبدا‬ ‫آدرس‬ ‫شامل‬ :
‫متمايز‬ ‫ايستا‬ ‫صورت‬ ‫به‬ ،‫باشد‬‫مي‬ ‫آن‬ ‫نمايندة‬ ‫قانون‬ ‫اين‬ ‫که‬ ‫را‬ ‫جرياني‬ ‫به‬ ‫متعلق‬ ‫شبکة‬ ‫هاي‬‫بسته‬ ،‫اطلعات‬ ‫اين‬
.‫کنند‬‫مي‬
۲-‫ها‬‫تطابق‬۷
‫تواند‬‫مي‬ ‫قانون‬ ‫هر‬ .‫کنند‬‫مي‬ ‫پردازش‬ ‫دلخواه‬ ‫طرز‬ ‫به‬ ‫را‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫که‬ ‫باشند‬‫مي‬ ‫فانکشنهايي‬ :
‫در‬ ‫و‬ ‫انون‬II‫ق‬ ‫ة‬II‫شناس‬ ‫ا‬II‫ب‬ ‫تطابق‬ ‫اول‬ ‫مرحلة‬ ‫در‬ ‫قانون‬ ‫يک‬ ‫با‬ ‫بسته‬ ‫تطابق‬ ‫شرط‬ .‫باشد‬ ‫داشته‬ ‫تطابق‬ ‫چند‬ ‫يا‬ ‫صفر‬
.‫باشد‬‫مي‬ ‫تطابقها‬ V‫ک‬‫ت‬‫تک‬ ‫توسط‬ ‫شدن‬ ‫پذيرفته‬ ‫دوم‬ ‫مرحلة‬
۳-‫پردازش‬۸
.‫باشد‬‫مي‬ ‫استاندارد‬ ‫مورد‬ ‫يک‬ ‫يا‬ ‫و‬ ‫زنجیره‬ ‫يک‬ ‫نام‬ ‫يا‬ ‫فانکشن‬ ‫يک‬ (‫بسته‬ ‫تکلیف‬ ‫کنندة‬‫)مشخص‬ :
.‫باشد‬ ‫داشته‬ ‫تطابق‬ ‫قانون‬ ‫با‬ ‫بسته‬ ‫که‬ ‫شد‬ ‫خواهد‬ ‫فراخواني‬ ‫صورتي‬ ‫در‬ ‫بسته‬ ‫يک‬ ‫براي‬ ‫پردازش‬
✗‫ادير‬II‫مق‬ ‫از‬ ‫آگاهي‬ ‫)براي‬ ‫کند‬‫مي‬ ‫مشخص‬ ‫را‬ ‫بسته‬ ‫تکلیف‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫استاندارد‬ ‫حالت‬ ‫در‬
‫در‬ ‫جستجو‬ ‫قسمت‬ ‫به‬ ‫کنید‬ ‫نگاه‬ ‫استاندارد‬IPtables.(II‫صادره‬ ‫رمانهاي‬II‫ف‬ –
✗‫ار‬II‫اختی‬ ‫در‬ ‫ردازش‬II‫پ‬ ‫ام‬II‫انج‬ ‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫بسته‬ ،‫فانکشن‬ ‫يک‬ ‫صورت‬ ‫به‬ ‫پردازش‬ ‫بیان‬ ‫صورت‬ ‫در‬
.‫شد‬ ‫خواهد‬ ‫مشخص‬ ‫فانکشن‬ ‫توسط‬ ‫بسته‬ ‫تکلیف‬ ‫و‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫فانکشن‬
✗‫کاربر‬ ‫هاي‬‫زنجیره‬ ‫فقط‬۹
‫ا‬II‫ه‬‫زنجیره‬ ‫ن‬II‫اي‬ .‫د‬II‫گیرن‬ ‫رار‬II‫ق‬ ‫استفاده‬ ‫مورد‬ ‫پردازش‬ ‫عنوان‬ ‫به‬ ‫توانند‬‫مي‬
‫کاربران‬ ‫توسط‬IPtables‫وعات‬II‫موض‬ ‫ط‬I‫توس‬ ‫ه‬I‫ک‬ ‫تند‬II‫هس‬ ‫هايي‬‫زنجیره‬ ‫از‬ ‫متفاوت‬ ‫و‬ ‫شوند‬‫مي‬ ‫تعريف‬
‫اي‬II‫ه‬‫زنجیره‬ ‫خلف‬ ‫ر‬II‫ب‬ ‫درست‬ ‫هستند‬ ‫شدن‬ ‫حذف‬ ‫قابل‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫که‬ ‫چرا‬ ،‫شوند‬‫مي‬ ‫ايجاد‬ ‫کاري‬
‫ا‬II‫پوي‬ ‫و‬ ‫ذير‬II‫انعطافپ‬ ‫ردازش‬II‫پ‬ ‫اي‬II‫فض‬ ‫ايجاد‬ ‫منظور‬ ‫به‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫وجود‬ .‫کاري‬‫موضوعات‬ ‫به‬ ‫متعلق‬
‫داده‬ ‫یل‬II‫گس‬ ‫ده‬II‫ش‬ ‫ر‬II‫ذک‬ ‫رة‬II‫زنجی‬ ‫درون‬ ‫به‬ ‫قانون‬ ‫اين‬ ‫با‬ ‫مطابق‬ ‫هاي‬‫بسته‬ ‫تمام‬ ‫حالت‬ ‫اين‬ ‫در‬ .‫باشد‬‫مي‬
.‫بود‬ ‫خواهند‬ ‫بسته‬ ‫تکلیف‬ ‫کنندة‬ ‫مشخص‬ ‫زنجیره‬ ‫آن‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬ ‫صورت‬ ‫بدين‬ ‫و‬ ‫شد‬ ‫خواهند‬
‫توسعة‬ ‫ابزار‬ ‫جزو‬ (‫فانکشن‬ ‫صورت‬ ‫پردازشها)به‬ ‫و‬ ‫تطابقها‬IPtables‫ي‬II‫معن‬ ‫دان‬II‫ب‬ ‫وع‬II‫موض‬ ‫اين‬ .‫آيند‬‫مي‬ ‫حساب‬ ‫به‬
7 Maches
8 Target
9 User Chains
۸
‫در‬ ‫تغییر‬ ‫ايجاد‬ ‫به‬ ‫نیازي‬ ‫آنها‬ ‫گسترش‬ ‫و‬ ‫ساخت‬ ‫که‬ ‫است‬IPtables‫ن‬II‫همی‬ ‫ه‬II‫ب‬ ‫ه‬II‫ک‬ ‫ي‬II‫رابط‬ ‫از‬ ‫تفاده‬II‫اس‬ ‫با‬ ‫بلکه‬ ‫ندارد‬
.‫دارند‬ ‫شدن‬ ‫استفاده‬ ‫و‬ ‫ثبت‬ ‫امکان‬ ‫ابزارها‬ ‫اين‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫منظور‬
‫قدرت‬IPtables‫اخته‬II‫س‬ ‫آن‬ ‫راي‬II‫ب‬ ‫ه‬II‫ک‬ ‫باشد‬‫مي‬ ‫مفیدي‬ ‫و‬ ‫مناسب‬ ‫تطابقهاي‬ ‫و‬ ‫پردازشها‬ ‫به‬ ‫وابسته‬ ‫زيادي‬ ‫حد‬ ‫در‬
‫ال‬II‫مث‬ ‫وان‬II‫عن‬ ‫ه‬II‫ب‬ ،‫د‬II‫کن‬‫مي‬ ‫ف‬II‫تعري‬ ‫را‬ ‫ود‬II‫خ‬ ‫اص‬II‫خ‬ ‫هاي‬II‫پردازش‬ ‫ود‬II‫خ‬ ‫نیاز‬ ‫برحسب‬ ‫کاري‬‫موضوع‬ ‫هر‬ .‫اند‬‫شده‬NAT
‫پردازشهاي‬DNAT‫و‬SNAT‫جدول‬ ‫در‬ ‫فقط‬ ‫که‬ ‫را‬nat‫و‬ ‫ا‬II‫تطابقه‬ ‫اخت‬II‫س‬ ‫ول‬II‫اص‬ .‫د‬II‫کن‬‫مي‬ ‫ف‬II‫تعري‬ ،‫ند‬II‫باش‬‫مي‬ ‫مجاز‬
‫و‬ ‫داول‬II‫ج‬ ‫ام‬I‫تم‬ ‫در‬ ‫را‬ ‫ا‬II‫آنه‬ ‫از‬ ‫تفاده‬II‫اس‬ V‫ع‬‫ان‬II‫م‬ ‫ه‬I‫ک‬ ‫رد‬II‫گی‬‫مي‬ ‫ورت‬II‫ص‬ ‫سازندگان‬ ‫نظر‬ ‫مورد‬ ‫اهداف‬ ‫اساس‬ ‫بر‬ ‫پردازشها‬
.‫گردد‬‫مي‬ ‫ها‬‫زنجیره‬
۲.۲‫در‬ ‫جستجو‬IPtables
‫عمل‬ ،‫متناظر‬ ‫زنجیرة‬ ‫و‬ ‫جدول‬ ‫شدن‬ ‫مشخص‬ ‫و‬ ‫کاري‬‫موضوع‬ ‫يک‬ ‫توسط‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫رابط‬ ‫فراخواني‬ ‫پي‬ ‫در‬
.‫شود‬‫مي‬ ‫آغاز‬ ‫زنجیره‬ ‫آن‬ ‫قانونهاي‬ ‫بین‬ ‫در‬ ‫جستجو‬
‫دا‬II‫پی‬ ‫ه‬II‫ادام‬ ‫ته‬II‫بس‬ ‫ف‬II‫تکلی‬ ‫دن‬II‫ش‬ ‫مشخص‬ ‫تا‬ ‫و‬ ‫شود‬‫مي‬ ‫انجام‬ ‫ترتیبي‬ ‫صورت‬ ‫به‬ ‫زنجیره‬ ‫قانونهاي‬ ‫بین‬ ‫در‬ ‫جستجو‬
:‫کند‬ ‫صادر‬ ‫را‬ ‫فرمان‬ ‫گونه‬ ‫چهار‬ ‫تواند‬‫مي‬ ‫قانون‬ ‫هر‬ .‫کند‬‫مي‬
۱-‫پذیرش‬ ‫فرمان‬)ACCEPT‫د‬II‫خواه‬ ‫داده‬ ‫ور‬II‫عب‬ ‫ازة‬I‫اج‬ ‫بسته‬ ‫به‬ ‫و‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫صورت‬ ‫اين‬ ‫در‬ :(
.‫شد‬
۲-‫حذف‬ ‫فرمان‬)DROP‫از‬ ‫بسته‬ ‫ولي‬ ‫شود‬‫مي‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫قبل‬ ‫حالت‬ ‫همچون‬ ‫نیز‬ ‫حالت‬ ‫اين‬ ‫در‬ :(
.‫شود‬‫مي‬ ‫حذف‬ ‫گردونه‬
۳-‫جستجو‬ ‫ادامة‬ ‫فرمان‬)CONTINUE.‫کند‬‫مي‬ ‫پیدا‬ ‫ادامه‬ ‫بعدي‬ ‫قانون‬ ‫از‬ ‫جستجو‬ ‫مورد‬ ‫اين‬ ‫در‬ :(
۴-‫بازگشت‬ ‫فرمان‬)RETURN‫از‬ ‫د‬II‫بع‬ ‫قانون‬ ‫از‬ ‫جستجو‬ ‫ادامة‬ ‫و‬ ‫فراخواننده‬ ‫زنجیرة‬ ‫به‬ ‫بازگشت‬ ‫معني‬ ‫به‬ :(
‫شده‬ ‫فراخوانده‬ ‫زنجیرة‬ ‫يک‬ ‫در‬ ‫ما‬ ‫که‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫هنگامي‬ ‫مورد‬ ‫اين‬ .‫باشد‬‫مي‬ ‫فراخواننده‬ ‫قانون‬
.‫بازگرديم‬ ‫قبلي‬ ‫زنجیرة‬ ‫به‬ ‫بخواهیم‬ ‫و‬ (‫کاربر‬ ‫هاي‬‫)زنجیره‬ ‫باشیم‬
۵-‫بندي‬‫صف‬ ‫فرمان‬)QUEUE‫ده‬II‫ران‬ ‫صف‬ ‫درون‬ ‫به‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫پردازش‬ ‫براي‬ ‫بسته‬ ‫حالت‬ ‫اين‬ ‫در‬ :(
.‫شود‬‫مي‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫و‬ ‫شود‬‫مي‬
۹
‫هر‬ ‫توسط‬ ‫شده‬ ‫اعمال‬ ‫شروط‬ ‫اساس‬ ‫بر‬ ،‫جستجو‬ ‫درهنگام‬ .‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫فرمان‬ ‫صدور‬ ‫وظیفة‬ ‫قانون‬ ‫هر‬ ‫پردازش‬
‫و‬ ‫واني‬II‫فراخ‬ ‫انون‬II‫ق‬ ‫ردازش‬II‫پ‬ ‫ابق‬I‫تط‬ ‫روز‬II‫ب‬ ‫ورت‬I‫ص‬ ‫در‬ .‫شود‬‫مي‬ ‫گیري‬‫تصمیم‬ ‫بسته‬ ‫تطابق‬ ،( ‫تطابقها‬ ‫و‬ ‫شناسه‬ ) ‫قانون‬
.‫شود‬‫مي‬ ‫صادر‬ ‫آن‬ ‫توسط‬ ‫فرمان‬
‫ابق‬II‫تط‬ V‫ن‬‫انو‬II‫ق‬ V‫ش‬‫رداز‬II‫پ‬ ‫سوي‬ ‫از‬ ‫صادره‬ ‫فرمان‬ ‫بلکه‬ ‫نیست‬ ‫جستجو‬ ‫توقف‬ ‫عامل‬ ‫تطابق‬ ‫به‬ ‫حصول‬ ،‫جستجو‬ ‫اين‬ ‫در‬
.‫شد‬ ‫خواهد‬ ‫متوقف‬ ،‫بسته‬ ‫تکلیف‬ ‫شدن‬ ‫مشخص‬ ‫صورت‬ ‫در‬ ‫جستجو‬ ‫عبارتي‬ ‫به‬ .‫باشد‬‫مي‬ ‫گیري‬‫تصمصم‬ ‫مبناي‬ ‫يافته‬
۲.۳‫مختلف‬ ‫سطوح‬IPtables
‫هسته‬ ‫سطح‬ .‫باشد‬‫مي‬ ‫کابر‬ ‫و‬ ‫هسته‬ ‫سطح‬ ‫دو‬ ‫در‬ ‫ويرايش‬ ‫دو‬ ‫از‬ ‫اي‬‫مجموعه‬ ،‫پاليش‬ ‫ساختار‬۱۰
‫بسته‬ ‫مديريت‬ ‫وظیفة‬
‫کاربر‬ ‫سطح‬ ‫و‬ ،‫جستجو‬ ‫عمل‬ ‫انجام‬ ‫و‬ ‫شبکه‬ ‫هاي‬۱۱
.‫دارند‬ ‫عهده‬‫بر‬ ‫را‬ ‫ها‬‫انباره‬ ‫مديريت‬ ‫وظیفة‬
‫ماژول‬ ‫توسط‬ ‫قانونها‬ ‫هسته‬ ‫سطح‬ ‫در‬ip_tables‫اربر‬II‫ک‬ ‫سطح‬ ‫در‬ .‫شوند‬‫مي‬ ‫مديريت‬ ‫آن‬ ‫توسط‬ ‫ها‬ ‫بسته‬ ‫و‬ ‫نگهداري‬
‫دستور‬iptables‫پوستة‬ ‫در‬۱۲
‫اژول‬II‫م‬ ‫ا‬II‫ب‬ ‫کاربر‬ ‫سطح‬ ‫در‬ ‫کاربران‬ ‫رابط‬ ،‫لینوکس‬ip_tables‫ة‬II‫وظیف‬ ،‫ته‬II‫هس‬ ‫طح‬II‫س‬ ‫در‬
.‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫ها‬‫انباره‬ ‫در‬ ‫موجود‬ ‫اطلعات‬ ‫مديريت‬
۲.۴‫کاربر‬ ‫مديريتي‬ ‫فعالیتهاي‬
‫دستور‬ ‫وسیلة‬ ‫به‬ ‫و‬ ‫سیستم‬ ‫کاربران‬ ‫توسط‬ ‫مديريتي‬ ‫فعالیتها‬ ‫تمامي‬iptables.‫ود‬II‫ش‬‫مي‬ ‫ام‬II‫انج‬ ‫وکس‬II‫لین‬ ‫تة‬II‫پوس‬ ‫در‬
:‫از‬ ‫عبارتند‬ ‫فعالیتها‬ ‫اين‬ ‫عمدة‬
۱-‫قانون‬ ‫جایگزیني‬ ‫و‬ ‫حذف‬ ،‫اضافه‬‫ف‬II‫تعري‬ ‫در‬ .‫ند‬II‫باش‬‫مي‬ ‫مديريتي‬ ‫فعالیتهاي‬ ‫پرکاربردترين‬ ‫و‬ ‫مهمترين‬ ‫از‬ :
‫دام‬II‫اق‬ ،‫باشد‬‫مي‬ ‫آن‬ ‫در‬ ‫قانون‬ ‫مديريت‬ ‫خواستار‬ ‫که‬ ‫اي‬‫زنجیره‬ ‫و‬ ‫جدول‬ ‫کردن‬ ‫مشخص‬ ‫از‬ ‫بعد‬ ‫کاربر‬ ،‫قانون‬ ‫هر‬
‫از‬ ‫ا‬II‫قانونه‬ ‫ترتیبي‬ ‫ذخیرة‬ ‫به‬ ‫توجه‬ ‫با‬ .‫کند‬‫مي‬ ‫مربوطه‬ ‫پردازش‬ ‫بیان‬ ،‫پايان‬ ‫در‬ ‫و‬ ‫تطابقها‬ ‫بیان‬ ،‫شناسه‬ ‫تعريف‬ ‫به‬
:‫مثال‬ .‫کرد‬ ‫استفاده‬ ‫توان‬‫مي‬ ‫جايگزيني‬ ‫و‬ ‫حذف‬ ‫اعمال‬ ‫انجام‬ ‫براي‬ ‫قانون‬ ‫شمارة‬
iptables -t filter -A FORWARD -s 1.1.1.1 -d 2.2.2.2 -m state --state NEW -j DROP
10 Kernel Space
11 User Space
12 Shell
۱۰
‫جدول‬ ‫به‬ ‫قانون‬ ‫يک‬ ‫مثال‬ ‫اين‬ ‫در‬filter‫زنجیرة‬ ،FORWARD‫داراي‬ ‫انون‬II‫ق‬ ‫اين‬ ‫شناسة‬ .‫شد‬ ‫خواهد‬ ‫اضافه‬
‫مبدا‬ ‫آدرس‬۱.۱.۱.۱‫مقصد‬ ‫آدرس‬ ‫و‬۲.۲.۲.۲‫ل‬II‫پروتک‬ ‫و‬ ‫ورجي‬II‫خ‬ ‫و‬ ‫ورودي‬ ‫هاي‬‫درگاه‬ ‫نشدن‬ ‫بیان‬ .‫باشد‬‫مي‬
‫ابق‬II‫تط‬ ‫از‬ ‫قانون‬ ‫اين‬ .‫باشد‬‫مي‬ ‫موارد‬ ‫تمامي‬ ‫پذيرش‬ ‫اجازة‬ ‫معناي‬ ‫به‬ ‫مربوطه‬state‫ا‬II‫ب‬ ‫تاندارد‬II‫اس‬ ‫ردازش‬II‫پ‬ ‫و‬
‫مقدار‬DROP‫از‬ ‫ارسالي‬ ‫هاي‬‫بسته‬ ‫تمامي‬ ‫قانون‬ ‫اين‬ .‫کند‬‫مي‬ ‫استفاده‬۱.۱.۱.۱‫ه‬II‫ب‬۲.۲.۲.۲‫ة‬II‫مرحل‬ ‫در‬ ‫ه‬II‫ک‬ ‫را‬
.‫کرد‬ ‫خواهد‬ ‫حذف‬ ،‫باشند‬ ‫ارتباط‬ ‫برقراري‬
۲-‫زنجیره‬ ‫سیاست‬ ‫تغییر‬:IPtables‫زنجیره‬‫سیاست‬ ‫تعريف‬ ‫امکان‬۱۳
‫اي‬II‫ه‬‫زنجیره‬ ‫راي‬II‫ب‬ ‫را‬Built-in‫م‬II‫فراه‬
‫از‬ ‫د‬II‫کنن‬ ‫خص‬II‫مش‬ ‫را‬ ‫ته‬II‫بس‬ ‫ف‬II‫تکلی‬ ‫تند‬II‫نتوانس‬ ‫زنجیره‬ ‫يک‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬ ‫اگر‬ ‫صورت‬ ‫اين‬ ‫در‬ .‫کند‬‫مي‬
‫ادير‬II‫مق‬ ‫د‬II‫توان‬‫مي‬ ‫ره‬II‫زنجی‬ ‫ت‬II‫سیاس‬ .‫ود‬II‫ش‬‫مي‬ ‫استفاده‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫براي‬ ‫زنجیره‬ ‫سیاست‬ACCEPT‫و‬
DROP:‫مثال‬ .‫کند‬ ‫اختیار‬ ‫را‬
iptables -t filter -P INPUT DROP
‫زنجیرة‬ ‫سیاست‬ ‫شود‬‫مي‬ ‫مشاهد‬ ‫چنانکه‬INPUT‫جدول‬ ‫در‬filter ، DROP‫عبارتي‬ ‫به‬ .‫است‬‫شده‬ ‫تعريف‬
.‫شود‬‫مي‬ ‫جلوگیري‬ ،‫محلي‬ ‫سیستم‬ ‫به‬ ‫ندارد‬ ‫وجود‬ ‫آنها‬ ‫براي‬ ‫قانوني‬ ‫که‬ ‫هايي‬‫بسته‬ ‫ورود‬ ‫از‬
۳-‫کاربر‬ ‫هاي‬‫زنجیره‬ ‫نام‬i‫ر‬‫تغیی‬ ‫و‬ ‫حذف‬ ،‫ایجاد‬،‫ب‬II‫مناس‬ ‫ردازش‬II‫پ‬ ‫ط‬II‫محی‬ ‫اد‬II‫ايج‬ ‫راي‬II‫ب‬ ‫د‬II‫توانن‬‫مي‬ ‫کاربران‬ :
‫آن‬ ‫اي‬II‫قانونه‬ ‫ف‬II‫تعري‬ ‫در‬ ‫پردازش‬ ‫عنوان‬ ‫به‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫از‬ ‫توان‬‫مي‬ .‫کنند‬ ‫تعريف‬ ‫جداول‬ ‫در‬ ‫را‬ ‫هايي‬‫زنجیره‬
:‫مثال‬ .‫ندارند‬ ‫را‬ ‫زنجیره‬ ‫سیاست‬ ‫پذيرش‬ ‫توانايي‬ ‫ها‬‫زنجیره‬ ‫اين‬ .‫کرد‬ ‫استفاده‬ ‫جدول‬
iptables -t nat -N newCHIAN
‫نام‬ ‫با‬ ‫را‬ ‫اي‬‫تازه‬ ‫زنجیرة‬ ‫دستور‬ ‫اين‬newCHAIN‫جدول‬ ‫در‬nat.‫کند‬‫مي‬ ‫ايجاد‬
۴-‫جداول‬ ‫سازي‬‫پاک‬۱۴
‫ک‬II‫ي‬ ‫در‬ ‫ود‬II‫موج‬ ‫اي‬II‫قانونه‬ ‫ام‬II‫تم‬ ‫ا‬I‫ت‬ ‫بود‬ ‫خواهد‬ ‫قادر‬ ‫کاربر‬ ‫دستور‬ ‫اين‬ ‫از‬ ‫استفاده‬ ‫با‬ :
.‫کنند‬ ‫حذف‬ ‫را‬ ‫جدول‬
13 Chain Policy
14 Flush
۱۱
۲.۵‫هسته‬ ‫سطح‬ ‫در‬ ‫جداول‬ ‫اطلعات‬ ‫نگهداري‬ ‫طريقه‬
‫سازي‬‫پیاده‬ ‫در‬ ‫حاکم‬ ‫تفکر‬IPtables‫در‬ ‫والي‬II‫مت‬ ‫صورت‬ ‫به‬ ‫لزم‬ ‫اطلعات‬ ‫سازي‬‫ذخیره‬ ‫و‬ ‫پیوسته‬ ‫حافظة‬ ‫از‬ ‫استفاده‬
‫سازان‬‫پیاده‬ ‫آوري‬‫روي‬ ‫دلیل‬ ‫عمده‬ .‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬ ‫اين‬ ‫درون‬IPtables‫ن‬II‫تري‬‫بهینه‬ ‫کردن‬ ‫فراهم‬ ،‫شیوه‬ ‫اين‬ ‫به‬
‫و‬ ‫تر‬‫ساده‬ ‫مراتب‬ ‫به‬ ‫پیوسته‬ ‫اي‬‫حافظه‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫کردن‬ ‫سیر‬ ‫که‬ ‫چرا‬ ،‫باشد‬‫مي‬ ‫ترتیبي‬ ‫جستجوي‬ ‫انجام‬ ‫براي‬ ‫محیط‬
.‫باشد‬‫مي‬ ‫پراکنده‬ ‫اي‬‫حافظه‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫حرکت‬ ‫از‬ ‫سريعتر‬
‫ال‬II‫انتق‬ ‫تلزم‬II‫مس‬ ‫اره‬II‫انب‬ ‫در‬ ‫تغییر‬ ‫گونه‬ ‫هر‬ ‫انجام‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫مديريتي‬ ‫فعالیتهاي‬ ‫تمرکز‬ ‫دلیل‬ ‫به‬ ‫ديگر‬ ‫سوي‬ ‫از‬
‫از‬ ‫شده‬‫هنگام‬‫به‬ ‫انبارة‬ ‫انتقال‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫انباره‬ ‫سازي‬‫هنگام‬‫به‬ ‫انجام‬ ‫از‬ ‫بعد‬ ،‫و‬ ‫کاربر‬ ‫سطح‬ ‫به‬ ‫درخواست‬ ‫مورد‬ ‫انبارة‬
،‫ب‬II‫مرات‬ ‫ه‬II‫ب‬ ،‫ته‬II‫پیوس‬ ‫اي‬II‫ه‬‫حافظه‬ ‫با‬ ‫امور‬ ‫اين‬ ‫انجام‬ .‫باشد‬‫مي‬ ‫قديمي‬ ‫انبارة‬ ‫با‬ ‫جايگزيني‬ ‫و‬ ‫هسته‬ ‫سطح‬ ‫به‬ ‫کاربر‬ ‫سطح‬
‫و‬ ‫هسته‬ ‫سطح‬ ‫به‬ ‫کاربر‬ ‫سطح‬ ‫از‬ ،‫انباره‬ ‫به‬ ‫مربوط‬ ‫حافظة‬ ‫کردن‬ ‫کپي‬ ‫با‬ ‫توان‬‫مي‬ ‫را‬ ‫انتقال‬ ‫هر‬ ‫که‬ ‫چرا‬ ‫بود‬ ‫خواهد‬ ‫تر‬‫ساده‬
.‫داد‬ ‫انجام‬ ،‫بالعکس‬
‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ .‫است‬‫شده‬ ‫نیز‬ ‫ساختارها‬ ‫تعريف‬ ‫در‬ ‫جالبي‬ ‫ابتکارت‬ ‫از‬ ‫استفاده‬ ‫به‬ ‫سازان‬‫پیاده‬ ‫آوري‬‫روي‬ ‫باعث‬ ‫تفکر‬ ‫اين‬
،‫شوند‬‫مي‬ ‫ذخیره‬ ‫پیوسته‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫متوالي‬ ‫صورت‬ ‫به‬ ‫که‬ ‫ساختارهايي‬ ‫انتهايي‬ ‫فضاي‬ ‫به‬ ‫تر‬‫ساده‬ ‫و‬ ‫مناسب‬ ‫دسترسي‬
IPtables‫وان‬II‫عن‬ ‫چ‬II‫هی‬ ‫ه‬II‫ب‬ ‫ا‬II‫ه‬‫آرايه‬ ‫ن‬II‫اي‬ .‫کند‬‫مي‬ ‫استفاده‬ ‫ساختارها‬ ‫اين‬ ‫انتهاي‬ ‫در‬ ‫صفر‬ ‫طول‬ ‫با‬ ‫هايي‬‫آرايه‬ ‫تعريف‬ ‫از‬
‫ي‬II‫نويس‬‫برنامه‬ ‫ام‬II‫هنگ‬ ‫در‬ ‫و‬ ‫ود‬II‫ب‬ ‫د‬II‫خواه‬ ‫مربوطه‬ ‫ساختار‬ ‫انتهاي‬ ‫به‬ ‫گري‬‫اشاره‬ ‫آنها‬ ‫نام‬ ‫بلکه‬ ،‫کنند‬‫نمي‬ ‫اشغال‬ ‫را‬ ‫فضايي‬
‫ايي‬II‫جابج‬ ‫اعث‬II‫ب‬ ‫اريف‬II‫تع‬ ‫اين‬ ‫از‬ ‫استفاده‬ .‫کرد‬ ‫استفاده‬ ‫ساختار‬ ‫اين‬ ‫دنبالة‬ ‫فضاي‬ ‫به‬ ‫دسترسي‬ ‫براي‬ ‫آنها‬ ‫نام‬ ‫از‬ ‫توان‬‫مي‬
.‫شود‬‫مي‬ ‫حافظه‬ ‫در‬ ‫آسان‬
۲.۶‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫طريقه‬
‫در‬ ‫قانون‬ ‫يک‬IPtables‫تطابقها‬ ،‫سرآيند‬ V‫ب‬‫ترتی‬ ‫به‬ ‫قانون‬ ‫يک‬ ‫اطلعت‬ ‫که‬ ‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬ ‫يک‬ ‫صورت‬ ‫به‬
‫را‬ ‫اگوني‬II‫گون‬ ‫دهاي‬II‫فیل‬ ،‫شناسه‬ ‫بر‬ ‫علوه‬ ،‫شده‬ ‫انجام‬ ‫سازي‬‫پیاده‬ ‫در‬ ،‫سرآيند‬ ‫ساختار‬ .‫گیرند‬‫مي‬ ‫قرار‬ ‫آن‬ ‫در‬ ‫پردازش‬ ‫و‬
.‫کشد‬‫مي‬ ‫يدک‬ ‫خود‬ ‫با‬ ،‫قانون‬ ‫پردازش‬ ‫مکان‬ ‫و‬ ‫قانون‬ ‫طول‬ ‫شناسايي‬ ‫براي‬
‫ن‬II‫اي‬ .‫د‬II‫کنن‬ ‫افت‬II‫دري‬ ‫ود‬II‫خ‬ ‫هاي‬II‫پردازش‬ ‫ام‬II‫انج‬ ‫راي‬II‫ب‬ ‫اربر‬II‫ک‬ ‫از‬ ‫را‬ ‫مختلفي‬ ‫اطلعات‬ ‫توانند‬‫مي‬ ‫پردازشها‬ ‫و‬ ‫تطابقها‬
۱۲
‫در‬ ‫ره‬II‫تی‬ ‫متهاي‬II‫رد)قس‬II‫گی‬‫مي‬ ‫رار‬II‫ق‬ ‫مربوطه‬ ‫پردازش‬ ‫يا‬ ‫و‬ ‫تطابق‬ ‫به‬ ‫متعلق‬ ‫حافظة‬ ‫ادامة‬ ‫در‬ ‫قانون‬ ‫حافظة‬ ‫در‬ ‫اطلعات‬
‫ت‬II‫ثب‬ ‫ام‬II‫هنگ‬ ‫در‬ ‫ا‬II‫آنه‬ ‫ط‬II‫توس‬ ‫و‬ ‫داشته‬ ‫مربوطه‬ ‫تطابق‬ ‫يا‬ ‫و‬ ‫پردازش‬ ‫به‬ ‫بستگي‬ ‫اطلعات‬ ‫اين‬ ‫حافظة‬ ‫اندازة‬ .(‫زير‬ ‫شکل‬
‫تصوير‬ ‫در‬ ‫قانون‬ ‫يک‬ ‫اي‬‫حافظه‬ ‫شمايل‬ .‫شود‬‫مي‬ ‫مشخص‬۲.‫است‬ ‫شده‬ ‫داده‬ ‫نمايش‬
۳‫کارآيي‬ ‫پارامترهاي‬
‫جستجو‬ ‫سرعت‬‫ة‬II‫مرتب‬ ‫از‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫پیچیدگي‬ :O n‫داد‬II‫تع‬ ‫ش‬II‫افزاي‬ ‫ا‬II‫ب‬ ‫ارتي‬II‫عب‬ ‫ه‬II‫ب‬ ،‫د‬II‫باش‬‫مي‬
.‫يابد‬ ‫کاهش‬ ‫جستجو‬ ‫فرآيند‬ ‫سرعت‬ ‫که‬ ‫رود‬‫مي‬ ‫انتظار‬ ،‫انباره‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬
‫نسبي‬ ‫مزيتهاي‬ ‫از‬ ‫يکي‬IPtables‫ک‬II‫ي‬ ‫در‬ ‫والي‬II‫مت‬ ‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫ا‬II‫قانونه‬ ‫ازي‬II‫س‬‫ذخیره‬ ،‫خطي‬ ‫جستجوي‬ ‫انجام‬ ‫براي‬
‫وانین‬II‫ق‬ ‫داد‬II‫تع‬ ‫ا‬II‫ب‬ ،‫ازي‬II‫س‬‫پیاده‬ ‫گونه‬ ‫اين‬ ‫که‬ ‫شد‬ ‫مشخص‬ ‫شده‬ ‫انجام‬ ‫آزمايشهاي‬ ‫در‬ .‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬۱۰۰۰-
۱۲۰۰‫در‬ ‫اما‬ ‫کند‬‫نمي‬ ‫تحمیل‬ ‫سیستم‬ ‫بر‬ ‫اضافي‬ ‫بار‬ ‫هیچگونه‬ ،۲۰۰۰.‫يابد‬‫مي‬ ‫کاهش‬ ‫نصف‬ ‫به‬ ‫شبکه‬ ‫کارآيي‬ ،
‫تا‬ ‫توانسته‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫سازي‬‫پیاده‬ ‫در‬ ‫مناسب‬ ‫استراتژي‬ ‫يک‬ ‫عنوان‬ ‫به‬ ‫حافظه‬ ‫بودن‬ ‫پیوسته‬ ‫عبارتي‬ ‫به‬
‫براي‬ ‫را‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫پیچیدگي‬ ،‫سیستم‬ ‫پردازندة‬ ‫از‬ ‫مناسب‬ ‫گیري‬‫بهره‬ ‫با‬۱۰۰۰‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫قانون‬O(1(
‫تفاده‬II‫اس‬ ‫ل‬II‫عام‬ ‫تم‬II‫سیس‬ ‫معماري‬ ‫و‬ ‫پردازنده‬ ‫معماري‬ ‫با‬ ‫مستقیم‬ ‫ارتباط‬ ‫شک‬ ‫بدون‬ ‫موضوع‬ ‫اين‬ ‫به‬ ‫دستیابي‬ .‫دارد‬ ‫نگه‬
.‫دارد‬ ‫شده‬
‫عدد‬ ‫اما‬۱۰۰۰‫از‬ ‫ش‬II‫بی‬ ‫ديريت‬II‫م‬ ‫و‬ ‫تعريف‬ ‫به‬ ‫نیاز‬ ‫امروزه‬ .‫آيد‬‫نمي‬ ‫حساب‬ ‫به‬ ‫بزرگي‬ ‫عدد‬ ‫ديگر‬ ‫کنوني‬ ‫دنیاي‬ ‫در‬
۳۰.۰۰۰‫ط‬II‫توس‬ ‫قانون‬ ‫تعداد‬ ‫اين‬ ‫از‬ ‫حمايت‬ ‫تصور‬ ‫که‬ ،‫دارد‬ ‫وجود‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫در‬ ‫قانون‬IPtables‫از‬ ‫دور‬ ‫امل‬II‫ک‬
‫داد‬II‫تع‬ ‫در‬ ‫چنانکه‬ ‫شد‬ ‫ثابت‬ ‫نیز‬ ‫عملي‬ ‫تست‬ ‫انجام‬ ‫با‬ ‫موضوع‬ ‫اين‬ .‫باشد‬‫مي‬ ‫عملي‬ ‫غیر‬ ‫و‬ ‫ذهن‬۱۱۰۰۰‫ارآيي‬II‫ک‬ ،‫انون‬II‫ق‬
‫ظرفیت‬ ‫با‬ ‫شبکه‬ ‫يک‬100mbps‫عدد‬ ‫به‬4mps.‫يافت‬ ‫کاهش‬
‫اصلي‬ ‫ضعف‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫آنچه‬IPtables‫ا‬II‫قانونه‬ ‫الي‬II‫ب‬ ‫تعداد‬ ‫در‬ ‫شبکه‬ ‫کارآيي‬ ‫شديد‬ ‫کاهش‬ ‫آيد‬‫مي‬ ‫حساب‬ ‫به‬
۱۳
‫تصویر‬۲‫قانون‬ ‫یک‬ ‫ای‬‫حافظه‬ ‫شمایل‬ :
.‫باشد‬‫مي‬ ( ‫امروزي‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫اصلي‬ ‫نیاز‬ )
‫مصرفي‬ ‫حافظة‬‫ه‬II‫ک‬ ‫ي‬II‫معن‬ ‫دان‬II‫ب‬ .‫د‬II‫باش‬‫مي‬ ‫زمان‬ ‫و‬ ‫حافظه‬ ‫تقابل‬ ،‫بندي‬‫دسته‬ ‫الگوريتمهاي‬ ‫در‬ ‫اصلي‬ ‫معضل‬ ‫اصول‬ :
‫دار‬II‫مق‬ ‫داراي‬ ‫ايي‬II‫الگوريتمه‬ .‫شود‬‫مي‬ ‫ديگري‬ ‫شدن‬ ‫قرباني‬ ‫باعث‬ ،‫دو‬ ‫اين‬ ‫از‬ ‫يکي‬ ‫در‬ ‫مناسب‬ ‫کارآيي‬ ‫به‬ ‫حصول‬ ‫و‬ ‫توجه‬
‫ب‬II‫مناس‬ ‫ان‬II‫زم‬ ‫ه‬II‫ب‬ ‫رسیدن‬ ‫براي‬ ‫را‬ ‫زيادي‬ ‫حافظة‬ ‫نیز‬ ‫تعدادي‬ ‫و‬ ‫نامناسب‬ ‫پاسخگويي‬ ‫زمان‬ ‫مقابل‬ ‫در‬ ‫و‬ ‫معقول‬ ‫حافظة‬
) ‫دارند‬ ‫وجود‬ ‫نیز‬ ‫حوزه‬ ‫دو‬ ‫هر‬ ‫در‬ ‫مناسب‬ ‫کارآيي‬ ‫با‬ ‫الگوريتمهايي‬ ‫اندک‬ .‫اند‬‫کرده‬ ‫اشغال‬Hicuts.(
‫رده‬I‫ک‬ ‫غالي‬II‫اش‬ ‫ة‬II‫حافظ‬ ‫اني‬II‫قرب‬ ‫را‬ ‫ان‬I‫زم‬ ‫که‬ ‫آيد‬‫مي‬ ‫حساب‬ ‫به‬ ‫الگوريتمهايي‬ ‫جزو‬ ‫تئوريک‬ ‫جنبة‬ ‫از‬ ‫خطي‬ ‫جستجوي‬
‫ا‬II‫آنه‬ ‫و‬ ‫کند‬‫نمي‬ ‫استفاده‬ ( ‫قانونها‬ ‫ساختار‬ ‫کنار‬ ‫در‬ ) ‫اضافي‬ ‫ساختار‬ ‫هیچگونه‬ ‫از‬ ‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫براي‬ ‫که‬ ‫چرا‬ ،‫است‬
‫مرتبة‬ ‫از‬ ‫آن‬ ‫خطي‬ ‫جستجوي‬ ‫مقابل‬ ‫در‬ ،‫کند‬‫مي‬ ‫نگهداري‬ ‫لیست‬ ‫يک‬ ‫صورت‬ ‫به‬ ‫را‬O(n.‫باشد‬‫مي‬ (
IPtables‫اب‬II‫حس‬ ‫ه‬II‫ب‬ ‫ازيها‬II‫س‬‫پیاده‬ ‫از‬ ‫ته‬II‫دس‬ ‫آن‬ ‫زو‬II‫ج‬ ،‫خطي‬ ‫جستجوي‬ ‫الگوريتمهاي‬ ‫از‬ ‫سازي‬‫پیاده‬ ‫يک‬ ‫عنوان‬ ‫به‬
.‫دارد‬ ‫ضعف‬ ‫زمینه‬ ‫دو‬ ‫هر‬ ‫در‬ ‫که‬ ‫آيد‬‫مي‬
‫سازي‬ ‫پیاده‬ ‫در‬IPtables‫چندپردازندگي‬ ‫از‬ ‫حمايت‬ ‫براي‬۱۵
‫از‬ ‫استفاده‬ ‫از‬ ‫پرهیز‬ ‫و‬Lock‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫تم‬II‫سیس‬ ‫اي‬II‫ه‬
‫ق‬II‫منط‬ ‫نفس‬ ‫و‬ ‫بیشتر‬ ‫سرعت‬ ‫به‬ ‫حصول‬ ‫و‬ ،‫ها‬‫پردازنده‬ ‫فعالیت‬ ‫همروندي‬ ‫از‬ ‫حاصل‬ ،‫شده‬ ‫ايجاد‬ ‫بحراني‬ ‫نواحي‬ ‫مديريت‬
‫در‬ ‫موجود‬ ‫هاي‬‫انباره‬ ‫از‬ ‫کپي‬ ‫يک‬ ‫پردازنده‬ ‫هر‬ ‫ازاي‬ ‫به‬ ،‫چندپردازندگي‬IPtables‫ر‬II‫ه‬ ‫ورت‬II‫ص‬ ‫دين‬II‫ب‬ .‫ود‬II‫ش‬‫مي‬ ‫ه‬II‫تهی‬
.‫باشد‬‫مي‬ ‫مصون‬ ‫نیز‬ ‫ديگر‬ ‫هاي‬‫پردازنده‬ ‫توسط‬ ‫مزاحمت‬ ‫ايجاد‬ ‫از‬ ‫و‬ ‫کرده‬ ‫تمرکز‬ ‫خود‬ ‫متناظر‬ ‫کپي‬ ‫روي‬ ‫بر‬ ‫پردازنده‬
‫توسط‬ ‫مصرفي‬ ‫حافظة‬ ‫توجهي‬ ‫قابل‬ ‫طرز‬ ‫به‬ ‫موضوع‬ ‫اين‬iptables‫عمل‬ ‫تنها‬ ‫اينکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫است‬ ‫داده‬ ‫افزايش‬ ‫را‬
‫تعداد‬ ‫نمايشگر‬ ‫ها‬‫شمارنده‬ ) ‫باشد‬‫مي‬ ‫قانونها‬ ‫هاي‬‫شمارنده‬ ‫سازي‬‫هنگام‬‫به‬ ‫شود‬‫مي‬ ‫انجام‬ ‫ها‬ ‫پردازنده‬ ‫توسط‬ ‫که‬ ‫نوشتاري‬
‫دني‬II‫خوان‬ ‫صورت‬ ‫به‬ ‫اشغالي‬ ‫فضاي‬ ‫ديگر‬ ‫از‬ ‫استفاده‬ ‫طريقة‬ ‫و‬ ( ‫باشند‬‫مي‬ ‫مربوطه‬ ‫قانون‬ ‫با‬ ‫يافته‬ ‫تطابق‬ ‫هاي‬‫بسته‬ ‫طول‬ ‫و‬
.‫باشد‬‫مي‬ ‫ضروري‬ ‫غیر‬ ،‫کامل‬ ،‫شده‬ ‫اشغال‬ ‫فضاي‬ ‫اين‬ ‫از‬ ‫زيادي‬ ‫حجم‬ ،‫باشد‬‫مي‬
‫سازي‬‫هنگام‬‫به‬ ‫سرعت‬‫ان‬I‫فرم‬ ‫ر‬I‫ه‬ ‫دور‬II‫ص‬ .‫ود‬I‫ش‬‫مي‬ ‫ام‬I‫انج‬ ‫اربر‬II‫ک‬ ‫طح‬I‫س‬ ‫در‬ ‫ازي‬II‫س‬‫هنگام‬ ‫ه‬I‫ب‬ ‫اي‬II‫فعالیته‬ ‫ام‬I‫تم‬ :
:‫باشد‬‫مي‬ ‫زير‬ ‫مراحل‬ ‫انجام‬ ‫مستلزم‬ ،‫کاربر‬ ‫جانب‬ ‫از‬ ،‫سازي‬‫هنگام‬‫به‬
۱-‫کاربر‬ ‫سطح‬ ‫به‬ ‫هسته‬ ‫سطح‬ ‫از‬ ‫نظر‬ ‫مورد‬ ‫انبارة‬ ‫حافظة‬ ‫انتقال‬
15 SMP: Symmetric MultiProcessor
۱۴
۲-‫انباره‬ ‫در‬ ‫شده‬ ‫خواسته‬ ‫تغییرات‬ ‫انجام‬
۳-‫هسته‬ ‫سطح‬ ‫به‬ ‫شده‬ ‫هنگام‬ ‫به‬ ‫انبارة‬ ‫انتقال‬
۴-.‫جديد‬ ‫اطلعات‬ ‫با‬ ‫قديمي‬ ‫اطلعات‬ ‫کردن‬ ‫جاگزين‬
‫انجام‬ ‫مرتبه‬ ‫هر‬ ‫در‬ ‫حافظه‬ ‫مديريت‬ ‫پیچیدة‬ ‫فعالیتهاي‬ ‫انجام‬ ‫و‬ ‫کاربر‬ ‫و‬ ‫هسته‬ ‫سطوح‬ ‫بین‬ ‫اطلعات‬ ‫تبادل‬ ‫زياد‬ ‫حجم‬
.‫است‬ ‫داده‬ ‫کاهش‬ ‫توجهي‬ ‫قابل‬ ‫حد‬ ‫در‬ ‫را‬ ‫سازي‬‫هنگام‬‫به‬ ‫سرعت‬ ،‫تغییرات‬
‫از‬ ‫استفاده‬ ،‫کاستي‬ ‫اين‬ ‫به‬ ‫توجه‬ ‫با‬IPtables.‫باشد‬‫نمي‬ ‫مناسب‬ ‫عنوان‬ ‫هیچ‬ ‫به‬ ‫اي‬‫محاوره‬ ‫محیط‬ ‫يک‬ ‫در‬
‫بندي‬‫دسته‬ ‫براي‬ ‫شده‬ ‫استفاده‬ ‫فیدهاي‬ i‫د‬‫تعدا‬ ‫در‬ ‫پذیري‬‫مقیاس‬‫در‬ ‫انون‬II‫ق‬ ‫هر‬ :IPtables،‫ه‬II‫شناس‬ V‫ء‬‫ز‬II‫ج‬ ‫ه‬II‫س‬ ‫از‬
‫ئلة‬II‫مس‬ ‫ان‬II‫هم‬ ‫وع‬II‫موض‬ ‫اين‬ ‫که‬ ‫کند‬ ‫اختیار‬ ‫را‬ ‫تطابق‬ ‫تعداد‬ ‫هر‬ ‫تواند‬‫مي‬ ‫قانون‬ ‫يک‬ .‫شود‬‫مي‬ ‫تشکیل‬ ‫پردازش‬ ‫و‬ ‫تطابقها‬
.‫باشد‬‫مي‬ ‫پذيري‬‫مقیاس‬
‫توسعة‬ ‫ابزار‬ ‫جزو‬ ‫پردازشها‬ ‫و‬ ‫تطابقها‬ ‫ديگر‬ ‫طرف‬ ‫از‬IPtables‫در‬ ‫تغییر‬ ‫به‬ ‫نیازي‬ ‫آنها‬ ‫ساخت‬ ‫که‬ ‫شوند‬‫مي‬ ‫شناخته‬
IPtables.‫کرد‬ ‫سازي‬‫پیاده‬ ‫نیز‬ ‫را‬ ‫دلخواه‬ ‫تطابقاي‬ ‫توان‬‫مي‬ ‫نتیجه‬ ‫در‬ .‫ندارد‬
‫شبکه‬ ‫هاي‬‫بسته‬ ‫بندي‬ ‫دسته‬ ‫امکان‬ ،‫قانون‬ ‫يک‬ ‫در‬ ،‫تعداد‬ ‫در‬ ‫محدوديت‬ ‫بدون‬ ،‫گوناگون‬ ‫تطابقهاي‬ ‫از‬ ‫استفاده‬ ‫امکان‬
.‫آورد‬‫مي‬ ‫فراهم‬ ‫را‬ ‫مختلف‬ ‫فیلدهاي‬ ‫اساس‬ ‫بر‬
‫زيباي‬ ‫و‬ ‫مثبت‬ ‫بسیار‬ ‫پارامترهاي‬ ‫از‬ ‫يکي‬ ‫موضوع‬ ‫اين‬IPtables.‫باشد‬‫مي‬
۱۵

Pdn tech-netfilter&iptables-ver2.1.0

  • 1.
    c Netfilter & IPtables :‫محدوده‬ ‫لینوکس‬‫در‬ ‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫بررسی‬ ‫تاريخچه‬: ‫ردیف‬‫نویسنده‬‫تاریخ‬‫ویرایش‬ ‫شماره‬‫توضیحات‬ ۱ ۲ ‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬ ‫مهندسی‬ ۱۳۸۹۲.۰.۰ ۳ ‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬ ‫مهندسی‬ ۱۳۹۳۲.۱.۰ .‫دارد‬ ‫تعلق‬ ‫نوین‬ ‫داده‬ ‫پویش‬ ‫شبکه‬ ‫مهندسی‬ ‫شرکت‬ ‫به‬ ‫مستند‬ ‫این‬ ‫معنوی‬ ‫و‬ ‫مادی‬ ‫حقوق‬ ‫کلیه‬
  • 2.
    ‫مندرجات‬ ‫فهرست‬ ‫چکیده‬ -.......................................................................................................................................................................................................۳ ‫ها‬‫واژه‬ ‫کلید‬ -..............................................................................................................................................................................................۳ ۱-Netfilter‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫یا‬....................................................................................................................................۳ ۱.۱-NetFilter........................................................................................................................................................................................................۴ ۲-IPtables‫هاي‬‫بسته‬ ‫پالیش‬ ‫ساختار‬ :IP.............................................................................................................................................۶ ۲.۱‫در‬ ‫قانونها‬ -IPtables........................................................................................................................................................................................۸ ۲.۲‫در‬ ‫جستجو‬ -IPtables......................................................................................................................................................................................۹ ۲.۳‫مختلف‬ ‫سطوح‬ -IPtables.............................................................................................................................................................................۱۰ ۲.۴‫کاربر‬ ‫مدیریتي‬ ‫فعالیتهاي‬ -.............................................................................................................................................................................۱۰ ۲.۵‫هسته‬ ‫سطح‬ ‫در‬ ‫جداول‬ ‫اطلعات‬ ‫نگهداري‬ ‫طریقه‬ -..........................................................................................................................................۱ ۲.۶‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫طریقه‬ -...............................................................................................................................................................................۱ ۳‫کارآیي‬ ‫پارامترهاي‬ -................................................................................................................................................................................۲ ‫تصاوير‬ ‫فهرست‬ ‫تصویر‬۱‫شمای‬ :hook‫در‬ ‫ها‬Netfilter.....................................................................................................................................................۵ ‫تصویر‬۲‫قانون‬ ‫یک‬ ‫ای‬‫حافظه‬ ‫شمایل‬ :.......................................................................................................................................................۲ ‫جداول‬ ‫فهرست‬ ‫ضمائم‬ ‫فهرست‬ ۲
  • 3.
    ‫چکیده‬ ‫ساختار‬Netfilter‫و‬ ‫ی‬UU‫طراح‬ ‫وکس‬UU‫لین‬‫ل‬UU‫عام‬ ‫تم‬UU‫سیس‬ ‫در‬ ‫بکه‬UU‫ش‬ ‫ای‬UU‫ه‬ ‫ته‬UU‫بس‬ ‫ای‬UU‫پوی‬ ‫ردازش‬UU‫پ‬ ‫ت‬UU‫جه‬ ‫سازی‬‫پیاده‬‫معماری‬ ‫معرفی‬ ‫ضمن‬ ‫مستند‬ ‫این‬ .‫است‬ ‫شده‬Netfilter‫معماری‬ ،Iptables‫ابزاری‬ ‫عنوان‬ ‫به‬ ‫سازی‬‫پیاده‬‫مبنای‬ ‫بر‬ ‫شده‬Netfilter)‫پالیش‬ ‫برای‬Filtering‫رار‬UU‫ق‬ ‫ی‬UU‫بررس‬ ‫مورد‬ ‫را‬ ،‫شبکه‬ ‫های‬ ‫بسته‬ ( .‫میدهد‬ ‫ها‬ ‫واژه‬ ‫کلید‬ Linux, Netfilter, IPtables ۱Netfilter‫شبکه‬ ‫های‬ ‫بسته‬ ‫پردازش‬ ‫ساختار‬ ‫يا‬ ‫شناخت‬ ‫مستلزم‬ ( ‫شبکه‬ ‫لية‬ ‫پروتکلهاي‬ ‫به‬ ‫متعلق‬ ‫هاي‬‫بسته‬ ) ‫شبکه‬ ‫هاي‬‫بسته‬ ‫روي‬ ‫بر‬ ‫دلخواه‬ ‫پردازش‬ ‫انجام‬ ‫مناسب‬Protocol Stack.‫باشد‬‫مي‬ ‫مربوطه‬ ‫پروتکل‬ ‫به‬ ‫مربوط‬Protocol Stack‫بر‬ ‫گرفته‬ ‫انجام‬ ‫پردازشهاي‬ ‫نمايشگر‬ .‫باشد‬‫مي‬ ‫پردازشي‬ ‫مسیرهاي‬ ‫امتداد‬ ‫در‬ ‫آنها‬ ‫ترتیب‬ ‫همچنین‬ ‫و‬ ‫شبکه‬ ‫بستة‬ ‫روي‬ ‫امل‬II‫ش‬ ‫وري‬II‫عب‬ ‫یر‬II‫مس‬ .‫ند‬II‫باش‬‫مي‬ ‫سیستم‬ ‫درون‬ ‫در‬ ‫شبکه‬ ‫بستة‬ ‫حرکت‬ ‫سیر‬ ‫منطقي‬ ‫بیان‬ ‫پردازشي‬ ‫مسیرهاي‬ ‫یرياب‬II‫مس‬ ‫يک‬ ‫عنوان‬ ‫به‬ ‫سیستم‬ ‫که‬ ‫هنگامي‬ ‫در‬ ‫مسیر‬ ‫اين‬ .‫هستند‬ ‫ما‬ ‫سیستم‬ ‫از‬ ‫عبور‬ ‫خواستار‬ ‫که‬ ‫باشد‬‫مي‬ ‫هايي‬‫بسته‬ ‫ر‬II‫ديگ‬ ‫هاي‬‫تم‬II‫سیس‬ ‫از‬ ‫که‬ ‫باشد‬‫مي‬ ‫هايي‬‫بسته‬ ‫شامل‬ ‫ورودي‬ ‫مسیر‬ .‫شود‬‫مي‬ ‫ايجاد‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫دروازه‬ ‫يا‬ ‫مت‬II‫س‬ ‫ه‬II‫ب‬ ‫ا‬II‫م‬ ‫سیستم‬ ‫از‬ ‫که‬ ‫شود‬‫مي‬ ‫شامل‬ ‫را‬ ‫هايي‬‫بسته‬ ‫نیز‬ ‫خروجي‬ ‫مسیر‬ ‫و‬ ‫ند‬‫ا‬‫شده‬ ‫داده‬ ‫گسیل‬ ‫ما‬ ‫سیستم‬ ‫هدف‬ ‫به‬ .‫اند‬‫شده‬ ‫فرستاده‬ ‫ديگر‬ ‫هاي‬‫سیستم‬ ‫در‬ ،‫ي‬II‫پردازش‬ ‫مسیرهاي‬ ‫در‬ ‫مناسب‬ ‫مکان‬ V‫ت‬‫شناخ‬ ‫مستلزم‬ ‫شبکه‬ ‫بستة‬ ‫روي‬ ‫بر‬ ‫دلخواه‬ ‫تغییر‬ ‫انجام‬ ‫بر‬ ‫تصمیم‬ ‫اي‬‫دازه‬II‫ان‬ ‫ا‬II‫ت‬ ‫وع‬II‫موض‬ ‫ن‬II‫اي‬ .‫د‬II‫باش‬‫مي‬ ‫مکان‬ ‫آن‬ ‫در‬ ‫گرفته‬ ‫صورت‬ ‫پردازش‬ ‫در‬ ‫تغییر‬ ‫انجام‬ ‫سپس‬ ‫و‬ ،‫شبکه‬ ‫ليه‬ ‫درون‬ ‫ساختار‬ ‫سلمت‬Protocol Stack.‫اندازد‬‫مي‬ ‫خطر‬ ‫به‬ ‫را‬ ۳
  • 4.
    ‫اختار‬II‫س‬ ‫در‬ ‫ر‬II‫تغیی‬V‫د‬‫ا‬II‫ايج‬ ‫دون‬II‫ب‬ ‫بکه‬II‫ش‬ ‫هاي‬‫ته‬II‫بس‬ V‫ه‬‫وا‬II‫دلخ‬ V‫ي‬‫تکار‬II‫دس‬ V‫ن‬‫امکا‬ V‫د‬‫ايجا‬ ‫براي‬ ‫تلشي‬ ،‫پردازش‬ ‫ساختار‬ Protocol Stack.‫باشد‬‫مي‬ ،‫سیستم‬ ‫ي‬II‫پردازش‬ ‫یرهاي‬II‫مس‬ ‫در‬ ،‫دلخواه‬ ‫پردازشهاي‬ ‫انجام‬ ‫منظور‬ ‫به‬ ‫خاص‬ ‫مکانهايي‬ ،‫پروتکل‬ ‫هر‬ ‫براي‬ ‫شیوه‬ ‫اين‬ ‫در‬ ‫شبکه‬ ‫هاي‬‫بسته‬ V‫ش‬‫پرداز‬ V‫ن‬‫خواها‬ V‫ي‬‫فانکشنها‬ ‫ثبت‬ ‫توانايي‬ ‫مکانها‬ ‫اين‬ ‫اصلي‬ ‫خاصیت‬ .‫شوند‬‫مي‬ ‫تعريف‬ ،‫مربوطه‬ ‫پروتکل‬ ‫عبور‬ ‫خواهان‬ ‫خود‬ ‫پردازشي‬ ‫مسیر‬ ‫در‬ ‫شبکه‬ ‫بستة‬ ‫يک‬ ‫که‬ ‫هنگامي‬ .‫باشد‬‫مي‬ ،‫اولويت‬ ‫اساس‬ ‫بر‬ ،‫آنها‬ ‫ترتیبي‬ ‫نگهداري‬ ‫و‬ .‫دهند‬‫مي‬ ‫قرار‬ ‫آنها‬ V‫ک‬‫ت‬‫تک‬ ‫اختیار‬ ‫در‬ ‫ترتیب‬ ‫به‬ ‫را‬ ‫بسته‬ ،‫فانکشنها‬ ‫ثبت‬ ‫ترتیب‬ ‫اساس‬ ‫بر‬ ،‫مکانها‬ ‫اين‬ ،‫باشد‬ ‫نقاط‬ ‫اين‬ ‫از‬ ‫ادر‬II‫ص‬ ‫ه‬II‫گردون‬ ‫از‬ ‫را‬ ‫بسته‬ ‫حذف‬ ‫فرمان‬ ‫يا‬ ‫و‬ ‫عبور‬ ‫اجازة‬ ،‫دلخواه‬ ‫پردازش‬ ‫انجام‬ ‫از‬ ‫بعد‬ ‫تا‬ ‫باشد‬‫مي‬ ‫موظف‬ ‫فانکشن‬ ‫هر‬ .‫کند‬ ‫نام‬ ‫با‬ ‫لینوکس‬ ‫عامل‬ ‫سیستم‬ ‫در‬ ‫ساختار‬ ‫اين‬netfilter.‫شود‬‫مي‬ ‫شناخته‬ ۱.۱NetFilter netfilter‫بسته‬ ‫پردازش‬ ‫و‬ ‫مديريت‬ ‫براي‬ ‫است‬ ‫چهارچوبي‬‫دگاه‬II‫دي‬ ‫از‬ .‫وطه‬II‫مرب‬ ‫ل‬II‫پروتک‬ ‫از‬ ‫تقل‬II‫مس‬ ،‫بکه‬II‫ش‬ ‫اي‬II‫ه‬ ،‫سازي‬‫پیاده‬netfilter‫مجموعه‬ ‫قالب‬ ‫در‬ ،‫شبکه‬ ‫هاي‬‫بسته‬ V‫ش‬‫پرداز‬ V‫ن‬‫خواها‬ ‫ماژولهاي‬ ‫نگهداري‬ ‫براي‬ ‫جايگاهي‬‫با‬ ‫هايي‬ ‫نام‬hook‫در‬ ‫ف‬II‫مختل‬ ‫هاي‬‫پروتکل‬ ‫توسط‬ ‫که‬netfilter.‫د‬II‫باش‬‫مي‬ ،‫اند‬‫ده‬II‫ش‬ ‫ف‬II‫تعري‬hook‫ت‬II‫ثب‬ ‫اي‬II‫مکانه‬ ‫ان‬II‫هم‬ ‫ا‬II‫ه‬ .‫باشند‬‫مي‬ ‫پردازش‬ ‫ساختار‬ ‫تعريف‬ ‫در‬ ‫فانکشنها‬ ‫بسته‬ ‫که‬ ‫صورتي‬ ‫در‬‫مجموعه‬ ‫درون‬ ‫از‬ ‫عبور‬ ‫خواستار‬ ‫اي‬) ‫مشخص‬ ‫اي‬hook‫ط‬II‫توس‬ ‫ته‬II‫بس‬ ‫اين‬ ،‫باشد‬ (netfilter‫در‬ ‫مي‬ ‫قرار‬ ‫ماژولها‬ ‫تك‬‫تك‬ ‫اختیار‬‫ه‬II‫ب‬ ‫ا‬II‫بن‬ ‫د‬II‫توانن‬‫مي‬ ‫يعني‬ ،‫بود‬ ‫خواهند‬ ‫عبوري‬ ‫بستة‬ ‫وضعیت‬ ‫کنندة‬‫مشخص‬ ‫ماژولها‬ ،‫گیرد‬ ) ‫بدهند‬ ‫عبور‬ ‫اجازه‬ ‫آن‬ ‫به‬ ‫خود‬ ‫تصمیمات‬NF-ACCEPT) ‫د‬II‫کنن‬ ‫حذف‬ ‫گردونه‬ ‫از‬ ‫را‬ ‫آن‬ ، (NF-DROP‫را‬ ‫آن‬ ‫ا‬II‫ي‬ ‫و‬ ( ) ‫دهند‬ ‫قرار‬ ‫صف‬ ‫در‬ ‫کاربر‬ ‫سطح‬ ‫در‬ ‫پردازش‬ ‫انجام‬ ‫براي‬NF-QUEUE.... ‫و‬ ( ‫پروتکل‬IP‫هاي‬‫بسته‬ ‫آسان‬ ‫مديريت‬ ‫منظور‬ ‫به‬ ،IP‫د‬II‫توانی‬‫مي‬ .‫کند‬‫مي‬ ‫تعريف‬ ‫چوب‬ ‫چهار‬ ‫اين‬ ‫در‬ ‫را‬ ‫مجموعه‬ ‫پنج‬ ، ‫هاي‬‫بسته‬ ‫عبور‬ ‫نحوة‬ ‫و‬ ‫مکانها‬ ‫اين‬ ‫نامگذاري‬ ‫نحوة‬IP‫کل‬II‫ش‬ ‫در‬ ‫را‬ ،‫آنها‬ ‫درون‬ ‫از‬۱‫ه‬II‫ک‬ ‫اژولي‬II‫م‬ ‫ر‬II‫ه‬ .‫د‬II‫کنی‬ ‫اهده‬II‫مش‬ ‫بسته‬ ‫وضعیت‬ ‫تعیین‬ ‫و‬ ‫بررسي‬ ‫خواستار‬‫هاي‬IP‫مجموعه‬ ‫اين‬ ‫از‬ ‫يکي‬ ‫در‬ ‫را‬ ‫خود‬ ‫تواند‬‫مي‬ ‫باشد‬.‫کند‬ ‫ثبت‬ ‫ها‬ ‫بسته‬ ‫با‬ ‫رفتار‬ ‫گونه‬ ‫اين‬‫هاي‬IP‫مي‬ ‫ما‬ ‫به‬ ‫را‬ ‫امکان‬ ‫اين‬‫ساختار‬ ‫در‬ ‫دستکاري‬ ‫بدون‬ ‫تا‬ ‫دهد‬Protocol stack‫بتوانیم‬ ۴
  • 5.
    ‫پیاده‬ ‫نظیر‬ ،‫خود‬‫اهداف‬ ‫به‬‫اعمال‬ ‫انجام‬ ‫و‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫سازي‬NAT ۱ .‫يابیم‬ ‫دست‬ ، ‫بسته‬ ‫مديريت‬ ‫براي‬ ‫مناسب‬ ‫مکان‬ ‫يافتن‬ ‫در‬ ‫ما‬ ‫راهگشاي‬ ‫ارتباط‬ ‫اين‬‫عمل‬ ‫انجام‬ ‫براي‬ ‫مثال‬ ‫عنوان‬ ‫به‬ .‫بود‬ ‫خواهد‬ ‫ها‬ filtering‫هاي‬‫مجموعه‬NF-IP-INPUT، NF-IP-OUTPUT، NF-IP-FORWARD،‫صورت‬ ‫بدين‬ .‫اند‬‫شده‬ ‫انتخاب‬ .‫شد‬ ‫خواهند‬ ‫بررسي‬ ‫مکان‬ ‫يک‬ ‫در‬ ‫تنها‬ ‫سیستم‬ ‫از‬ ‫عبوري‬ ‫هاي‬‫بسته‬ ‫تمام‬ ‫عمل‬ ‫انجام‬ ‫براي‬ :‫ديگر‬ ‫مثالي‬NAT‫مجموعه‬ ،‫هاي‬NF-IP-PREROUTING، NF-IP-OUTPUTV‫ل‬‫عم‬ V‫م‬‫انجا‬ ‫براي‬ ‫مبداء‬ ‫آدرس‬ ‫انتقال‬۲ ‫و‬NF-IP-POSTROUTING‫مقصد‬ ‫آدرس‬ ‫انتقال‬ ‫براي‬۳ ‫شده‬ ‫انتخاب‬ ،‫ن‬I‫اي‬ ‫ورت‬I‫ص‬ ‫ر‬I‫ه‬ ‫به‬V.‫اند‬ ‫ساده‬ ‫و‬ ‫خوب‬ ‫بسیار‬ ‫امکان‬ ‫چهارچوب‬‫پیاده‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫اي‬.‫است‬ ‫داده‬ ‫قرار‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫سازان‬ 1 Network Address Translation 2 Source NAT 3 Destination NAT ۵ ‫تصویر‬۱‫شمای‬ :hook‫در‬ ‫ها‬Netfilter
  • 6.
    ۲IPtables‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬:IP ‫اي‬II‫ه‬‫پردازش‬ ‫انجام‬ ‫براي‬ ‫مختلف‬ ‫جريانهاي‬ ‫قالب‬ ‫در‬ ‫ها‬‫بسته‬ ‫واحد‬ ‫جريان‬ ‫تقسیم‬ ‫معني‬ ‫به‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫پاليش‬ ‫ال‬II‫اعم‬ ‫شبکه‬ ‫بستة‬ ‫سرآيند‬ ‫فیلدهاي‬ ‫بر‬ ‫را‬ ‫شرايطي‬ ‫که‬ ‫قانون‬ ‫يک‬ ‫توسط‬ ‫جريان‬ ‫هر‬ .‫باشد‬‫مي‬ ‫جريان‬ ‫هر‬ ‫روي‬ ‫بر‬ ‫متنوع‬ .‫شود‬‫مي‬ ‫مشخص‬ ،‫کند‬‫مي‬ ‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬IP (iptables‫قانونها‬ ‫مناسب‬ V‫ت‬‫مديري‬ ‫و‬ ‫سازي‬‫ذخیره‬ ‫جهت‬ ‫چهارچوبي‬ ‫ايجاد‬ ‫دنبال‬ ‫به‬ ( ‫ن‬II‫تعیی‬ ‫ان‬II‫امک‬ ،‫ا‬II‫قانونه‬ ‫ديريت‬II‫م‬ ‫در‬ ‫ود‬II‫خ‬ ‫ت‬II‫سیاس‬ ‫و‬ ‫استراتژي‬ ‫به‬ ‫توجه‬ ‫با‬ ‫تا‬ ‫کرد‬ ‫خواهد‬ ‫سعي‬ ‫ساختار‬ ‫اين‬ .‫باشد‬‫مي‬ .‫آورد‬ ‫فراهم‬ ‫موجود‬ ‫قانونهاي‬ ‫به‬ ‫توجه‬ ‫با‬ ‫را‬ ‫بسته‬ ‫تکلیف‬ :‫از‬ ‫عبارتند‬ ‫پاليش‬ ‫ساختار‬ ‫هر‬ ‫ملزومات‬ ۱-‫انباره‬ ‫دادة‬ ‫ساختمان‬ ۲-‫قانون‬ ‫دادة‬ ‫ساختمان‬ ۳-‫قانونها‬ ‫مديريت‬ ‫رابط‬ ۴-‫انباره‬ ‫ايجاد‬ ‫رابط‬ ۵-‫انباره‬ ‫مديريت‬ ‫رابط‬ ۶-‫جستجو‬ ‫الگوريتم‬ ۷-‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫رابط‬ ‫تقل‬II‫مس‬ ‫تجوي‬II‫جس‬ ‫الگوريتم‬ ‫و‬ ‫انباره‬ ‫يک‬ ‫سازي‬‫پیاده‬ ‫به‬ ‫نیازي‬ ‫بندي‬‫دسته‬ V‫د‬‫فرآين‬ ‫يک‬ ‫سازي‬‫پیاده‬ ‫در‬ ‫صورت‬ ‫بدين‬ ‫ت‬II‫بايس‬‫مي‬ ‫د‬II‫فرآين‬ ‫ر‬II‫ه‬ ‫ساختار‬ ‫اين‬ ‫در‬ .‫کرد‬ ‫استفاده‬ ‫پاليش‬ ‫ساختار‬ ‫در‬ ‫موجود‬ ‫ويرايش‬ ‫از‬ ‫توان‬‫مي‬ ‫بلکه‬ ،‫بود‬ ‫نخواهد‬ ‫ب‬II‫مناس‬ ‫ام‬II‫انج‬ ‫براي‬ ‫لزم‬ ‫ملزومات‬ ‫همچنین‬ ‫و‬ ‫تعريف‬ ‫را‬ ‫خود‬ ‫به‬ ‫متعلق‬ ‫قوانین‬ ‫براي‬ ‫مناسب‬ ‫تطابقهاي‬ ‫و‬ ‫پردازشهاي‬ .( ‫باشد‬‫مي‬ ‫پردازش‬ ‫يک‬ ‫و‬ ‫تطابق‬ ‫چند‬ ‫شامل‬ ‫قانون‬ ‫هر‬ ‫اينکه‬ ‫به‬ ‫توجه‬ ‫با‬ ) ‫آورد‬ ‫فراهم‬ ‫را‬ ‫آنها‬ ‫هاي‬‫بسته‬ ‫پاليش‬ ‫ساختار‬IP‫دين‬II‫چن‬ ‫اد‬II‫ايج‬ ‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫بکه‬II‫ش‬ ‫هاي‬‫بسته‬ ‫بندي‬‫دسته‬ ‫فرآيند‬ ‫موضوعي‬ ‫تقسیم‬ ‫از‬ ، ) ‫ف‬III‫مختل‬ ‫اري‬III‫ک‬ ‫وعات‬III‫موض‬ ‫ه‬III‫ب‬ ‫وط‬III‫مرب‬ ،‫بندي‬‫ته‬III‫دس‬ ‫د‬III‫فرآين‬filter, NAT, mangle‫تفاده‬IIIII‫،اس‬ ( … , ‫اليش‬II‫پ‬ ‫اختار‬II‫س‬ ‫از‬ ‫خاصي‬ ‫مکانهاي‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬ ‫شدن‬ ‫محقق‬ ‫که‬ ‫باشد‬‫مي‬ ‫دلیل‬ ‫بدان‬ ‫عمل‬ ‫اين‬ ‫طرح‬ .‫کند‬‫مي‬ ۶
  • 7.
    ‫بستة‬IP‫عمل‬ ‫چنانکه‬ ،‫باشد‬‫مي‬‫امکانپذير‬NAT‫مکان‬ ‫در‬ ‫تواند‬‫نمي‬ ‫هرگز‬FORWARD‫ا‬II‫تنه‬ ‫ه‬II‫ک‬ ‫را‬II‫چ‬ ،‫ود‬II‫ش‬ ‫ام‬II‫انج‬ ‫ل‬II‫عم‬ ‫وان‬II‫ت‬‫نمي‬ ‫صورت‬ ‫همین‬ ‫به‬ ‫و‬ ،‫باشند‬‫مي‬ ‫مسیريابي‬ ‫عمل‬ ‫انجام‬ ‫از‬ ‫بعد‬ ‫و‬ ‫قبل‬ ‫آن‬ ‫براي‬ ‫مناسب‬ ‫مکانهاي‬filtering ‫مکان‬ ‫در‬ ‫را‬PREROUTING‫ک‬II‫ي‬ ‫ط‬II‫فق‬ ) ‫مکان‬ ‫يک‬ ‫در‬ ‫تنها‬ ‫بسته‬ ‫تست‬ ‫قانون‬ ‫ناقض‬ ‫موضوع‬ ‫اين‬ ‫که‬ ‫چرا‬ ‫داد‬ ‫انجام‬ ‫کاري‬ ‫موضوع‬ ‫در‬ (‫مرتبه‬filter‫ه‬II‫ب‬ ‫آن‬ ‫یم‬II‫تقس‬ ‫با‬ ‫وزين‬ ‫و‬ ‫گنده‬ ‫کاري‬ ‫موضوع‬ ‫يک‬ ‫ساخت‬ ‫جاي‬ ‫به‬ ‫نتیجه‬ ‫در‬ .‫باشد‬‫مي‬ ‫داده‬ ‫ام‬II‫انج‬ ‫ک‬II‫ي‬ ‫ر‬II‫ه‬ ‫راي‬II‫ب‬ ‫را‬ ‫اي‬‫جداگانه‬ ‫هاي‬‫سازي‬‫پیاده‬ ،‫طلبند‬‫مي‬ ‫را‬ ‫متفاوتي‬ ‫نیازهاي‬ ‫که‬ ‫مختلف‬ ‫کاري‬ ‫موضوعات‬ .‫است‬ ‫در‬ ‫را‬ ‫اي‬‫انباره‬ ،‫خود‬ ‫کار‬ ‫به‬ ‫شروع‬ ‫ابتداي‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬IPtables‫ه‬II‫ب‬ ‫سپس‬ ‫و‬ ،‫کند‬‫مي‬ ‫ايجاد‬ ‫خودش‬ ‫نام‬ ‫با‬ ‫هاي‬‫بسته‬ ‫پردازش‬ ‫ساختار‬ V‫ب‬‫مناس‬ ‫هاي‬‫مکان‬ ‫در‬ ‫را‬ ‫خود‬ ،‫بندي‬‫دسته‬ ‫قوانین‬ ‫اعمال‬ ‫منظور‬IP‫در‬ ‫ت‬II‫ثب‬ .‫د‬II‫کن‬‫مي‬ ‫ت‬II‫ثب‬ .‫شود‬‫مي‬ ‫انجام‬ ‫کاري‬‫موضوع‬ V‫ر‬‫نظ‬ V‫د‬‫مور‬ V‫ف‬‫هد‬ ‫به‬ ‫توجه‬ ‫با‬ ‫مکانها‬ IPtables‫ره‬II‫زنجی‬ ‫ام‬II‫ن‬ ‫با‬ ‫واحدهايي‬ ‫به‬ ‫را‬ ‫خود‬ ‫هاي‬‫انباره‬ ‫فضاي‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫بهتر‬ ‫مديريت‬ ‫منظور‬ ‫به‬۴ ‫یم‬II‫تقس‬ ‫هايي‬‫زنجیره‬ ،‫خود‬ ‫انبارة‬ ‫ايجاد‬ ‫هنگام‬ ‫در‬ ‫کاري‬ ‫موضوع‬ ‫هر‬ .‫است‬ ‫کرده‬۵ ‫پردازش‬ ‫ساختار‬ ‫در‬ ‫ثبت‬ ‫مکانهاي‬ ‫با‬ ‫متناظر‬ ‫را‬ ‫هاي‬‫بسته‬IP‫در‬ ‫ود‬II‫موج‬ ‫اي‬II‫قانونه‬ ‫از‬ ‫تفاده‬II‫اس‬ ‫با‬ ‫مکان‬ ‫هر‬ ‫از‬ ‫عبوري‬ ‫هاي‬‫بسته‬ ‫مديريت‬ ‫طريق‬ ‫بدين‬ ‫تا‬ ‫کند‬‫مي‬ ‫ايجاد‬ ، .‫شود‬ ‫انجام‬ ‫مکان‬ ‫بدان‬ ‫متعلق‬ ‫زنجیرة‬ ‫داد‬II‫امت‬ ‫در‬ ‫داگانه‬II‫ج‬ ‫هاي‬II‫پردازش‬ ‫ام‬II‫انج‬ ‫ان‬II‫امک‬ ،‫ال‬II‫ب‬ ‫در‬ ‫ده‬II‫ش‬ ‫ذکر‬ ‫خصوصیات‬ ‫با‬ ،‫انباره‬ ‫هر‬ ‫در‬ ‫ها‬‫زنجیره‬ ‫وجود‬ .‫کند‬‫مي‬ ‫فراهم‬ ‫را‬ ،‫شبکه‬ ‫هاي‬‫بسته‬ ‫روي‬ ‫بر‬ ،‫مختلف‬ ‫پردازشي‬ ‫مسیرهاي‬ ‫ام‬II‫ن‬ ‫ا‬II‫ب‬ ‫ن‬II‫فانکش‬ ‫ک‬II‫ي‬ ‫ط‬II‫راب‬ ‫)اين‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ V‫ط‬‫راب‬ ،‫بسته‬ ‫يک‬ ‫دريافت‬ ‫با‬ ‫کاري‬‫موضوع‬ ‫هر‬ipt_do_table ‫و‬ ‫کند‬‫مي‬ ‫فراخواني‬ ‫را‬ (‫باشد‬‫مي‬IPtables‫مکان‬ ‫به‬ ‫توجه‬ ‫با‬ ‫و‬ ،‫را‬ ‫مناسب‬ ‫انبارة‬ ،‫فراخواننده‬ ‫کاري‬‫موضوع‬ ‫به‬ ‫توجه‬ ‫با‬ ‫نیز‬ ‫پردازش‬ ‫ساختار‬ ‫در‬ ‫بسته‬ ‫دريافت‬IP‫ره‬II‫زنجی‬ ‫آن‬ ‫در‬ ‫موجود‬ ‫قوانین‬ ‫بین‬ ‫در‬ ‫جستجو‬ ‫به‬ ‫و‬ ‫مشخص‬ ‫را‬ ‫مربوطه‬ ‫زنجیرة‬ ، .‫پردازد‬‫مي‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫منظور‬ ‫به‬ ‫در‬ ‫شده‬ ‫ايجاد‬ ‫هاي‬‫انباره‬IPtables‫جدول‬ ‫نام‬ ‫با‬۶ ‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫آن‬ ‫ذاري‬II‫نامگ‬ ‫دلیل‬ ‫که‬ ،‫شوند‬‫مي‬ ‫شناخته‬IPtables .‫باشد‬‫مي‬ ،‫گوناگون‬ ‫کاري‬ ‫موضوعات‬ ‫به‬ ‫مربوط‬ ،‫مختلف‬ ‫جداول‬ ‫وجود‬ 4 Chain 5 Builtin Chains 6 Table ۷
  • 8.
    ۲.۱‫در‬ ‫قانونها‬IPtables ‫در‬ ‫قانون‬‫هر‬IPtables:‫شود‬‫مي‬ ‫تشکیل‬ ‫قسمت‬ ‫سه‬ ‫از‬ ۱-‫شناسه‬.‫د‬II‫باش‬‫مي‬ ‫بکه‬II‫ش‬ ‫بستة‬ ‫پروتکل‬ ‫و‬ ‫خروجي‬ ‫درگاه‬ ،‫ورودي‬ ‫درگاه‬ ،‫مقصد‬ ‫آدرس‬ ،‫مبدا‬ ‫آدرس‬ ‫شامل‬ : ‫متمايز‬ ‫ايستا‬ ‫صورت‬ ‫به‬ ،‫باشد‬‫مي‬ ‫آن‬ ‫نمايندة‬ ‫قانون‬ ‫اين‬ ‫که‬ ‫را‬ ‫جرياني‬ ‫به‬ ‫متعلق‬ ‫شبکة‬ ‫هاي‬‫بسته‬ ،‫اطلعات‬ ‫اين‬ .‫کنند‬‫مي‬ ۲-‫ها‬‫تطابق‬۷ ‫تواند‬‫مي‬ ‫قانون‬ ‫هر‬ .‫کنند‬‫مي‬ ‫پردازش‬ ‫دلخواه‬ ‫طرز‬ ‫به‬ ‫را‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫که‬ ‫باشند‬‫مي‬ ‫فانکشنهايي‬ : ‫در‬ ‫و‬ ‫انون‬II‫ق‬ ‫ة‬II‫شناس‬ ‫ا‬II‫ب‬ ‫تطابق‬ ‫اول‬ ‫مرحلة‬ ‫در‬ ‫قانون‬ ‫يک‬ ‫با‬ ‫بسته‬ ‫تطابق‬ ‫شرط‬ .‫باشد‬ ‫داشته‬ ‫تطابق‬ ‫چند‬ ‫يا‬ ‫صفر‬ .‫باشد‬‫مي‬ ‫تطابقها‬ V‫ک‬‫ت‬‫تک‬ ‫توسط‬ ‫شدن‬ ‫پذيرفته‬ ‫دوم‬ ‫مرحلة‬ ۳-‫پردازش‬۸ .‫باشد‬‫مي‬ ‫استاندارد‬ ‫مورد‬ ‫يک‬ ‫يا‬ ‫و‬ ‫زنجیره‬ ‫يک‬ ‫نام‬ ‫يا‬ ‫فانکشن‬ ‫يک‬ (‫بسته‬ ‫تکلیف‬ ‫کنندة‬‫)مشخص‬ : .‫باشد‬ ‫داشته‬ ‫تطابق‬ ‫قانون‬ ‫با‬ ‫بسته‬ ‫که‬ ‫شد‬ ‫خواهد‬ ‫فراخواني‬ ‫صورتي‬ ‫در‬ ‫بسته‬ ‫يک‬ ‫براي‬ ‫پردازش‬ ✗‫ادير‬II‫مق‬ ‫از‬ ‫آگاهي‬ ‫)براي‬ ‫کند‬‫مي‬ ‫مشخص‬ ‫را‬ ‫بسته‬ ‫تکلیف‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫استاندارد‬ ‫حالت‬ ‫در‬ ‫در‬ ‫جستجو‬ ‫قسمت‬ ‫به‬ ‫کنید‬ ‫نگاه‬ ‫استاندارد‬IPtables.(II‫صادره‬ ‫رمانهاي‬II‫ف‬ – ✗‫ار‬II‫اختی‬ ‫در‬ ‫ردازش‬II‫پ‬ ‫ام‬II‫انج‬ ‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫بسته‬ ،‫فانکشن‬ ‫يک‬ ‫صورت‬ ‫به‬ ‫پردازش‬ ‫بیان‬ ‫صورت‬ ‫در‬ .‫شد‬ ‫خواهد‬ ‫مشخص‬ ‫فانکشن‬ ‫توسط‬ ‫بسته‬ ‫تکلیف‬ ‫و‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫فانکشن‬ ✗‫کاربر‬ ‫هاي‬‫زنجیره‬ ‫فقط‬۹ ‫ا‬II‫ه‬‫زنجیره‬ ‫ن‬II‫اي‬ .‫د‬II‫گیرن‬ ‫رار‬II‫ق‬ ‫استفاده‬ ‫مورد‬ ‫پردازش‬ ‫عنوان‬ ‫به‬ ‫توانند‬‫مي‬ ‫کاربران‬ ‫توسط‬IPtables‫وعات‬II‫موض‬ ‫ط‬I‫توس‬ ‫ه‬I‫ک‬ ‫تند‬II‫هس‬ ‫هايي‬‫زنجیره‬ ‫از‬ ‫متفاوت‬ ‫و‬ ‫شوند‬‫مي‬ ‫تعريف‬ ‫اي‬II‫ه‬‫زنجیره‬ ‫خلف‬ ‫ر‬II‫ب‬ ‫درست‬ ‫هستند‬ ‫شدن‬ ‫حذف‬ ‫قابل‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫که‬ ‫چرا‬ ،‫شوند‬‫مي‬ ‫ايجاد‬ ‫کاري‬ ‫ا‬II‫پوي‬ ‫و‬ ‫ذير‬II‫انعطافپ‬ ‫ردازش‬II‫پ‬ ‫اي‬II‫فض‬ ‫ايجاد‬ ‫منظور‬ ‫به‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫وجود‬ .‫کاري‬‫موضوعات‬ ‫به‬ ‫متعلق‬ ‫داده‬ ‫یل‬II‫گس‬ ‫ده‬II‫ش‬ ‫ر‬II‫ذک‬ ‫رة‬II‫زنجی‬ ‫درون‬ ‫به‬ ‫قانون‬ ‫اين‬ ‫با‬ ‫مطابق‬ ‫هاي‬‫بسته‬ ‫تمام‬ ‫حالت‬ ‫اين‬ ‫در‬ .‫باشد‬‫مي‬ .‫بود‬ ‫خواهند‬ ‫بسته‬ ‫تکلیف‬ ‫کنندة‬ ‫مشخص‬ ‫زنجیره‬ ‫آن‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬ ‫صورت‬ ‫بدين‬ ‫و‬ ‫شد‬ ‫خواهند‬ ‫توسعة‬ ‫ابزار‬ ‫جزو‬ (‫فانکشن‬ ‫صورت‬ ‫پردازشها)به‬ ‫و‬ ‫تطابقها‬IPtables‫ي‬II‫معن‬ ‫دان‬II‫ب‬ ‫وع‬II‫موض‬ ‫اين‬ .‫آيند‬‫مي‬ ‫حساب‬ ‫به‬ 7 Maches 8 Target 9 User Chains ۸
  • 9.
    ‫در‬ ‫تغییر‬ ‫ايجاد‬‫به‬ ‫نیازي‬ ‫آنها‬ ‫گسترش‬ ‫و‬ ‫ساخت‬ ‫که‬ ‫است‬IPtables‫ن‬II‫همی‬ ‫ه‬II‫ب‬ ‫ه‬II‫ک‬ ‫ي‬II‫رابط‬ ‫از‬ ‫تفاده‬II‫اس‬ ‫با‬ ‫بلکه‬ ‫ندارد‬ .‫دارند‬ ‫شدن‬ ‫استفاده‬ ‫و‬ ‫ثبت‬ ‫امکان‬ ‫ابزارها‬ ‫اين‬ ‫است‬ ‫شده‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫منظور‬ ‫قدرت‬IPtables‫اخته‬II‫س‬ ‫آن‬ ‫راي‬II‫ب‬ ‫ه‬II‫ک‬ ‫باشد‬‫مي‬ ‫مفیدي‬ ‫و‬ ‫مناسب‬ ‫تطابقهاي‬ ‫و‬ ‫پردازشها‬ ‫به‬ ‫وابسته‬ ‫زيادي‬ ‫حد‬ ‫در‬ ‫ال‬II‫مث‬ ‫وان‬II‫عن‬ ‫ه‬II‫ب‬ ،‫د‬II‫کن‬‫مي‬ ‫ف‬II‫تعري‬ ‫را‬ ‫ود‬II‫خ‬ ‫اص‬II‫خ‬ ‫هاي‬II‫پردازش‬ ‫ود‬II‫خ‬ ‫نیاز‬ ‫برحسب‬ ‫کاري‬‫موضوع‬ ‫هر‬ .‫اند‬‫شده‬NAT ‫پردازشهاي‬DNAT‫و‬SNAT‫جدول‬ ‫در‬ ‫فقط‬ ‫که‬ ‫را‬nat‫و‬ ‫ا‬II‫تطابقه‬ ‫اخت‬II‫س‬ ‫ول‬II‫اص‬ .‫د‬II‫کن‬‫مي‬ ‫ف‬II‫تعري‬ ،‫ند‬II‫باش‬‫مي‬ ‫مجاز‬ ‫و‬ ‫داول‬II‫ج‬ ‫ام‬I‫تم‬ ‫در‬ ‫را‬ ‫ا‬II‫آنه‬ ‫از‬ ‫تفاده‬II‫اس‬ V‫ع‬‫ان‬II‫م‬ ‫ه‬I‫ک‬ ‫رد‬II‫گی‬‫مي‬ ‫ورت‬II‫ص‬ ‫سازندگان‬ ‫نظر‬ ‫مورد‬ ‫اهداف‬ ‫اساس‬ ‫بر‬ ‫پردازشها‬ .‫گردد‬‫مي‬ ‫ها‬‫زنجیره‬ ۲.۲‫در‬ ‫جستجو‬IPtables ‫عمل‬ ،‫متناظر‬ ‫زنجیرة‬ ‫و‬ ‫جدول‬ ‫شدن‬ ‫مشخص‬ ‫و‬ ‫کاري‬‫موضوع‬ ‫يک‬ ‫توسط‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫رابط‬ ‫فراخواني‬ ‫پي‬ ‫در‬ .‫شود‬‫مي‬ ‫آغاز‬ ‫زنجیره‬ ‫آن‬ ‫قانونهاي‬ ‫بین‬ ‫در‬ ‫جستجو‬ ‫دا‬II‫پی‬ ‫ه‬II‫ادام‬ ‫ته‬II‫بس‬ ‫ف‬II‫تکلی‬ ‫دن‬II‫ش‬ ‫مشخص‬ ‫تا‬ ‫و‬ ‫شود‬‫مي‬ ‫انجام‬ ‫ترتیبي‬ ‫صورت‬ ‫به‬ ‫زنجیره‬ ‫قانونهاي‬ ‫بین‬ ‫در‬ ‫جستجو‬ :‫کند‬ ‫صادر‬ ‫را‬ ‫فرمان‬ ‫گونه‬ ‫چهار‬ ‫تواند‬‫مي‬ ‫قانون‬ ‫هر‬ .‫کند‬‫مي‬ ۱-‫پذیرش‬ ‫فرمان‬)ACCEPT‫د‬II‫خواه‬ ‫داده‬ ‫ور‬II‫عب‬ ‫ازة‬I‫اج‬ ‫بسته‬ ‫به‬ ‫و‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫صورت‬ ‫اين‬ ‫در‬ :( .‫شد‬ ۲-‫حذف‬ ‫فرمان‬)DROP‫از‬ ‫بسته‬ ‫ولي‬ ‫شود‬‫مي‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫قبل‬ ‫حالت‬ ‫همچون‬ ‫نیز‬ ‫حالت‬ ‫اين‬ ‫در‬ :( .‫شود‬‫مي‬ ‫حذف‬ ‫گردونه‬ ۳-‫جستجو‬ ‫ادامة‬ ‫فرمان‬)CONTINUE.‫کند‬‫مي‬ ‫پیدا‬ ‫ادامه‬ ‫بعدي‬ ‫قانون‬ ‫از‬ ‫جستجو‬ ‫مورد‬ ‫اين‬ ‫در‬ :( ۴-‫بازگشت‬ ‫فرمان‬)RETURN‫از‬ ‫د‬II‫بع‬ ‫قانون‬ ‫از‬ ‫جستجو‬ ‫ادامة‬ ‫و‬ ‫فراخواننده‬ ‫زنجیرة‬ ‫به‬ ‫بازگشت‬ ‫معني‬ ‫به‬ :( ‫شده‬ ‫فراخوانده‬ ‫زنجیرة‬ ‫يک‬ ‫در‬ ‫ما‬ ‫که‬ ‫گیرد‬‫مي‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫هنگامي‬ ‫مورد‬ ‫اين‬ .‫باشد‬‫مي‬ ‫فراخواننده‬ ‫قانون‬ .‫بازگرديم‬ ‫قبلي‬ ‫زنجیرة‬ ‫به‬ ‫بخواهیم‬ ‫و‬ (‫کاربر‬ ‫هاي‬‫)زنجیره‬ ‫باشیم‬ ۵-‫بندي‬‫صف‬ ‫فرمان‬)QUEUE‫ده‬II‫ران‬ ‫صف‬ ‫درون‬ ‫به‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫پردازش‬ ‫براي‬ ‫بسته‬ ‫حالت‬ ‫اين‬ ‫در‬ :( .‫شود‬‫مي‬ ‫متوقف‬ ‫جستجو‬ ‫عمل‬ ‫و‬ ‫شود‬‫مي‬ ۹
  • 10.
    ‫هر‬ ‫توسط‬ ‫شده‬‫اعمال‬ ‫شروط‬ ‫اساس‬ ‫بر‬ ،‫جستجو‬ ‫درهنگام‬ .‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫فرمان‬ ‫صدور‬ ‫وظیفة‬ ‫قانون‬ ‫هر‬ ‫پردازش‬ ‫و‬ ‫واني‬II‫فراخ‬ ‫انون‬II‫ق‬ ‫ردازش‬II‫پ‬ ‫ابق‬I‫تط‬ ‫روز‬II‫ب‬ ‫ورت‬I‫ص‬ ‫در‬ .‫شود‬‫مي‬ ‫گیري‬‫تصمیم‬ ‫بسته‬ ‫تطابق‬ ،( ‫تطابقها‬ ‫و‬ ‫شناسه‬ ) ‫قانون‬ .‫شود‬‫مي‬ ‫صادر‬ ‫آن‬ ‫توسط‬ ‫فرمان‬ ‫ابق‬II‫تط‬ V‫ن‬‫انو‬II‫ق‬ V‫ش‬‫رداز‬II‫پ‬ ‫سوي‬ ‫از‬ ‫صادره‬ ‫فرمان‬ ‫بلکه‬ ‫نیست‬ ‫جستجو‬ ‫توقف‬ ‫عامل‬ ‫تطابق‬ ‫به‬ ‫حصول‬ ،‫جستجو‬ ‫اين‬ ‫در‬ .‫شد‬ ‫خواهد‬ ‫متوقف‬ ،‫بسته‬ ‫تکلیف‬ ‫شدن‬ ‫مشخص‬ ‫صورت‬ ‫در‬ ‫جستجو‬ ‫عبارتي‬ ‫به‬ .‫باشد‬‫مي‬ ‫گیري‬‫تصمصم‬ ‫مبناي‬ ‫يافته‬ ۲.۳‫مختلف‬ ‫سطوح‬IPtables ‫هسته‬ ‫سطح‬ .‫باشد‬‫مي‬ ‫کابر‬ ‫و‬ ‫هسته‬ ‫سطح‬ ‫دو‬ ‫در‬ ‫ويرايش‬ ‫دو‬ ‫از‬ ‫اي‬‫مجموعه‬ ،‫پاليش‬ ‫ساختار‬۱۰ ‫بسته‬ ‫مديريت‬ ‫وظیفة‬ ‫کاربر‬ ‫سطح‬ ‫و‬ ،‫جستجو‬ ‫عمل‬ ‫انجام‬ ‫و‬ ‫شبکه‬ ‫هاي‬۱۱ .‫دارند‬ ‫عهده‬‫بر‬ ‫را‬ ‫ها‬‫انباره‬ ‫مديريت‬ ‫وظیفة‬ ‫ماژول‬ ‫توسط‬ ‫قانونها‬ ‫هسته‬ ‫سطح‬ ‫در‬ip_tables‫اربر‬II‫ک‬ ‫سطح‬ ‫در‬ .‫شوند‬‫مي‬ ‫مديريت‬ ‫آن‬ ‫توسط‬ ‫ها‬ ‫بسته‬ ‫و‬ ‫نگهداري‬ ‫دستور‬iptables‫پوستة‬ ‫در‬۱۲ ‫اژول‬II‫م‬ ‫ا‬II‫ب‬ ‫کاربر‬ ‫سطح‬ ‫در‬ ‫کاربران‬ ‫رابط‬ ،‫لینوکس‬ip_tables‫ة‬II‫وظیف‬ ،‫ته‬II‫هس‬ ‫طح‬II‫س‬ ‫در‬ .‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫ها‬‫انباره‬ ‫در‬ ‫موجود‬ ‫اطلعات‬ ‫مديريت‬ ۲.۴‫کاربر‬ ‫مديريتي‬ ‫فعالیتهاي‬ ‫دستور‬ ‫وسیلة‬ ‫به‬ ‫و‬ ‫سیستم‬ ‫کاربران‬ ‫توسط‬ ‫مديريتي‬ ‫فعالیتها‬ ‫تمامي‬iptables.‫ود‬II‫ش‬‫مي‬ ‫ام‬II‫انج‬ ‫وکس‬II‫لین‬ ‫تة‬II‫پوس‬ ‫در‬ :‫از‬ ‫عبارتند‬ ‫فعالیتها‬ ‫اين‬ ‫عمدة‬ ۱-‫قانون‬ ‫جایگزیني‬ ‫و‬ ‫حذف‬ ،‫اضافه‬‫ف‬II‫تعري‬ ‫در‬ .‫ند‬II‫باش‬‫مي‬ ‫مديريتي‬ ‫فعالیتهاي‬ ‫پرکاربردترين‬ ‫و‬ ‫مهمترين‬ ‫از‬ : ‫دام‬II‫اق‬ ،‫باشد‬‫مي‬ ‫آن‬ ‫در‬ ‫قانون‬ ‫مديريت‬ ‫خواستار‬ ‫که‬ ‫اي‬‫زنجیره‬ ‫و‬ ‫جدول‬ ‫کردن‬ ‫مشخص‬ ‫از‬ ‫بعد‬ ‫کاربر‬ ،‫قانون‬ ‫هر‬ ‫از‬ ‫ا‬II‫قانونه‬ ‫ترتیبي‬ ‫ذخیرة‬ ‫به‬ ‫توجه‬ ‫با‬ .‫کند‬‫مي‬ ‫مربوطه‬ ‫پردازش‬ ‫بیان‬ ،‫پايان‬ ‫در‬ ‫و‬ ‫تطابقها‬ ‫بیان‬ ،‫شناسه‬ ‫تعريف‬ ‫به‬ :‫مثال‬ .‫کرد‬ ‫استفاده‬ ‫توان‬‫مي‬ ‫جايگزيني‬ ‫و‬ ‫حذف‬ ‫اعمال‬ ‫انجام‬ ‫براي‬ ‫قانون‬ ‫شمارة‬ iptables -t filter -A FORWARD -s 1.1.1.1 -d 2.2.2.2 -m state --state NEW -j DROP 10 Kernel Space 11 User Space 12 Shell ۱۰
  • 11.
    ‫جدول‬ ‫به‬ ‫قانون‬‫يک‬ ‫مثال‬ ‫اين‬ ‫در‬filter‫زنجیرة‬ ،FORWARD‫داراي‬ ‫انون‬II‫ق‬ ‫اين‬ ‫شناسة‬ .‫شد‬ ‫خواهد‬ ‫اضافه‬ ‫مبدا‬ ‫آدرس‬۱.۱.۱.۱‫مقصد‬ ‫آدرس‬ ‫و‬۲.۲.۲.۲‫ل‬II‫پروتک‬ ‫و‬ ‫ورجي‬II‫خ‬ ‫و‬ ‫ورودي‬ ‫هاي‬‫درگاه‬ ‫نشدن‬ ‫بیان‬ .‫باشد‬‫مي‬ ‫ابق‬II‫تط‬ ‫از‬ ‫قانون‬ ‫اين‬ .‫باشد‬‫مي‬ ‫موارد‬ ‫تمامي‬ ‫پذيرش‬ ‫اجازة‬ ‫معناي‬ ‫به‬ ‫مربوطه‬state‫ا‬II‫ب‬ ‫تاندارد‬II‫اس‬ ‫ردازش‬II‫پ‬ ‫و‬ ‫مقدار‬DROP‫از‬ ‫ارسالي‬ ‫هاي‬‫بسته‬ ‫تمامي‬ ‫قانون‬ ‫اين‬ .‫کند‬‫مي‬ ‫استفاده‬۱.۱.۱.۱‫ه‬II‫ب‬۲.۲.۲.۲‫ة‬II‫مرحل‬ ‫در‬ ‫ه‬II‫ک‬ ‫را‬ .‫کرد‬ ‫خواهد‬ ‫حذف‬ ،‫باشند‬ ‫ارتباط‬ ‫برقراري‬ ۲-‫زنجیره‬ ‫سیاست‬ ‫تغییر‬:IPtables‫زنجیره‬‫سیاست‬ ‫تعريف‬ ‫امکان‬۱۳ ‫اي‬II‫ه‬‫زنجیره‬ ‫راي‬II‫ب‬ ‫را‬Built-in‫م‬II‫فراه‬ ‫از‬ ‫د‬II‫کنن‬ ‫خص‬II‫مش‬ ‫را‬ ‫ته‬II‫بس‬ ‫ف‬II‫تکلی‬ ‫تند‬II‫نتوانس‬ ‫زنجیره‬ ‫يک‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬ ‫اگر‬ ‫صورت‬ ‫اين‬ ‫در‬ .‫کند‬‫مي‬ ‫ادير‬II‫مق‬ ‫د‬II‫توان‬‫مي‬ ‫ره‬II‫زنجی‬ ‫ت‬II‫سیاس‬ .‫ود‬II‫ش‬‫مي‬ ‫استفاده‬ ‫بسته‬ ‫تکلیف‬ ‫تعیین‬ ‫براي‬ ‫زنجیره‬ ‫سیاست‬ACCEPT‫و‬ DROP:‫مثال‬ .‫کند‬ ‫اختیار‬ ‫را‬ iptables -t filter -P INPUT DROP ‫زنجیرة‬ ‫سیاست‬ ‫شود‬‫مي‬ ‫مشاهد‬ ‫چنانکه‬INPUT‫جدول‬ ‫در‬filter ، DROP‫عبارتي‬ ‫به‬ .‫است‬‫شده‬ ‫تعريف‬ .‫شود‬‫مي‬ ‫جلوگیري‬ ،‫محلي‬ ‫سیستم‬ ‫به‬ ‫ندارد‬ ‫وجود‬ ‫آنها‬ ‫براي‬ ‫قانوني‬ ‫که‬ ‫هايي‬‫بسته‬ ‫ورود‬ ‫از‬ ۳-‫کاربر‬ ‫هاي‬‫زنجیره‬ ‫نام‬i‫ر‬‫تغیی‬ ‫و‬ ‫حذف‬ ،‫ایجاد‬،‫ب‬II‫مناس‬ ‫ردازش‬II‫پ‬ ‫ط‬II‫محی‬ ‫اد‬II‫ايج‬ ‫راي‬II‫ب‬ ‫د‬II‫توانن‬‫مي‬ ‫کاربران‬ : ‫آن‬ ‫اي‬II‫قانونه‬ ‫ف‬II‫تعري‬ ‫در‬ ‫پردازش‬ ‫عنوان‬ ‫به‬ ‫ها‬‫زنجیره‬ ‫اين‬ ‫از‬ ‫توان‬‫مي‬ .‫کنند‬ ‫تعريف‬ ‫جداول‬ ‫در‬ ‫را‬ ‫هايي‬‫زنجیره‬ :‫مثال‬ .‫ندارند‬ ‫را‬ ‫زنجیره‬ ‫سیاست‬ ‫پذيرش‬ ‫توانايي‬ ‫ها‬‫زنجیره‬ ‫اين‬ .‫کرد‬ ‫استفاده‬ ‫جدول‬ iptables -t nat -N newCHIAN ‫نام‬ ‫با‬ ‫را‬ ‫اي‬‫تازه‬ ‫زنجیرة‬ ‫دستور‬ ‫اين‬newCHAIN‫جدول‬ ‫در‬nat.‫کند‬‫مي‬ ‫ايجاد‬ ۴-‫جداول‬ ‫سازي‬‫پاک‬۱۴ ‫ک‬II‫ي‬ ‫در‬ ‫ود‬II‫موج‬ ‫اي‬II‫قانونه‬ ‫ام‬II‫تم‬ ‫ا‬I‫ت‬ ‫بود‬ ‫خواهد‬ ‫قادر‬ ‫کاربر‬ ‫دستور‬ ‫اين‬ ‫از‬ ‫استفاده‬ ‫با‬ : .‫کنند‬ ‫حذف‬ ‫را‬ ‫جدول‬ 13 Chain Policy 14 Flush ۱۱
  • 12.
    ۲.۵‫هسته‬ ‫سطح‬ ‫در‬‫جداول‬ ‫اطلعات‬ ‫نگهداري‬ ‫طريقه‬ ‫سازي‬‫پیاده‬ ‫در‬ ‫حاکم‬ ‫تفکر‬IPtables‫در‬ ‫والي‬II‫مت‬ ‫صورت‬ ‫به‬ ‫لزم‬ ‫اطلعات‬ ‫سازي‬‫ذخیره‬ ‫و‬ ‫پیوسته‬ ‫حافظة‬ ‫از‬ ‫استفاده‬ ‫سازان‬‫پیاده‬ ‫آوري‬‫روي‬ ‫دلیل‬ ‫عمده‬ .‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬ ‫اين‬ ‫درون‬IPtables‫ن‬II‫تري‬‫بهینه‬ ‫کردن‬ ‫فراهم‬ ،‫شیوه‬ ‫اين‬ ‫به‬ ‫و‬ ‫تر‬‫ساده‬ ‫مراتب‬ ‫به‬ ‫پیوسته‬ ‫اي‬‫حافظه‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫کردن‬ ‫سیر‬ ‫که‬ ‫چرا‬ ،‫باشد‬‫مي‬ ‫ترتیبي‬ ‫جستجوي‬ ‫انجام‬ ‫براي‬ ‫محیط‬ .‫باشد‬‫مي‬ ‫پراکنده‬ ‫اي‬‫حافظه‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫حرکت‬ ‫از‬ ‫سريعتر‬ ‫ال‬II‫انتق‬ ‫تلزم‬II‫مس‬ ‫اره‬II‫انب‬ ‫در‬ ‫تغییر‬ ‫گونه‬ ‫هر‬ ‫انجام‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫مديريتي‬ ‫فعالیتهاي‬ ‫تمرکز‬ ‫دلیل‬ ‫به‬ ‫ديگر‬ ‫سوي‬ ‫از‬ ‫از‬ ‫شده‬‫هنگام‬‫به‬ ‫انبارة‬ ‫انتقال‬ ،‫کاربر‬ ‫سطح‬ ‫در‬ ‫انباره‬ ‫سازي‬‫هنگام‬‫به‬ ‫انجام‬ ‫از‬ ‫بعد‬ ،‫و‬ ‫کاربر‬ ‫سطح‬ ‫به‬ ‫درخواست‬ ‫مورد‬ ‫انبارة‬ ،‫ب‬II‫مرات‬ ‫ه‬II‫ب‬ ،‫ته‬II‫پیوس‬ ‫اي‬II‫ه‬‫حافظه‬ ‫با‬ ‫امور‬ ‫اين‬ ‫انجام‬ .‫باشد‬‫مي‬ ‫قديمي‬ ‫انبارة‬ ‫با‬ ‫جايگزيني‬ ‫و‬ ‫هسته‬ ‫سطح‬ ‫به‬ ‫کاربر‬ ‫سطح‬ ‫و‬ ‫هسته‬ ‫سطح‬ ‫به‬ ‫کاربر‬ ‫سطح‬ ‫از‬ ،‫انباره‬ ‫به‬ ‫مربوط‬ ‫حافظة‬ ‫کردن‬ ‫کپي‬ ‫با‬ ‫توان‬‫مي‬ ‫را‬ ‫انتقال‬ ‫هر‬ ‫که‬ ‫چرا‬ ‫بود‬ ‫خواهد‬ ‫تر‬‫ساده‬ .‫داد‬ ‫انجام‬ ،‫بالعکس‬ ‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ .‫است‬‫شده‬ ‫نیز‬ ‫ساختارها‬ ‫تعريف‬ ‫در‬ ‫جالبي‬ ‫ابتکارت‬ ‫از‬ ‫استفاده‬ ‫به‬ ‫سازان‬‫پیاده‬ ‫آوري‬‫روي‬ ‫باعث‬ ‫تفکر‬ ‫اين‬ ،‫شوند‬‫مي‬ ‫ذخیره‬ ‫پیوسته‬ ‫فضاي‬ ‫يک‬ ‫در‬ ‫متوالي‬ ‫صورت‬ ‫به‬ ‫که‬ ‫ساختارهايي‬ ‫انتهايي‬ ‫فضاي‬ ‫به‬ ‫تر‬‫ساده‬ ‫و‬ ‫مناسب‬ ‫دسترسي‬ IPtables‫وان‬II‫عن‬ ‫چ‬II‫هی‬ ‫ه‬II‫ب‬ ‫ا‬II‫ه‬‫آرايه‬ ‫ن‬II‫اي‬ .‫کند‬‫مي‬ ‫استفاده‬ ‫ساختارها‬ ‫اين‬ ‫انتهاي‬ ‫در‬ ‫صفر‬ ‫طول‬ ‫با‬ ‫هايي‬‫آرايه‬ ‫تعريف‬ ‫از‬ ‫ي‬II‫نويس‬‫برنامه‬ ‫ام‬II‫هنگ‬ ‫در‬ ‫و‬ ‫ود‬II‫ب‬ ‫د‬II‫خواه‬ ‫مربوطه‬ ‫ساختار‬ ‫انتهاي‬ ‫به‬ ‫گري‬‫اشاره‬ ‫آنها‬ ‫نام‬ ‫بلکه‬ ،‫کنند‬‫نمي‬ ‫اشغال‬ ‫را‬ ‫فضايي‬ ‫ايي‬II‫جابج‬ ‫اعث‬II‫ب‬ ‫اريف‬II‫تع‬ ‫اين‬ ‫از‬ ‫استفاده‬ .‫کرد‬ ‫استفاده‬ ‫ساختار‬ ‫اين‬ ‫دنبالة‬ ‫فضاي‬ ‫به‬ ‫دسترسي‬ ‫براي‬ ‫آنها‬ ‫نام‬ ‫از‬ ‫توان‬‫مي‬ .‫شود‬‫مي‬ ‫حافظه‬ ‫در‬ ‫آسان‬ ۲.۶‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫طريقه‬ ‫در‬ ‫قانون‬ ‫يک‬IPtables‫تطابقها‬ ،‫سرآيند‬ V‫ب‬‫ترتی‬ ‫به‬ ‫قانون‬ ‫يک‬ ‫اطلعت‬ ‫که‬ ‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬ ‫يک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫اگوني‬II‫گون‬ ‫دهاي‬II‫فیل‬ ،‫شناسه‬ ‫بر‬ ‫علوه‬ ،‫شده‬ ‫انجام‬ ‫سازي‬‫پیاده‬ ‫در‬ ،‫سرآيند‬ ‫ساختار‬ .‫گیرند‬‫مي‬ ‫قرار‬ ‫آن‬ ‫در‬ ‫پردازش‬ ‫و‬ .‫کشد‬‫مي‬ ‫يدک‬ ‫خود‬ ‫با‬ ،‫قانون‬ ‫پردازش‬ ‫مکان‬ ‫و‬ ‫قانون‬ ‫طول‬ ‫شناسايي‬ ‫براي‬ ‫ن‬II‫اي‬ .‫د‬II‫کنن‬ ‫افت‬II‫دري‬ ‫ود‬II‫خ‬ ‫هاي‬II‫پردازش‬ ‫ام‬II‫انج‬ ‫راي‬II‫ب‬ ‫اربر‬II‫ک‬ ‫از‬ ‫را‬ ‫مختلفي‬ ‫اطلعات‬ ‫توانند‬‫مي‬ ‫پردازشها‬ ‫و‬ ‫تطابقها‬ ۱۲
  • 13.
    ‫در‬ ‫ره‬II‫تی‬ ‫متهاي‬II‫رد)قس‬II‫گی‬‫مي‬‫رار‬II‫ق‬ ‫مربوطه‬ ‫پردازش‬ ‫يا‬ ‫و‬ ‫تطابق‬ ‫به‬ ‫متعلق‬ ‫حافظة‬ ‫ادامة‬ ‫در‬ ‫قانون‬ ‫حافظة‬ ‫در‬ ‫اطلعات‬ ‫ت‬II‫ثب‬ ‫ام‬II‫هنگ‬ ‫در‬ ‫ا‬II‫آنه‬ ‫ط‬II‫توس‬ ‫و‬ ‫داشته‬ ‫مربوطه‬ ‫تطابق‬ ‫يا‬ ‫و‬ ‫پردازش‬ ‫به‬ ‫بستگي‬ ‫اطلعات‬ ‫اين‬ ‫حافظة‬ ‫اندازة‬ .(‫زير‬ ‫شکل‬ ‫تصوير‬ ‫در‬ ‫قانون‬ ‫يک‬ ‫اي‬‫حافظه‬ ‫شمايل‬ .‫شود‬‫مي‬ ‫مشخص‬۲.‫است‬ ‫شده‬ ‫داده‬ ‫نمايش‬ ۳‫کارآيي‬ ‫پارامترهاي‬ ‫جستجو‬ ‫سرعت‬‫ة‬II‫مرتب‬ ‫از‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫پیچیدگي‬ :O n‫داد‬II‫تع‬ ‫ش‬II‫افزاي‬ ‫ا‬II‫ب‬ ‫ارتي‬II‫عب‬ ‫ه‬II‫ب‬ ،‫د‬II‫باش‬‫مي‬ .‫يابد‬ ‫کاهش‬ ‫جستجو‬ ‫فرآيند‬ ‫سرعت‬ ‫که‬ ‫رود‬‫مي‬ ‫انتظار‬ ،‫انباره‬ ‫در‬ ‫موجود‬ ‫قانونهاي‬ ‫نسبي‬ ‫مزيتهاي‬ ‫از‬ ‫يکي‬IPtables‫ک‬II‫ي‬ ‫در‬ ‫والي‬II‫مت‬ ‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫ا‬II‫قانونه‬ ‫ازي‬II‫س‬‫ذخیره‬ ،‫خطي‬ ‫جستجوي‬ ‫انجام‬ ‫براي‬ ‫وانین‬II‫ق‬ ‫داد‬II‫تع‬ ‫ا‬II‫ب‬ ،‫ازي‬II‫س‬‫پیاده‬ ‫گونه‬ ‫اين‬ ‫که‬ ‫شد‬ ‫مشخص‬ ‫شده‬ ‫انجام‬ ‫آزمايشهاي‬ ‫در‬ .‫باشد‬‫مي‬ ‫پیوسته‬ ‫حافظة‬۱۰۰۰- ۱۲۰۰‫در‬ ‫اما‬ ‫کند‬‫نمي‬ ‫تحمیل‬ ‫سیستم‬ ‫بر‬ ‫اضافي‬ ‫بار‬ ‫هیچگونه‬ ،۲۰۰۰.‫يابد‬‫مي‬ ‫کاهش‬ ‫نصف‬ ‫به‬ ‫شبکه‬ ‫کارآيي‬ ، ‫تا‬ ‫توانسته‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫سازي‬‫پیاده‬ ‫در‬ ‫مناسب‬ ‫استراتژي‬ ‫يک‬ ‫عنوان‬ ‫به‬ ‫حافظه‬ ‫بودن‬ ‫پیوسته‬ ‫عبارتي‬ ‫به‬ ‫براي‬ ‫را‬ ‫خطي‬ ‫جستجوي‬ ‫الگوريتم‬ ‫پیچیدگي‬ ،‫سیستم‬ ‫پردازندة‬ ‫از‬ ‫مناسب‬ ‫گیري‬‫بهره‬ ‫با‬۱۰۰۰‫ورت‬II‫ص‬ ‫ه‬II‫ب‬ ‫قانون‬O(1( ‫تفاده‬II‫اس‬ ‫ل‬II‫عام‬ ‫تم‬II‫سیس‬ ‫معماري‬ ‫و‬ ‫پردازنده‬ ‫معماري‬ ‫با‬ ‫مستقیم‬ ‫ارتباط‬ ‫شک‬ ‫بدون‬ ‫موضوع‬ ‫اين‬ ‫به‬ ‫دستیابي‬ .‫دارد‬ ‫نگه‬ .‫دارد‬ ‫شده‬ ‫عدد‬ ‫اما‬۱۰۰۰‫از‬ ‫ش‬II‫بی‬ ‫ديريت‬II‫م‬ ‫و‬ ‫تعريف‬ ‫به‬ ‫نیاز‬ ‫امروزه‬ .‫آيد‬‫نمي‬ ‫حساب‬ ‫به‬ ‫بزرگي‬ ‫عدد‬ ‫ديگر‬ ‫کنوني‬ ‫دنیاي‬ ‫در‬ ۳۰.۰۰۰‫ط‬II‫توس‬ ‫قانون‬ ‫تعداد‬ ‫اين‬ ‫از‬ ‫حمايت‬ ‫تصور‬ ‫که‬ ،‫دارد‬ ‫وجود‬ ‫آتش‬ ‫هاي‬‫ديواره‬ ‫در‬ ‫قانون‬IPtables‫از‬ ‫دور‬ ‫امل‬II‫ک‬ ‫داد‬II‫تع‬ ‫در‬ ‫چنانکه‬ ‫شد‬ ‫ثابت‬ ‫نیز‬ ‫عملي‬ ‫تست‬ ‫انجام‬ ‫با‬ ‫موضوع‬ ‫اين‬ .‫باشد‬‫مي‬ ‫عملي‬ ‫غیر‬ ‫و‬ ‫ذهن‬۱۱۰۰۰‫ارآيي‬II‫ک‬ ،‫انون‬II‫ق‬ ‫ظرفیت‬ ‫با‬ ‫شبکه‬ ‫يک‬100mbps‫عدد‬ ‫به‬4mps.‫يافت‬ ‫کاهش‬ ‫اصلي‬ ‫ضعف‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫آنچه‬IPtables‫ا‬II‫قانونه‬ ‫الي‬II‫ب‬ ‫تعداد‬ ‫در‬ ‫شبکه‬ ‫کارآيي‬ ‫شديد‬ ‫کاهش‬ ‫آيد‬‫مي‬ ‫حساب‬ ‫به‬ ۱۳ ‫تصویر‬۲‫قانون‬ ‫یک‬ ‫ای‬‫حافظه‬ ‫شمایل‬ :
  • 14.
    .‫باشد‬‫مي‬ ( ‫امروزي‬‫آتش‬ ‫هاي‬‫ديواره‬ ‫اصلي‬ ‫نیاز‬ ) ‫مصرفي‬ ‫حافظة‬‫ه‬II‫ک‬ ‫ي‬II‫معن‬ ‫دان‬II‫ب‬ .‫د‬II‫باش‬‫مي‬ ‫زمان‬ ‫و‬ ‫حافظه‬ ‫تقابل‬ ،‫بندي‬‫دسته‬ ‫الگوريتمهاي‬ ‫در‬ ‫اصلي‬ ‫معضل‬ ‫اصول‬ : ‫دار‬II‫مق‬ ‫داراي‬ ‫ايي‬II‫الگوريتمه‬ .‫شود‬‫مي‬ ‫ديگري‬ ‫شدن‬ ‫قرباني‬ ‫باعث‬ ،‫دو‬ ‫اين‬ ‫از‬ ‫يکي‬ ‫در‬ ‫مناسب‬ ‫کارآيي‬ ‫به‬ ‫حصول‬ ‫و‬ ‫توجه‬ ‫ب‬II‫مناس‬ ‫ان‬II‫زم‬ ‫ه‬II‫ب‬ ‫رسیدن‬ ‫براي‬ ‫را‬ ‫زيادي‬ ‫حافظة‬ ‫نیز‬ ‫تعدادي‬ ‫و‬ ‫نامناسب‬ ‫پاسخگويي‬ ‫زمان‬ ‫مقابل‬ ‫در‬ ‫و‬ ‫معقول‬ ‫حافظة‬ ) ‫دارند‬ ‫وجود‬ ‫نیز‬ ‫حوزه‬ ‫دو‬ ‫هر‬ ‫در‬ ‫مناسب‬ ‫کارآيي‬ ‫با‬ ‫الگوريتمهايي‬ ‫اندک‬ .‫اند‬‫کرده‬ ‫اشغال‬Hicuts.( ‫رده‬I‫ک‬ ‫غالي‬II‫اش‬ ‫ة‬II‫حافظ‬ ‫اني‬II‫قرب‬ ‫را‬ ‫ان‬I‫زم‬ ‫که‬ ‫آيد‬‫مي‬ ‫حساب‬ ‫به‬ ‫الگوريتمهايي‬ ‫جزو‬ ‫تئوريک‬ ‫جنبة‬ ‫از‬ ‫خطي‬ ‫جستجوي‬ ‫ا‬II‫آنه‬ ‫و‬ ‫کند‬‫نمي‬ ‫استفاده‬ ( ‫قانونها‬ ‫ساختار‬ ‫کنار‬ ‫در‬ ) ‫اضافي‬ ‫ساختار‬ ‫هیچگونه‬ ‫از‬ ‫قانونها‬ ‫سازي‬‫ذخیره‬ ‫براي‬ ‫که‬ ‫چرا‬ ،‫است‬ ‫مرتبة‬ ‫از‬ ‫آن‬ ‫خطي‬ ‫جستجوي‬ ‫مقابل‬ ‫در‬ ،‫کند‬‫مي‬ ‫نگهداري‬ ‫لیست‬ ‫يک‬ ‫صورت‬ ‫به‬ ‫را‬O(n.‫باشد‬‫مي‬ ( IPtables‫اب‬II‫حس‬ ‫ه‬II‫ب‬ ‫ازيها‬II‫س‬‫پیاده‬ ‫از‬ ‫ته‬II‫دس‬ ‫آن‬ ‫زو‬II‫ج‬ ،‫خطي‬ ‫جستجوي‬ ‫الگوريتمهاي‬ ‫از‬ ‫سازي‬‫پیاده‬ ‫يک‬ ‫عنوان‬ ‫به‬ .‫دارد‬ ‫ضعف‬ ‫زمینه‬ ‫دو‬ ‫هر‬ ‫در‬ ‫که‬ ‫آيد‬‫مي‬ ‫سازي‬ ‫پیاده‬ ‫در‬IPtables‫چندپردازندگي‬ ‫از‬ ‫حمايت‬ ‫براي‬۱۵ ‫از‬ ‫استفاده‬ ‫از‬ ‫پرهیز‬ ‫و‬Lock‫ور‬II‫منظ‬ ‫ه‬II‫ب‬ ‫تم‬II‫سیس‬ ‫اي‬II‫ه‬ ‫ق‬II‫منط‬ ‫نفس‬ ‫و‬ ‫بیشتر‬ ‫سرعت‬ ‫به‬ ‫حصول‬ ‫و‬ ،‫ها‬‫پردازنده‬ ‫فعالیت‬ ‫همروندي‬ ‫از‬ ‫حاصل‬ ،‫شده‬ ‫ايجاد‬ ‫بحراني‬ ‫نواحي‬ ‫مديريت‬ ‫در‬ ‫موجود‬ ‫هاي‬‫انباره‬ ‫از‬ ‫کپي‬ ‫يک‬ ‫پردازنده‬ ‫هر‬ ‫ازاي‬ ‫به‬ ،‫چندپردازندگي‬IPtables‫ر‬II‫ه‬ ‫ورت‬II‫ص‬ ‫دين‬II‫ب‬ .‫ود‬II‫ش‬‫مي‬ ‫ه‬II‫تهی‬ .‫باشد‬‫مي‬ ‫مصون‬ ‫نیز‬ ‫ديگر‬ ‫هاي‬‫پردازنده‬ ‫توسط‬ ‫مزاحمت‬ ‫ايجاد‬ ‫از‬ ‫و‬ ‫کرده‬ ‫تمرکز‬ ‫خود‬ ‫متناظر‬ ‫کپي‬ ‫روي‬ ‫بر‬ ‫پردازنده‬ ‫توسط‬ ‫مصرفي‬ ‫حافظة‬ ‫توجهي‬ ‫قابل‬ ‫طرز‬ ‫به‬ ‫موضوع‬ ‫اين‬iptables‫عمل‬ ‫تنها‬ ‫اينکه‬ ‫به‬ ‫توجه‬ ‫با‬ .‫است‬ ‫داده‬ ‫افزايش‬ ‫را‬ ‫تعداد‬ ‫نمايشگر‬ ‫ها‬‫شمارنده‬ ) ‫باشد‬‫مي‬ ‫قانونها‬ ‫هاي‬‫شمارنده‬ ‫سازي‬‫هنگام‬‫به‬ ‫شود‬‫مي‬ ‫انجام‬ ‫ها‬ ‫پردازنده‬ ‫توسط‬ ‫که‬ ‫نوشتاري‬ ‫دني‬II‫خوان‬ ‫صورت‬ ‫به‬ ‫اشغالي‬ ‫فضاي‬ ‫ديگر‬ ‫از‬ ‫استفاده‬ ‫طريقة‬ ‫و‬ ( ‫باشند‬‫مي‬ ‫مربوطه‬ ‫قانون‬ ‫با‬ ‫يافته‬ ‫تطابق‬ ‫هاي‬‫بسته‬ ‫طول‬ ‫و‬ .‫باشد‬‫مي‬ ‫ضروري‬ ‫غیر‬ ،‫کامل‬ ،‫شده‬ ‫اشغال‬ ‫فضاي‬ ‫اين‬ ‫از‬ ‫زيادي‬ ‫حجم‬ ،‫باشد‬‫مي‬ ‫سازي‬‫هنگام‬‫به‬ ‫سرعت‬‫ان‬I‫فرم‬ ‫ر‬I‫ه‬ ‫دور‬II‫ص‬ .‫ود‬I‫ش‬‫مي‬ ‫ام‬I‫انج‬ ‫اربر‬II‫ک‬ ‫طح‬I‫س‬ ‫در‬ ‫ازي‬II‫س‬‫هنگام‬ ‫ه‬I‫ب‬ ‫اي‬II‫فعالیته‬ ‫ام‬I‫تم‬ : :‫باشد‬‫مي‬ ‫زير‬ ‫مراحل‬ ‫انجام‬ ‫مستلزم‬ ،‫کاربر‬ ‫جانب‬ ‫از‬ ،‫سازي‬‫هنگام‬‫به‬ ۱-‫کاربر‬ ‫سطح‬ ‫به‬ ‫هسته‬ ‫سطح‬ ‫از‬ ‫نظر‬ ‫مورد‬ ‫انبارة‬ ‫حافظة‬ ‫انتقال‬ 15 SMP: Symmetric MultiProcessor ۱۴
  • 15.
    ۲-‫انباره‬ ‫در‬ ‫شده‬‫خواسته‬ ‫تغییرات‬ ‫انجام‬ ۳-‫هسته‬ ‫سطح‬ ‫به‬ ‫شده‬ ‫هنگام‬ ‫به‬ ‫انبارة‬ ‫انتقال‬ ۴-.‫جديد‬ ‫اطلعات‬ ‫با‬ ‫قديمي‬ ‫اطلعات‬ ‫کردن‬ ‫جاگزين‬ ‫انجام‬ ‫مرتبه‬ ‫هر‬ ‫در‬ ‫حافظه‬ ‫مديريت‬ ‫پیچیدة‬ ‫فعالیتهاي‬ ‫انجام‬ ‫و‬ ‫کاربر‬ ‫و‬ ‫هسته‬ ‫سطوح‬ ‫بین‬ ‫اطلعات‬ ‫تبادل‬ ‫زياد‬ ‫حجم‬ .‫است‬ ‫داده‬ ‫کاهش‬ ‫توجهي‬ ‫قابل‬ ‫حد‬ ‫در‬ ‫را‬ ‫سازي‬‫هنگام‬‫به‬ ‫سرعت‬ ،‫تغییرات‬ ‫از‬ ‫استفاده‬ ،‫کاستي‬ ‫اين‬ ‫به‬ ‫توجه‬ ‫با‬IPtables.‫باشد‬‫نمي‬ ‫مناسب‬ ‫عنوان‬ ‫هیچ‬ ‫به‬ ‫اي‬‫محاوره‬ ‫محیط‬ ‫يک‬ ‫در‬ ‫بندي‬‫دسته‬ ‫براي‬ ‫شده‬ ‫استفاده‬ ‫فیدهاي‬ i‫د‬‫تعدا‬ ‫در‬ ‫پذیري‬‫مقیاس‬‫در‬ ‫انون‬II‫ق‬ ‫هر‬ :IPtables،‫ه‬II‫شناس‬ V‫ء‬‫ز‬II‫ج‬ ‫ه‬II‫س‬ ‫از‬ ‫ئلة‬II‫مس‬ ‫ان‬II‫هم‬ ‫وع‬II‫موض‬ ‫اين‬ ‫که‬ ‫کند‬ ‫اختیار‬ ‫را‬ ‫تطابق‬ ‫تعداد‬ ‫هر‬ ‫تواند‬‫مي‬ ‫قانون‬ ‫يک‬ .‫شود‬‫مي‬ ‫تشکیل‬ ‫پردازش‬ ‫و‬ ‫تطابقها‬ .‫باشد‬‫مي‬ ‫پذيري‬‫مقیاس‬ ‫توسعة‬ ‫ابزار‬ ‫جزو‬ ‫پردازشها‬ ‫و‬ ‫تطابقها‬ ‫ديگر‬ ‫طرف‬ ‫از‬IPtables‫در‬ ‫تغییر‬ ‫به‬ ‫نیازي‬ ‫آنها‬ ‫ساخت‬ ‫که‬ ‫شوند‬‫مي‬ ‫شناخته‬ IPtables.‫کرد‬ ‫سازي‬‫پیاده‬ ‫نیز‬ ‫را‬ ‫دلخواه‬ ‫تطابقاي‬ ‫توان‬‫مي‬ ‫نتیجه‬ ‫در‬ .‫ندارد‬ ‫شبکه‬ ‫هاي‬‫بسته‬ ‫بندي‬ ‫دسته‬ ‫امکان‬ ،‫قانون‬ ‫يک‬ ‫در‬ ،‫تعداد‬ ‫در‬ ‫محدوديت‬ ‫بدون‬ ،‫گوناگون‬ ‫تطابقهاي‬ ‫از‬ ‫استفاده‬ ‫امکان‬ .‫آورد‬‫مي‬ ‫فراهم‬ ‫را‬ ‫مختلف‬ ‫فیلدهاي‬ ‫اساس‬ ‫بر‬ ‫زيباي‬ ‫و‬ ‫مثبت‬ ‫بسیار‬ ‫پارامترهاي‬ ‫از‬ ‫يکي‬ ‫موضوع‬ ‫اين‬IPtables.‫باشد‬‫مي‬ ۱۵